Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/04/2011, 12:52
Avatar de Geekne
Geekne
 
Fecha de Ingreso: marzo-2011
Ubicación: Donde estoy? Washing you.
Mensajes: 30
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: ¿Porque me sale este error...?

Gracias (: tengo lo siguiente:

Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3. typedef struct{
  4.  
  5.     char codigop;
  6.     float presupuestop;
  7.  
  8. }cantpry;
  9.  
  10. typedef struct{
  11.    
  12.     char nombre[30];
  13.     char apellido[30];
  14.     int salariob, salariobo, salarioh;
  15. }cantemple;
  16.  
  17. typedef struct{
  18.  
  19.     char nombredepto[30];
  20.     char codigo[20];
  21.     int numeroem, numeropry;
  22.     cantemple empleados[30];
  23.     cantpry proyectos[30];
  24. }departamento;
  25.  
  26.  
  27. main(){
  28.  
  29. departamento departamentos[30];
  30.  
  31. int cantidaddeparta, i, j, k;
  32. FILE *ent;
  33.    
  34. ent=fopen("InfoDepto2.txt", "r");
  35.  
  36. fscanf(ent, "%d\n", &cantidaddeparta);
  37. printf("%d\n", cantidaddeparta);
  38.  
  39. for(i=0;i<cantidaddeparta;i++){
  40.     fscanf(ent, "\n%s", &departamentos[i].nombredepto);
  41.     printf("%s", departamentos[i].nombredepto);
  42.     fscanf(ent, " %s", &departamentos[i].codigo);
  43.     printf(" %s", departamentos[i].codigo);
  44.     fscanf(ent, " %d", &departamentos[i].numeroem);
  45.     printf(" %d", departamentos[i].numeroem);
  46.     fscanf(ent, " %d", &departamentos[i].numeropry);
  47.     printf(" %d\n", departamentos[i].numeropry);
  48.    
  49.    
  50.     for(j=0; j<departamentos[i].numeroem ; j++){
  51.         fscanf(ent, "%s", &departamentos[i].empleados[j].nombre);
  52.         printf("%s", departamentos[i].empleados[j].nombre);
  53.         fscanf(ent, " %f", &departamentos[i].empleados[j].salariob);
  54.         printf(" %f", departamentos[i].empleados[j].salariob);
  55.         fscanf(ent, " %f", &departamentos[i].empleados[j].salariobo);
  56.         printf(" %f", departamentos[i].empleados[j].salariobo);
  57.         fscanf(ent, " %f\n", &departamentos[i].empleados[j].salarioh);
  58.         printf(" %f", departamentos[i].empleados[j].salarioh); 
  59.     }
  60.  
  61.     for(k=0; k<departamentos[i].numeropry; k++){
  62.         fscanf(ent, "%s", &departamentos[i].proyectos[k].codigop);
  63.         printf("%s", departamentos[i].proyectos[k].codigop);
  64.         fscanf(ent, " %f", &departamentos[i].proyectos[k].presupuestop);
  65.         printf(" %f\n", departamentos[i].proyectos[k].presupuestop);
  66.  
  67.         /*if(departamentos[i].proyectos[k].presupuestop>departamentos[i].proyectos[k+1].presupuestop){
  68.                 aux=departamentos[i].proyectos[k].presupuestop;
  69.                 departamentos[i].proyectos[k].presupuestop=departamentos[i].proyectos[k+1].presupuestop;
  70.                 departamentos[i].proyectos[k].presupuestop=aux;
  71.         }*/
  72.  
  73.  
  74.     }
  75.  
  76. }
  77.  
  78.  
  79. fclose(ent);
  80.  
  81. }

Estoy tratando de leer el archivo. pero luego de la segunda linea (con el segundo for) me sale violacion de segmento
__________________
Software libre rocks lml