/* Sa se scrie un program pentru actualizarea fisierului binar creat in programul FISBIN.CPP pe baza unei foi de restituire, continand: - nume depunator - suma solicitat Programul va afisa mesajele: - solicitant inexistent - suma solicitata depaseste soldul Sa se afiseze continutul fisierului. */ #include #include #include #include #include void main() { clrscr(); struct { char nume[30]; struct { int zi,luna,an; } data; long int suma; } aux,citite[20]; FILE *df; long int suma; int n; char nume[30]; char cont='D'; //deschidere fisier if ((df=fopen("pers.dat","r+b"))==0){ printf("nu se poate deschide fisierul pers.dat \n"); exit(1); } //actualizare fisier while (toupper(cont)=='D') { printf("foaie de restituire \n"); printf("numele : ");scanf("%s",nume); printf("suma : ");scanf("%ld",&suma); fseek(df,sizeof(int),0); aux.suma=-1.0; while (!feof(df) && strcmp(aux.nume,nume)!=0) fread(&aux,sizeof(aux),1,df); if(!feof(df)) if (suma>aux.suma) printf("Suma este prea mare \n"); else { aux.suma-=suma; fseek(df,ftell(df)-sizeof(aux),0); fwrite(&aux,sizeof(aux),1,df); } else printf("solicitant inexistent\n"); flushall(); printf("Doriti sa continuati ? "); scanf("%c",&cont); } fseek(df,0,0); fread(&n,sizeof(int),1,df); fread(&citite,sizeof(aux),n,df); //afisam continutul fisierului for (int i=0;i