Código C:
Ver original
#include <stdlib.h> #include <stdio.h> #include <string.h> #define LEE_CAR(c)\ c=getchar();\ while((c=='\n') || (c==' ') || (c=='\t'))\ c=getchar(); #define LEE_CAD(c,n) { int i=0;\ c[i]=getchar();\ while((c[i]=='\n') || (c[i]=='\t')) c[i]=getchar();\ while((c[i]!='\n') && (i<(n-1))){ \ i++;\ c[i]=getchar(); }\ c[i]='\0';} typedef struct{ char num_dorsal[3]; char equipo[50]; char nom[50]; char ape[50]; char nacionalidad[50]; float tiempo_acum; }ciclista; void alta_ciclista (FILE *); void modif_fich (FILE *); float total_tiempos (FILE *); int main(){ char op; FILE *pf; do{ LEE_CAR(op); switch(op){ case 'a': case 'A': {alta_ciclista(pf); break;} case 'b': case 'B': {modif_fich(pf); break;} case 't': } }while((op != 's') && (op != 'S')); if(pf != NULL) } void alta_ciclista(FILE *d){ ciclista participante; LEE_CAD(participante.equipo, 50); LEE_CAD(participante.nom, 50); LEE_CAD(participante.ape, 50); LEE_CAD(participante.nacionalidad, 50); } void modif_fich(FILE *d){ char op; char num_dorsal[3]; ciclista parti; int comp; FILE *aux; if(comp == 0){ printf("%s\n%s\n%s\n%s\n%s\n%.2f\n", parti.num_dorsal, parti.equipo, parti.nom, parti.ape, parti.nacionalidad, parti.tiempo_acum); LEE_CAR(op); if((op=='s') || (op=='S')){ } else{ } } else{ } } } float total_tiempos(FILE *d){ ciclista parti; float total=0.0; total+=parti.tiempo_acum; } }
Cuando lo compilo y le doy a la t para que me saque la suma de los tiempos me sale lo siguiente: El total de los tiempos es: nan