C/Visual C - cout y gets

 
Vista:

cout y gets

Publicado por Carlos Mtz. (2 intervenciones) el 18/11/2006 23:14:11
Mi problema es muy simple, pero como apenas voy empezando con esto del C++ necesito de toda la ayuda posible :D

tengo un programa que por medio de cout muestra texto en pantalla y después lee una variable correspondiente a esa información. El problema es que no muestra el texto sino que primero me pide la variable.

un ejemplo...

cout<<"\nNombre del alumno: ";
gets(cName);
cout<<"\nNumero de registro: ";
cin>> iReg;

aqui primero me lee la variable cName sin desplegar texto, cuando le doy enter después de escribir el valor entonces sí muestra el texto de arriba. ¿Cómo puedo solucionar eso?

Lo puedo solucionar con puts para mostrar el texto en el orden correcto, pero con esa función no puedo concatenar otros valores como en cout, y necesito hacerlo. Y uso gets porque debo leer cadenas con espacios, y hasta donde yo se el cin y el cin.getline no me aceptan espacios.

Espero su respuesta, y de antemano muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:cout y gets

Publicado por Tom (17 intervenciones) el 19/11/2006 00:27:20
Pues tiene mala solución. En general no se recomienda mezclar código de stdio con código de iostream.

Tendrás que probar con std::getline() o con cin.getline()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:cout y gets

Publicado por Eduardo Negrete (76 intervenciones) el 19/11/2006 01:06:05
prueba con esto

cout<<"\nNombre del alumno: << endl";

Como que tiene que tener un retorno de carro para que te muestre lo que escribes en pantalla

Saludos!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:cout y gets

Publicado por Carlos Mtz. (2 intervenciones) el 19/11/2006 01:17:43
Ah, excelente.
Muchas gracias a ambos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar