#include<iostream>
#include<stdlib.h>
#include<fstream>
using namespace std;
void encriptacion(int k){
char
abc[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
char v1[100];
int a,b=0;
ifstream archivo; //variable del txt
ofstream guardar; //variable del txt
char texto;
archivo.open("texto plano.txt",ios::in); //Creamos el archivo
guardar.open("encriptado.txt",ios::out); //Creamos el archivo
if(archivo.fail()){ //Si a ocurrido algun error
cout<<"No se pudo abrir el archivo";
exit(1);
while(!archivo.eof()){ //Mientras no sea el final del archivp
cout<<texto;
archivo>>texto;
for (int i=0;i<27;i++){
a=(i+k)%26;
if (a<0){
a=26+a;
if(texto==abc[i]){
v1[b]= abc[a];
b++;
if (texto==',' || texto=='.' || texto==' ' ){
v1[b]= texto;
b++;
break;
cout<<endl;
cout<<" ";
for (int i=0; i<b-1; i++){
cout<<v1[i];
guardar<<v1[i];
archivo.close();
guardar.close();
void desencriptacion(int k){
char
abc[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
char v1[100];
int a,b=0;
ifstream archivo; //variable del txt
ofstream guardar; //variable del txt
char texto;
archivo.open("encriptado.txt",ios::in); //Creamos el archivo
guardar.open("desencriptado.txt",ios::out); //Creamos el archivo
if(archivo.fail()){ //Si a ocurrido algun error
cout<<"No se pudo abrir el archivo";
exit(1);
while(!archivo.eof()){ //Mientras no sea el final del archivp
archivo>>texto;
for (int i=0;i<27;i++){
a=(i-k)%26;
if(texto==abc[i]){
v1[b]= abc[a] ;
b++;
if (texto==',' || texto=='.' || texto==' ' ){
v1[b]= texto;
b++;
break;
cout<<endl;
cout<<" ";
for (int i=0; i<b-1; i++){
guardar<<v1[i];
archivo.close();
guardar.close();
}
int main(){
int k;
cout<<"Indique el valor de k: ";cin>>k;
encriptacion(k);
desencriptacion(k);
system("encriptado.txt");
system("desencriptado.txt");
return 0;