pues bueno... Tengo un problema al momento de hacer un llamado a funcion..
Imprimo el menu en pantalla, capturo la opcion y mando llamar a la funcion ke corresponde..
La funcion captura una cadena de caracteres y lod eja de hacer hasta ke le presiones enter...
Mi problema es que despues de elegir en el menu y mandar llamar la funcion correspondiente, automaticamente se presiona el enter... y no me deja capturar..
Aqui les dejo el codigo para ver si alguien me ayuda
Deje solo el codigo suficiente para ke funcione....
thx
#include <cstdio>
#include <iostream>
#include <cstdlib>
#include <conio.h>
#define multiplo 256
using namespace std;
void escribir_msg()
{
char msg[255],msg_decodificado[255],*msg_decodif,resp;
int msgascii[255],letra, *msg_codif;
int longitud, ch,i,guardar=0,*p,opcion=0,OpMenu;
cout <<"Escribe el mensaje a codificar:";
for( i = 0; (i < 255) && ((ch = getchar()) != EOF) & (ch != '\n'); i++ ) //permite meter cadenas con espacio
{
msgascii[i]=ch;//mete el valor en ascii
msg[i] = (char)ch; //mete el valor convertido a caracter
}
msg[i] = '\0';//colocamos el fin de cadena
longitud = strlen(msg); //contamos la longitud del msg
puts("\nmsg:");
for(i=0;i<longitud;i++)
{
cout<<msg[i];
}
}
main()
{
int opmenu,opcion;
system("cls");
cout<<"Seleccine una Opcion\n";
cout<<"1) Escribir Mensaje para Encriptar\n";
cout<<"2) Leer de un archivo el Mensaje para Desencriptar\n";
cout<<"3) Salir\n";
cin>>opmenu;
if(opmenu==1)
{
system("cls");
//fflush( stdout );
escribir_msg();
opcion=1;
system("pause");
}
else if(opmenu==2)
{
cout<<"Opcion2"<<endl;
opcion=1;
system("pause");
//leer_archivo();
}
else if(opmenu==3)
{
system("pause");
}
else
{
cout<<"Opcion incorrecta"<<endl;
system("pause");
opcion=0;
}
}
P.D. Tambien falla con el switch.. tmb trate con el cin.getline y trono.. al gual ke con el gets...
ThX...