Código:
#include <iostream>
#include <cstdlib>
#include <conio.h>
#include <cstdio>
#include <cstring>
using namespace std;
int op;// opcion del menu
char ts;//centinela
char texto[50];
int desp=1,tam,aux;
//funcion que cifra
void cifra()
{
cout<<"Indique el texto a cifrar: ";
gets(texto);
tam=strlen(texto);
for(int i=0;i<tam;i++)
{
aux=texto[i];
if(aux+desp>122)
{
aux=((aux+desp)-122)+96;
}
else
{
aux=aux+desp;
}
if(texto[i]!=' ')
{
texto[i]=aux;
}
}
cout<<"Texto cifrado a: "<<texto;
getch();
}
//funcion que descifra
void descifra()
{
cout<<"Indique el texto a descifrar: ";
gets(texto);
tam=strlen(texto);
for(int i=0;i<tam;i++)
{
aux=texto[i];
if(aux-desp<97)
{
aux=122-(96-(aux-desp));
}
else
{
aux=aux-desp;
}
if(texto[i]!=' ')
{
texto[i]=aux;
}
}
cout<<"Texto descifrado a: "<<texto;
getch();
}
int main()
{
do{
cout<<"| cifra un mensaje, envialo a tus contactos |"<<endl;
cout<<"| y solo ellos veran su contenido!! |"<<endl;
cout<<"|==============================================|"<<endl;
cout<<"| Que deseas hacer?? |"<<endl;
cout<<"| 1.cifra un mensaje |"<<endl;
cout<<"| 2.descifra el mensaje |"<<endl;
cout<<"| 3.Sacame de aqui |"<<endl;
cout<<"|==============================================|"<<endl<<endl;
cout<<"Ingresa tu opcion: ";
cin>>op;
system("cls");
switch (op){
case 1:
cifra();
break;
case 2:
descifra();
break;
case 3:
cout<<"Realmente deseas salir, no ";
break;
default:
cout<<"La Opcion elejida no existe. ";
break;
}
cout<<"deseas realizar otra operacion? S/N"<<endl;
cin>>ts;
system ("cls");
}while( ts=='s' || ts =='S');
return 0;
}
ese es mi codigo la cuestion esta que las funciones cifra y descifra si me funcionan si las compilo por separado, pero cuando las uso llamandolas desde el main, cuando escogo por ejemplo la opcion 1, no me permite ingresar datos. cual sera mi error??. compilenlo y pruebenlo y me cuentan sus opiniones se los agradeceria muchisimo.