Autor
|
Tema: Ayuda con estructuras anidadas (Leído 2,116 veces)
|
mari2diaz
Desconectado
Mensajes: 24
|
Cuando estoy introduciendo los datos me dice programa dejo de funcionar, si alguien puede ver mi error y decirme por favor /* Se desea registrar una estructura Persona_Empleado que contenga como miembros los datos de una persona empleado que a su vez tenga los datos de la fecha de nacimiento. En el programa se muestra el uso de la estructura, se define una función para dar entrada a los datos de la estructura y otra función para dar salida a los datos de una estructura persona. A la función de entrada se transmite por dirección (&p) la variable estructura, por lo que el argumento correspondiente tiene que ser un Ipuntero (*p) y el acceso a los campos se hace con el selector -> */ #include<stdio.h> struct fecha{ int dia, mes, año; }; struct persona{ char nombre[20]; int edad; int altura; int peso; struct fecha f; }; struct persona_empleado{ struct persona unapersona; int salario; int horas_por_semana; }; /* Prototipo de funciones */ void entrada(struct persona_empleado *p); void salida(struct persona_empleado up); void main(){ /* Define una variable persona_empleado */ struct persona_empleado p; /* Llamada a entrada() transmitiendo la direccion */ entrada(&p); /* Salida de los datos almacenados */ salida(p) ; } void entrada(struct persona_empleado *p){ printf("\nIntroduzca su nombre: "); gets(p ->unapersona. nombre); printf("Introduzca su edad: "); scanf("%d", p ->unapersona. edad); printf("Introduzca su altura: "); scanf("%d", p ->unapersona. altura); printf("Introduzca su peso: "); scanf("%d", p ->unapersona. peso); printf("Introduzca su fecha de nacimiento: "); scanf("%d %d %d", p ->unapersona. f. dia, p->unapersona.f.mes, p->unapersona.f.año); printf("Introduzca su salario: "); printf("Introduzca numero de horas"); scanf("%d", p ->horas_por_semana ); } void salida(struct persona_empleado up){ printf("\n\n\tDatos de un Empleado"); printf("\n\n\t--------------------"); printf("Nombre: %s\n", up. unapersona. nombre); printf("Edad: %d\n", up. unapersona. edad); printf("Fecha de nacimiento: %d-%d-%d", up. unapersona. f. dia, up.unapersona.f.mes, up.unapersona.f.año); printf("Altura: %d\n", up. unapersona. altura); printf("Peso: %d\n", up. unapersona. peso); printf("Salario: %d\n", up. salario); printf("Numero de horas: %d\n", up. horas_por_semana); }
|
|
« Última modificación: 20 Julio 2018, 01:05 am por mari2diaz »
|
En línea
|
|
|
|
engel lex
|
puedes indicar en que necesitas ayuda? no sabemos así sin más.... explica en todo detalle errores y dudas
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
mari2diaz
Desconectado
Mensajes: 24
|
cuando pide la edad e introduzco el dato me dice programa dejo de funcionar
|
|
|
En línea
|
|
|
|
engel lex
|
tienes multiples de errores... main siempre debe ser int y retornar 0 si todo fue bien... algunos compiladores soportan void, pero no está en el standard para los nombres de las variables no se usan caracteres no ascii como la "ñ" porque no es standard y muchos compiladores no lo soportan scanf("%d", p->unapersona.edad); esto te dará un error de segmentación de memoria (el que tienes ahorita) porque eso lleva & por delante para poder acceder a su contenido scanf("%d", &p->unapersona.edad);
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda con borrado en estructuras anidadas
Programación C/C++
|
JHodges
|
8
|
3,775
|
11 Junio 2015, 04:24 am
por rir3760
|
|
|
[Ayuda] Estructuras anidadas, registro. Lenguaje C
« 1 2 »
Programación C/C++
|
neron991
|
11
|
10,298
|
9 Julio 2015, 10:07 am
por mester
|
|
|
Estructuras anidadas en lenguaje C. -
Programación C/C++
|
NOB2014
|
3
|
4,387
|
5 Febrero 2017, 18:42 pm
por ivancea96
|
|
|
Estructuras Anidadas en C
Programación C/C++
|
Ghio97
|
5
|
2,771
|
4 Septiembre 2019, 10:22 am
por MAFUS
|
|
|
Estructuras Anidadas, dudas
Programación C/C++
|
mari2diaz
|
1
|
2,215
|
9 Febrero 2020, 00:16 am
por ivancea96
|
|