Programación General => C/C++ => Visual C++ => Mensaje iniciado por: cremix en Sábado 20 de Junio de 2009, 13:22
Título: Caracter Enter y -1
Publicado por: cremix en Sábado 20 de Junio de 2009, 13:22
Hola:
Estoy haciendo un programita en el que si introduces un -1 vas a un menu y si introduces Enter vas a otro. Sé que el Enter es el 13 pero ¿cómo puedo comparar un caracter con un entero?
Título: Re: Caracter Enter y -1
Publicado por: Eternal Idol en Sábado 20 de Junio de 2009, 15:15
Código: Text
if (elChar == (char)13)
{
}
Título: Re: Caracter Enter y -1
Publicado por: cremix en Sábado 20 de Junio de 2009, 17:49
Sigo sin poderlo conseguir.
He hecho la siguiente prueba
Código: C++
char cont;
scanf("%c",&cont);
if(cont ==(char)13)
cout<<"Es un ENTER"<< endl;
else
cout<<"Es un -1"<< endl;
Sigo sin saber como hacer el scanf para que pueda leer un -1 o un Enter y poder diferenciarlos. Por cierto, si ejecuto el codigo anterior, al introducir un ENTER, me sale la respuesta del else en vez de la del if.
Título: Re: Caracter Enter y -1
Publicado por: Eternal Idol en Sábado 20 de Junio de 2009, 18:01
Bueno, usa getchar y n (10) no r(13).
Título: Re: Caracter Enter y -1
Publicado por: cremix en Sábado 20 de Junio de 2009, 18:24
Vamos a ver. He escrito lo siguiente
Código: C++
if(getchar()==(char)10)
{
cout<<"Es un ENTER"<< endl;
}
elseif(getchar()==-1)
{
cout<<"Es un -1"<< endl;
}
else
{
cout<<"Es otro caracter"<< endl;
}
Y por fin el ENTER ya me lo reconoce. Muchas gracias. Pero, ¿que hago con el -1?
Título: Re: Caracter Enter y -1
Publicado por: Eternal Idol en Sábado 20 de Junio de 2009, 18:26
A ver, -1 tal como lo escribiste es un numero solo (255/FF para un caracter), si lo que queres es que alguien escriba "-1" entonces necesitas al menos DOS caracteres, el - y el 1 ... tal vez si plantearas el objetivo seria mas simple dar con la solucion ...
Título: Re: Caracter Enter y -1
Publicado por: cremix en Sábado 20 de Junio de 2009, 18:33
Mi codigo, no la prueba de antes, sino el del programa que estoy haciendo, tiene dos opciones: opción 1: Introducir un ENTER para ir al menu siguiente. opción 2: Introdcuir un -1 para volver al menú anterior
¿Es esto lo que querías saber?
Título: Re: Caracter Enter y -1
Publicado por: Eternal Idol en Sábado 20 de Junio de 2009, 18:52
Bueno, en este caso lo mejor me parece leer una linea:
Código: Text
char line[80];
fgets(line, sizeof(line), stdin);
if (*line == 10)
{
//enter
}
else
{
int numero = 0;
sscanf(line, "%d", &numero);
if (numero == -1)
{
//-1
}
}
Título: Re: Caracter Enter y -1
Publicado por: cremix en Sábado 20 de Junio de 2009, 19:02
Lo acabo de probar y me viene perfectamente. Muchísimas gracias. Además así también puedo saber si lo que has escrito no es ni un n o un -1. Gracias :beer: :D
Título: Re: Caracter Enter y -1
Publicado por: Eternal Idol en Sábado 20 de Junio de 2009, 19:04