Programación General > C/C++

 duda principiante!!!

(1/2) > >>

cobain21:
Bueno dias, me gustaría tener una solución para lo que abajo les describo...siempre me da problemas. Desde ya muchas gracias....Diego.

void IngresoMaquillaje (Maquillaje &maqui)//carga un maquillaje en ingresos
{
printf ("Ingrese la fecha:");
scan (maqui.fecha);
getchar();
printf ("nIngrese un comentario:");
scan (maqui.comentario);
getchar();
printf ("nIngrese el nombre del cliente:");
scan (maqui.cliente);
getchar();
printf ("nIngrese el precio:");
scanf ("%d", &maqui.precio);
getchar();
getchar();
system ("pause");
}

El problema es que en la ultima linea el "intro" me lo lee como un String y no me sale ingrese un precio sino que en precio me guarda la tecla "intro", se que tiene que ser facil de arreglar pero no me he podido dar cuenta...
Agradesco su colaboración....

Eternal Idol:
Usa fgets (con stdin) para obtener las cadenas, en el caso del numero despues aplicale un sscanf a esa cadena para obtenerlo.

Ejemplo:

--- Código: C++ ---printf ("nIngrese un comentario:");fgets(maqui.comentario, sizeof(maqui.comentario), stdin);printf ("nIngrese el precio:");char line[80];fgets(line, sizeof(line), stdin);sscanf (line, "%d", &maqui.precio); 

cobain21:
Eternal Idol: lo hice a tu manera y me compilo bien pero al momento de ejecutar el programa me tiraba error.
Lo hice de esta manera y me funcionó:


--- Código: C++ ---void IngresoMaquillaje (Maquillaje &maqui)//carga un maquillaje en ingresos{    printf ("Ingrese la fecha:");    scan (maqui.fecha);    getchar();    fflush (stdin);    printf ("nIngrese un comentario:");    fflush (stdin);    scan (maqui.comentario);    printf ("nIngrese el nombre del cliente:");    fflush (stdin);    scan (maqui.cliente);    printf ("nIngrese el precio:");    fflush (stdin);    scanf ("%d", &maqui.precio);  
Cualquier aclaracion o sugerencia viene bien!!!!
Muchas gracias por tu ayuda.

Saludos

Eternal Idol:
fflush no esta definido para flujos de entrada (como stdin) asi que no deberias usarlo. ¿Donde te daba error exactamente?

cobain21:
Haber se me podes corregir...ahi me compila bien pero se me montan las salidas :Ingresar cliente, etc y despues me dice que el programa debe cerrarse porque se produjo un error. Te escribo el codigo.

--- Código: C++ ---void IngresoMaquillaje (Maquillaje &maqui)//carga un maquillaje en ingresos{    printf ("Ingrese la fecha:");    fgets (maqui.fecha, sizeof (maqui.fecha), stdin);    getchar();    printf ("nIngrese un comentario:");    fgets(maqui.comentario, sizeof(maqui.comentario), stdin);    printf ("nIngrese un cliente:");    fgets(maqui.cliente, sizeof(maqui.cliente), stdin);    printf ("nIngrese el precio:");    char line[80];    fgets(line, sizeof(line), stdin);    sscanf (line, "%d", &maqui.precio);} 
Gracias

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa