#include <iostream>
#include "Cifrado.h"
using namespace std;
int main(void)
{
Cifrado *obj = new Cifrado();
int cla;
string msg;
cout << "=============== CIFRADO CESAR ===============" << endl;
cout << "Digite mensaje: \t";
getline(cin, msg);
obj->setMensaje(msg);
cout << "Digite clave: ";
cin >> cla;
obj->setClave(cla);
obj->cifradoCesar();
cout << "Mensaje cifrado: \t" << obj->getMensaje() << endl;
}
#ifndef CIFRADO_H
#define CIFRADO_H
#include
using namespace std;
class Cifrado
{
public:
Cifrado();
virtual ~Cifrado();
void cifradoCesar();
void setClave(int n);
int getClave();
void setMensaje(string n);
string getMensaje();
protected:
private:
int clave;
string mensaje;
};
#endif
#include "Cifrado.h"
Cifrado::Cifrado()
{
clave = 0;
mensaje = " ";
}
Cifrado::~Cifrado()
{
}
void Cifrado::cifradoCesar()
{
for (int i = 0, j = mensaje.size(); i < j; i++)
{
if (islower(mensaje[i]) && isalpha(mensaje[i]))
{
mensaje[i] = (mensaje[i] - 'a' + clave) % 26 + 97;
}
else if (isupper(mensaje[i]) && isalpha(mensaje[i]))
{
mensaje[i] = (mensaje[i] - 'A' + clave) % 26 + 65;
}
}
}
void Cifrado::setClave(int n)
{
clave = n;
}
int Cifrado::getClave()
{
return clave;
}
void Cifrado::setMensaje(string n)
{
mensaje = n;
}
string Cifrado::getMensaje()
{
return mensaje;
}