Programación General > C/C++
duda principiante!!!
Eternal Idol:
¿Que compilador usas? Esto me funciona:
--- Código: C++ ---#include <stdio.h> typedef struct _Maquillaje{ char fecha[16]; char comentario[16]; char cliente[16]; int precio;}Maquillaje; void IngresoMaquillaje (Maquillaje &maqui)//carga un maquillaje en ingresos{ printf ("Ingrese la fecha:"); fgets (maqui.fecha, sizeof (maqui.fecha), stdin); 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);} void main(){ Maquillaje m; IngresoMaquillaje(m); printf("rn"); printf("fecha %s comentario %s cliente %s precio %drn", m.fecha, m.comentario, m.cliente, m.precio);}
player_:
Y por qué el getchar() del primer código no lo sustituyes por un while(getchar() != 'n');?
cobain21:
Uso el code blocks.
--- Citar ---Y por qué el getchar() del primer código no lo sustituyes por un while(getchar() != 'n');?
--- Fin de la cita ---
probe de esta forma, me compila bien pero se me cuelga tambien cuando ingreso la segunda linea.
yo lo tengo asi en modulos diferentes:
--- Código: C++ ---typedef struct { String fecha; String comentario; String cliente; int precio;}Maquillaje;
el "String" lo tengo hecho en otro modulo y es para que me lea he imprima las cadenas de texto, no creo que haga falta poner el codigo del String para que lo vean. El scan guarda y el print imprime.
--- Código: C++ ---void IngresoMaquillaje (Maquillaje &maqui)//carga un maquillaje en ingresos{ printf ("Ingrese la fecha:"); fgets (maqui.fecha, sizeof (maqui.fecha), stdin); while(getchar() != 'n'); 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);}
Asi fue de la unica manera que me funciono: pero he leido que no es recomendado su uso:
--- Código: C++ ---void IngresoDepilacion (Depilacion &depi)//carga un maquillaje en ingresos{ printf ("Ingrese la fecha:"); scan (maqui.fecha); getchar(); fflush (stdin);//sirve para limpiar el buffer del teclado y que no me quede el "enter" guardado 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);}
Navegación
[*] Página Anterior
Ir a la versión completa