Foros del Web » Programación para mayores de 30 ;) » C/C++ »

¿Porque me sale este error...?

Estas en el tema de ¿Porque me sale este error...? en el foro de C/C++ en Foros del Web. tengo el siguiente codigo: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código C: Ver original #include <stdio.h> #include <string.h>   typedef salario [ 10 ] ; typedef struct {   ...
  #1 (permalink)  
Antiguo 10/04/2011, 17:31
Avatar de Geekne  
Fecha de Ingreso: marzo-2011
Ubicación: Donde estoy? Washing you.
Mensajes: 30
Antigüedad: 13 años, 1 mes
Puntos: 0
¿Porque me sale este error...?

tengo el siguiente codigo:

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. typedef salario[10];
  5. typedef struct{
  6.  
  7.     char codigop;
  8.     float presupuestop;
  9.  
  10. }cantpry[20];
  11.  
  12. typedef struct{
  13.    
  14.     char nombre[30];
  15.     char apellido[30];
  16.     salario pagose;
  17. }cantemple;
  18.  
  19. typedef struct{
  20.  
  21.     char nombredepto[30];
  22.     char codigo[20];
  23.     cantemple empleados;
  24.     cantpry proyectos;
  25. }departamentos;
  26.  
  27.  
  28. main(){
  29.  
  30. int cantidaddeparta, i;
  31. FILE *ent;
  32. departamentos depar[20];
  33.    
  34. ent=fopen("InfoDepto.txt", "r");
  35.  
  36. fscanf(ent, "%d\n", &cantidaddeparta);
  37. printf("\n%d\n", cantidaddeparta);
  38.  
  39. for(i=0;i<=cantidaddeparta;i++){
  40.     fscanf(ent, "%s", &depar.nombredepto);
  41. }
  42.  
  43. fclose(ent);
  44.  
  45. }

&e sale este error: error: request for member ‘nombredepto’ in something not a structure or union

Porque sera?
__________________
Software libre rocks lml
  #2 (permalink)  
Antiguo 10/04/2011, 18:58
 
Fecha de Ingreso: julio-2010
Mensajes: 153
Antigüedad: 13 años, 9 meses
Puntos: 1
Respuesta: ¿Porque me sale este error...?

depar[i].nombredepto
  #3 (permalink)  
Antiguo 11/04/2011, 12:52
Avatar de Geekne  
Fecha de Ingreso: marzo-2011
Ubicación: Donde estoy? Washing you.
Mensajes: 30
Antigüedad: 13 años, 1 mes
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

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:20.