Programación General > C/C++
Structs anidados, errores al compilar.
(1/1)
hectornaruto:
Antes he de decir que he empezado hace una semana y aun no tengo mucha idea de la programación en c pero lo intento.
Por más que busco no encuentro el/los errores en las lineas que me dice el compilador, lo mas seguro es que sea por mi ignorancia.
Este es el código:
--- Código: C ---// ejstruct.c---------------------Práctica de structs anidados----------------------------------------------- #include <stdio.h> struct fecha{ unsigned int dia, mes, anyo;}; struct persona{ char nombre[20]; unsigned int edad; int altura; int peso; struct fecha fec;}; struct persona-empleado{ struct persona unapersona; unsigned int salario; unsigned int horas_por_semana;}; // Prototipos de funciones void entrada(struct persona-empleado *p);void muestra(struct persona-empleado up); void main() {// define una variable persona-empleadostruct persona-empleado p; // llamada a entrada() transmitiendo la direccionentrada(&p); //salida de los datos almacenadosmuestra(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 fecha de nacimiento: "); scanf("%d %d %d", &p->unapersona.fec.dia, &p->unapersona.fec.mes, &p->unapersona.fec.anyo); printf("Introduzca su salario: "); scanf("%d", &p->salario); printf("Introduzca numero de horas: "); scanf("%d", &p->horas_por_semana);} void muestra(struct persona-empleado up){ puts("nntDatos de un empleado"); puts("nnt_____________________"); printf("Nombre: %s n",up.unapersona.nombre); printf("Edad: %d n",up.unapersona.edad); printf("fecha de nacimiento: %d-%d-%dn", up.unapersona.fec.dia, up.unapersona.fec.mes, up.unapersona.fec.anyo); printf("Altura: %d n", up.unapersona.altura); printf("Peso: %d n", up.unapersona.peso); printf("Numero de horas: %d n", up.horas_por_semana);}
Aparecen muchos errores al intentar compilar:
--- Código: Text ---hector@hector-laptop:~/C$ gcc -o ejstruct ejstruct.cejstruct.c:17: error: expected identifier or ‘(’ before ‘-’ tokenejstruct.c:26: error: expected ‘;’, ‘,’ or ‘)’ before ‘-’ tokenejstruct.c:27: error: expected ‘;’, ‘,’ or ‘)’ before ‘-’ tokenejstruct.c: In function ‘main’:ejstruct.c:33: error: expected identifier or ‘(’ before ‘-’ tokenejstruct.c:36: error: ‘p’ undeclared (first use in this function)ejstruct.c:36: error: (Each undeclared identifier is reported only onceejstruct.c:36: error: for each function it appears in.)ejstruct.c: At top level:ejstruct.c:42: error: expected ‘;’, ‘,’ or ‘)’ before ‘-’ tokenejstruct.c:56: error: expected ‘;’, ‘,’ or ‘)’ before ‘-’ token
Por si es de interes el ejemplo es de un libro de Joyanes.
Mi S.O es Ubuntu 10.04.
Gracias de antemano =D
Navegación
Ir a la versión completa