Salve ragazzi ho questo problema: il programma creato fa il suo dovere ma va in loop quando deve stampare delle informazioni. Di seguito posto il codice:
codice:
#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");
          }
            }
Aiutatemi