Hola Buenas, el problema es que en mi código en la
LINEA 20,cin.getline pasa de largo y no ejecuta la instrucción de leer, ya he depurado el código con Dev C++ pero es realmente extraño.
El error
ÚNICAMENTE SUCEDE al escoger primero la opción 2 y después intentar con la 1.
Aquí esta la porción de código.
while (Opcion!=3)
{
cout<<"Menu Principal\n\n";
cout<<"1. Ingresar a Facebook";
cout<<"2. Crear una cuenta"<<endl;
cout<<"3. Salir\n\n\n";
CharOp=getch();//Lee un caracter sin presionar enter y sin mostrarlo en pantalla
if (CharOp=='1')
{
Opcion=1;//Se Decrara para mantener la condicion while principal
system("cls");
Intentos=0;
while (Intentos!=3)
{
gotoxy(30,10);cout<<"Usuario: ";
cin.getline(User,10,'\n');
Validacion=BuscarLista(&ListaUsuarios, User, 1);//Validacion Se Encarga de ver si el Usuario Existe,
if ( Validacion==false )
{
gotoxy(39,12);cout<<"ID no encontrada!!!"<<endl;
Sleep(1500);
//Borra Los Espacios Incorrectos Para Un Nuevo Intento
gotoxy(39,10);cout<<" ";
gotoxy(39,12);cout<<" ";
gotoxy(28,10);textcolor(12);cout<<char(219);
Intentos+=1;
}
else
Intentos=3;
}
}
if (CharOp=='2')
{
Opcion=2;//Se Decrara para mantener la condicion while principal
cout<<"Nombre: ";
cin.getline(CuentaNueva.Nombre, 20,'\n');
cout<<"ID: ";
cin.getline(CuentaNueva.ID, 10,'\n');
cout<<"Contrase"<<char(164)<<"a: ";
cin.getline(CuentaNueva.Contrasenia, 10,'\n');
cout<<"Genero (M - F): ";//AQUI ESTA EL ERROR????
cin>>CuentaNueva.Genero;
cout<<"Edad: ";
cin>>CuentaNueva.Edad;
cout<<"Documento: ";
cin>>CuentaNueva.Documento;
InsertarFinal(&ListaUsuarios, CuentaNueva);
}
if (CharOp=='3')
Opcion=3;//Se Decrara para mantener la condicion while principal
system("cls");
}
Si no me hago entender por favor descarguen el ejecutable
https://mega.co.nz/#!Btx2URJb!Dsr7oOEZx5RfvQkVlEAAv5gSw40uD2FEw-Uxh1mQJ9IAqui el link del codigo
https://mega.co.nz/#!owZQHZjB!QLbJo-EUYFfucYX2Mnn2GoBqzA56PLwqa1BYo4996Fs