• Martes 14 de Mayo de 2024, 23:43

Autor Tema:  Caracter Enter y -1  (Leído 3215 veces)

cremix

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Caracter Enter y -1
« en: Sábado 20 de Junio de 2009, 13:22 »
0
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?

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Caracter Enter y -1
« Respuesta #1 en: Sábado 20 de Junio de 2009, 15:15 »
0
Código: Text
  1. if (elChar == (char)13)
  2. {
  3. }
  4.  

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

cremix

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Re: Caracter Enter y -1
« Respuesta #2 en: Sábado 20 de Junio de 2009, 17:49 »
0
Sigo sin poderlo conseguir.

He hecho la siguiente prueba

Código: C++
  1.  
  2. char cont;
  3.  
  4. scanf("%c",&cont);
  5.  
  6. if(cont == (char)13)
  7.   cout << "Es un ENTER" << endl;
  8. else
  9.   cout << "Es un -1" << endl;
  10.  

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.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Caracter Enter y -1
« Respuesta #3 en: Sábado 20 de Junio de 2009, 18:01 »
0
Bueno, usa getchar y n (10) no r(13).

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

cremix

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Re: Caracter Enter y -1
« Respuesta #4 en: Sábado 20 de Junio de 2009, 18:24 »
0
Vamos a ver. He escrito lo siguiente

Código: C++
  1. if(getchar() == (char) 10)
  2.  {
  3.   cout << "Es un ENTER" << endl;
  4.  }
  5.  else if(getchar() == -1)
  6.  {
  7.    cout << "Es un -1" << endl;
  8.  }
  9.  else
  10.  {
  11.      cout << "Es otro caracter" << endl;
  12.  }
  13.  

Y por fin el ENTER ya me lo reconoce. Muchas gracias. Pero, ¿que hago con el -1?

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Caracter Enter y -1
« Respuesta #5 en: Sábado 20 de Junio de 2009, 18:26 »
0
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 ...

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

cremix

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Re: Caracter Enter y -1
« Respuesta #6 en: Sábado 20 de Junio de 2009, 18:33 »
0
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?

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Caracter Enter y -1
« Respuesta #7 en: Sábado 20 de Junio de 2009, 18:52 »
0
Bueno, en este caso lo mejor me parece leer una linea:

Código: Text
  1. char line[80];
  2. fgets(line, sizeof(line), stdin);
  3. if (*line == 10)
  4. {
  5.   //enter
  6. }
  7. else
  8. {
  9.   int numero = 0;
  10.   sscanf(line, "%d", &numero);
  11.   if (numero == -1)
  12.   {
  13.     //-1
  14.   }
  15. }
  16.  

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

cremix

  • Nuevo Miembro
  • *
  • Mensajes: 23
    • Ver Perfil
Re: Caracter Enter y -1
« Respuesta #8 en: Sábado 20 de Junio de 2009, 19:02 »
0
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

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Caracter Enter y -1
« Respuesta #9 en: Sábado 20 de Junio de 2009, 19:04 »
0
De nadas  B)

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.