Programación General > C/C++

 duda principiante!!!

<< < (2/2)

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

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa