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

[0] Índice de Mensajes

Ir a la versión completa