Título: Imprimir array de Structs Publicado por: dennis094 en 16 Enero 2014, 00:41 am Buenas,
tengo una ejercicio sobre structs bastante simple, solo tengo que leer unas cuantas personas por teclado (nombre apellidos y sexo) e imprimirlos... la cosa es que no lo consigo xD La cosa es que yo quiero indicar cuantas personas quiero dar de alta, introducir sus datos, e ir guardando cada persona con sus atributos en un array de personas, para mas adelante imprimir ese array. os dejo el codigo: Código: /* El fallo esta claramente en que la persona "p" que doy de alta en la funcion "leer", no se guarda correctamente en el array de personas, quiza es que esa no sea la sintaxis correcta para agregar a la persona que he creado a mi array. Un saludo, espero vuestra ayuda. Título: Re: Imprimir array de Structs Publicado por: rir3760 en 16 Enero 2014, 02:39 am Lo primero que debes hacer es evitar el uso de gets y fflush(stdin), las razones de ello se explican en el tema |Lo que no hay que hacer en C/C++. Nivel basico| (http://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.html).
El problema se debe (como indicas) a que la sintaxis que utilizas en la función "leer" no es la correcta. En esa función no necesitas de una variable auxiliar ya que puedes utilizar directamente el elemento del array "arrayPersonas". Si incluimos el encabezado <string.h> y modificamos la función: Código El programa funcionara correctamente. Por ultimo hay que eliminar la variable "p": Código Ya que no se utiliza en el programa. Un saludo Título: Re: Imprimir array de Structs Publicado por: dennis094 en 16 Enero 2014, 23:22 pm Joer, que sencillo, simplemente guardar la entrada de teclado en el array directamente, nose porque me empeñe en guardarlo dentro de una persona, y luego intentar agregar a esa persona al array... supongo que estaria cansado ya y no lo veia jajajaja
Por curiosidad, ¿en c hay alguna funcion como en java con la funcion "puts" que te permitia agregar un objeto (en este caso un struct) al array? Muchas gracias ;) Título: Re: Imprimir array de Structs Publicado por: rir3760 en 17 Enero 2014, 02:09 am ¿en c hay alguna funcion como en java con la funcion "puts" que te permitia agregar un objeto (en este caso un struct) al array? No.En C la operación debe hacerse manualmente, lo usual es tener un array del tamaño "apropiado" y un contador del numero de elementos utilizados. Para agregar el elemento simplemente se asigna y se incrementa el contador, por ejemplo: Código
Un saludo |