- Alta de nuevas facturas.
- Comprobar una ficha y modificarla.
- Facturación total o de un solo abonado.
- Borrar el fichero.
Código C:
Ver original
#include <stdio.h> #include <stdlib.h> #include <string.h> /*LEE_CAD permite escribir los nombres con espacios en blanco*/ #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]='\0';} typedef struct{ char tel[10]; char nom_completo[100]; float fact; }abonado; void alta_fact(FILE *); void modif_fich(FILE *); void mostrar_todo(FILE *); float fact_total(FILE *); float fact_uno(FILE *); int main(){ char op; FILE *pf; do{ printf("a--> Alta\n b--> Buscar/Modificar ficha\n f--> Factura abonado\n t--> Factura Total\n x--> Borrar Fichero y salir\n"); LEE_CAR(op); switch(op){ case 'a': case 'A':{alta_fact(pf); break;} case 'b': case 'B':{modif_fich(pf); break;} case 'm': case 'M':{mostrar_todo(pf); break;} case 'f': case 't': case 'x': } }while((op != 's') && (op != 'S')); if(pf != NULL) } void alta_fact(FILE * d){ abonado cliente; LEE_CAD(cliente.nom_completo, 100); } void modif_fich(FILE * d){ char op; char tel[10]; abonado cl; int comp; FILE * aux;/*Fichero auxiliar por si modifica la ficha del abonado*/ if(comp == 0){ LEER_CAR(op); if((op == 's') || (op == 'S')){ } else{ } } else{ } } } void mostrar_todo(FILE * d){ abonado cl; } } float fact_total(FILE * d){ abonado cl; float total=0.0; total+=cl.fact; } return(total); } float fact_uno(FILE * d){ char tel[10]; abonado cl; int comp; float total; } if(comp == 0) total=cl.fact; else{ total = -1; } return(total); }
Cuado lo compilo me da el siguiente error: En la función ‘alta_fact’: 167: error: expected declaration or statement at end of input. Sin embargo lo he revisado bien y yo no veo que le falte ninguna llave.