Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/07/2010, 11:14
Avatar de Mercality
Mercality
 
Fecha de Ingreso: junio-2010
Mensajes: 19
Antigüedad: 13 años, 10 meses
Puntos: 0
Error en estructura(no semiclon at end of struct)

He hecho un programa con estructuras que me pide ciertos datos sobre la cantidad de alumnos que desee ingresar.

Pero ahora tengo el siguiente problema, he terminado el programa, y cuando voy a compilar, pues corrijo los errores habituales, que si parentesis que si & que si ; pero bueno, ahora me encuentro con esta serie de problemas.
Código:
C:\Users\Mercality\Documents\Algoritmos cpp\structs.c:11: warning: no semicolon at end of struct or union

C:\Users\Mercality\Documents\Algoritmos cpp\structs.c:11: error: syntax error before '=' token

C:\Users\Mercality\Documents\Algoritmos cpp\structs.c:14: error: syntax error before '}' token

C:\Users\Mercality\Documents\Algoritmos cpp\structs.c:17: warning: no semicolon at end of struct or union

C:\Users\Mercality\Documents\Algoritmos cpp\structs.c:17: error: syntax error before '=' token

C:\Users\Mercality\Documents\Algoritmos cpp\structs.c:21: error: syntax error before '}' token

C:\Users\Mercality\Documents\Algoritmos cpp\structs.c:29: error: field `sex' has incomplete type

C:\Users\Mercality\Documents\Algoritmos cpp\structs.c:30: error: field `espe' has incomplete type

C:\Users\Mercality\Documents\Algoritmos cpp\structs.c: In function `main':

C:\Users\Mercality\Documents\Algoritmos cpp\structs.c:63: error: case label not within a switch statement

C:\Users\Mercality\Documents\Algoritmos cpp\structs.c:83: error: case label not within a switch statement

C:\Users\Mercality\Documents\Algoritmos cpp\structs.c:88: error: case label not within a switch statement

C:\Users\Mercality\Documents\Algoritmos cpp\structs.c:110: error: syntax error at end of input

Ejecución Terminada
Me imagino que los errores en los CASE se originan a partir de los errores en sexo y especialidad.
Me podrían decir en que estoy fallando?
Aqui mi codigo.
Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.        struct fecha {
  5.               int dia;
  6.               int mes;
  7.               int anio;
  8.               };
  9.        struct sexo {
  10.               int op;
  11.               char masculino[] = "Masculino";
  12.               char femenino[] = "Femenino";
  13.               char sexoa[10];
  14.               };
  15.        struct especialidad {
  16.               int opc;
  17.               char inf[] = "Informatica";
  18.               char adm[] = "Administracion";
  19.               char agr[] = "Agroalimentaria";
  20.               char esp[15];
  21.               };
  22.        struct alumno {
  23.               long cedula;
  24.               char nombre[40];
  25.               char apellido[40];
  26.               char direccion[100];
  27.               int telefono;
  28.               struct fecha fecha_nac;
  29.               struct sexo sex;
  30.               struct especialidad espe;
  31.               float prom;
  32.               char ciudadn[50];
  33.               char estadon[50];
  34.               };
  35.        struct alumno alumnos[100];
  36.        
  37.        main() {
  38.               int i,n;
  39.               system("CLS");
  40.               printf("Introduzca el numero de alumnos a almacenar:");
  41.               scanf("%d",&n);
  42.              
  43.               for (i=0; i<n; i++) {
  44.                   printf("\nDatos del alumno #%d\n", i+1);
  45.                   printf("Cedula: ");
  46.                   scanf("%ld",&alumnos[i].cedula);
  47.                   printf("Nombre: ");
  48.                   scanf("%s",&alumnos[i].nombre);
  49.                   printf("Apellido: ");
  50.                   scanf("%s",&alumnos[i].apellido);
  51.                   printf("Direccion: ");
  52.                   gets(alumnos[i].direccion);
  53.                   printf("Telefono: ");
  54.                   scanf("%d",&alumnos[i].telefono);
  55.                   printf("Sexo:\n");
  56.                   printf("1.)Masculino\n2.)Femenino");
  57.                   scanf("%d",&alumnos[i].sex.op);
  58.                   switch (alumnos[i].sex.op)
  59.                   case 1:{
  60.                        strcpy(alumnos[i].sex.sexoa,alumnos[i].sex.masc);
  61.                        }
  62.                        break;
  63.                   case 2:{
  64.                        strcpy(alumnos[i].sex.sexoa,alumnos[i].sex.fem);
  65.                        }
  66.                        break;
  67.                   printf("Fecha de nacimiento:\n");
  68.                   printf("Dia: ");
  69.                   scanf("%d",&alumnos[i].fecha_nac.dia);
  70.                   printf("Mes: ");
  71.                   scanf("%d",&alumnos[i].fecha_nac.mes);
  72.                   printf("Anio: ");
  73.                   scanf("%d",&alumnos[i].fecha_nac.anio);
  74.                   printf("Especialidad:\n");
  75.                   printf("1.)Informatica\n2.)Administracion\n3.)Agroalimentaria");
  76.                   scanf("%d",&alumnos[i].espe.opc);
  77.                   switch (alumnos[i].espe.opc)
  78.                   case 1:{
  79.                        strcpy(alumnos[i].espe.esp,alumnos[i].espe.inf);
  80.                   }
  81.                        break;
  82.                   case 2:{
  83.                        strcpy(alumnos[i].espe.esp,alumnos[i].espe.adm);
  84.                        break;
  85.                   }
  86.                   case 3:{
  87.                        strcpy(alumnos[i].espe.esp,alumnos[i].espe.agr);
  88.                   }
  89.                        break;
  90.                   printf("Promedio: ");
  91.                   scanf("%f",&alumnos[i].prom);
  92.                   printf("Ciudad de nacimiento: ");
  93.                   gets(alumnos[i].ciudadn);
  94.                   printf("Estado de nacimiento: ");
  95.                   gets(alumnos[i].estadon);
  96.                   printf("\nDatos Almacenados\n");
  97.                  
  98.                     for (i=0; i<n; i++) {
  99.                       printf("Cedula: %ld\nNombre: %s\nApellido: %s\n",alumnos[i].cedula,alumnos[i].nombre,alumnos[i].apellido);
  100.                       printf("Direccion: %s\nTelefono:%d\n",alumnos[i].direccion,alumnos[i].telefono);
  101.                       printf("Sexo: %s\n",alumnos[i].sex.sexoa);
  102.                       printf("Fecha de nacimiento: %d/%d/%d\n",alumnos[i].fecha_nac.dia,alumnos[i].fecha_nac.mes,alumnos[i].fecha_nac.anio);
  103.                       printf("Especialidad: %s\nPromedio: %f\n",alumnos[i].espe.esp,alumnos[i].prom);
  104.                       printf("Ciudad de nacimiento: %s\nEstado de nacimiento: %s",alumnos[i].ciudadn,alumnos[i].estadon);
  105.                       }
  106.                       system("PAUSE");
  107.        
  108. }