Foros del Web » Programación para mayores de 30 ;) » Programación General »

C++ (cin.get() y getch())(¿Diferencia?)

Estas en el tema de C++ (cin.get() y getch())(¿Diferencia?) en el foro de Programación General en Foros del Web. Buenas a todos los informaticos. Me dirijo de nuevo a ustedes para ver si me podrian resolver una duda, ahora se trata de c y ...
  #1 (permalink)  
Antiguo 02/01/2004, 05:10
 
Fecha de Ingreso: abril-2002
Mensajes: 116
Antigüedad: 22 años
Puntos: 0
Exclamación C++ (cin.get() y getch())(¿Diferencia?)


Buenas a todos los informaticos. Me dirijo de nuevo a ustedes para ver si me podrian resolver una duda, ahora se trata de c y c++. Vamos a ver, se que tanto cin.get como getch, matienen la pantalla parada para que se pueda visualizar lo que hay en ella, por lo tanto yo pregunte que cual era la diferencia entre las dos funciones, a lo que me respondieron que getch() se usaba en c y cin.get() era una funcion de C++.

Yo como soy nuevo programando en C++, pues me quede tan satisfecho de la respuesta, que en teoria me habia dado un entendido en el tema, me habia dado, y segui usando solo cin.get().

Mi sorpresa surgio cuando tenia un problemilla en el que en un Switch con varias opciones, al elegir una en la que me tenia que mostrar los resultados de un bucle, con la funcion cin.get no me lo mantenia, probe con getch() y si que mo hizo, asi que ahora si que estoy perdido.

Si alguien que sepa cual es la diferencia entre una y otra me lo puede comunicar, le estaria muy agradecido.

Muchas Gracias.

AAAAAA por si les vale de ayuda, el codigo era el siguiente:

switch(Codigo)
{
case 65:
case 97:
Sentencias...
break;
case 66:
case 98:
Sentencias...
break;
case 67:
case 99:
Sentencias
break;
case 68:
case 100:
clrscr();
j++;
do
{
cout << Nuevo[j].Nombre << ' ' << Nuevo[j].Telefono << endl;
j++;
}while(j <= i);
//cin.get();
getch();
break;
default:
cout << "HAS SELECCIONADO UNA OPCION INCORRECTA." << endl;
cin.get();
Menu();
return false;
break;
}

Muchas Gracias a todos
  #2 (permalink)  
Antiguo 06/01/2004, 12:01
 
Fecha de Ingreso: abril-2002
Mensajes: 116
Antigüedad: 22 años
Puntos: 0
Nadie????

Nadie sabria ayudarme en esta pregunta........
  #3 (permalink)  
Antiguo 06/01/2004, 13:48
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Solo he usado el cin normalito y el getch (soy mas de C normalito).

Solo te puedo decir que la funcion del getch() es la de tomar un caracter del teclado y no mostrarlo en pantalla, por eso da la impresion de una pausa.

Si haces algo como "char x = getch();" podrás conocer el caracter que presionaste. Aunque anda con cuidado, en todos los libros de C++ recomiendan no mezclar sentencias e/s de C con las de C++, incluso en linux el gets() se indica como muy poco recomendable.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #4 (permalink)  
Antiguo 08/01/2004, 05:40
 
Fecha de Ingreso: abril-2002
Mensajes: 116
Antigüedad: 22 años
Puntos: 0
* * * Muchas Gracias * * *

Muchas gracias por tu explicacion y por el consejo de no mezclar instrucciones de C y C++. Lo tendre en cuenta.

Muy amable.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:36.