Salve ragazziho questo problema: il programma creato fa il suo dovere ma va in loop quando deve stampare delle informazioni. Di seguito posto il codice:
Aiutatemicodice:#include <stdio.h> #include <string.h> void scrivi(); void cerca(); struct azienda{ char nome[20]; char cognome[20]; int stipendio; int eta; }dipendente; FILE *p; char r,nome1[20]; int main(int argc,char*argv[]){ scrivi(); cerca(); system ("pause"); return 0; } void scrivi(){ p=fopen("Dipendente.txt","w"); if(p!=NULL) { do { printf("Inserire nome: "); scanf("%s",&dipendente.nome); printf("Inserire cognome: "); scanf("%s",&dipendente.cognome); printf("Inserire stipendio: "); scanf("%d",&dipendente.stipendio); printf("Inserire eta': "); scanf("%d",&dipendente.eta); fprintf(p,"% s % s % d % d \n",dipendente.nome,dipendente.cognome,dipendente.stipendio,dipendente.eta); do { printf("Si vuole uscire dall'inserimento?"); scanf("%s",&r); }while(r!='n' && r!='s'); }while(r=='n'); fclose(p); } else{ printf("Errore"); } } void cerca(){ p=fopen("Dipendente.txt","r"); if(p!=NULL){ printf("Inserire nome del dipendente da cercare: "); scanf("%s",&nome1); fscanf(p,"% s % s % d % d \n",dipendente.nome,dipendente.cognome,dipendente.stipendio,dipendente.eta); while(!feof(p)){ if(!strcmp(nome1,dipendente.nome)){ printf("Il dipendente %s %s\n ha reddito di %d\n di eta' %d\n ",dipendente.nome,dipendente.cognome,dipendente.stipendio,dipendente.eta); } fscanf(p,"% s % s % d % d \n",dipendente.nome,dipendente.cognome,dipendente.stipendio,dipendente.eta); } fclose(p); } else{ printf("Errore"); } }![]()

ho questo problema: il programma creato fa il suo dovere ma va in loop quando deve stampare delle informazioni. Di seguito posto il codice:
Rispondi quotando