Ciao ragazzi,
ho un urgente bisogno di voi, ho questo codice dove devo ricercare una parola in un file che memorizza i dati che l'utente ha inserito precedentemente. come si fa?
codice
--------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
struct s_protocollo
{
char cliente[20];
char tipo[20];
char entrata[20];
int anno;
};
int scelta,vero,i,conto=0,numero=0;
char ipotesi[200],x, *res;
typedef struct s_protocollo proto;
proto protocollo[100];
FILE *file;
file=fopen("protocolli.txt","a+");
do
{
printf("1) Aggiungi un nuovo protocollo\n") ;
printf("2) Ricerca esatta \n") ;
printf("3) Stampa completa \n") ;
printf("0) Salva tutti i protocolli ed esci\n") ;
printf ("Inserisci scelta: ");
scanf ("%d", &scelta);
switch (scelta)
{
default:
printf("Errore");
conto++;
break;
case 0:
printf("bye");
return 0;
break;
case 1:
printf("Inserisci il tipo: ");
scanf("%s", protocollo[conto].tipo);
fprintf(file,"Tipo: %s\n",protocollo[conto].tipo);
printf("Inserisci se è cliente o fornitore: ");
scanf("%s",protocollo[conto].cliente);
fprintf(file,"Cliente o fornitore: %s\n",protocollo[conto].cliente);
printf("Inserisci se e' entrata o uscita: ");
scanf("%s",protocollo[conto].entrata);
fprintf(file,"Entrata o uscita: %s\n",protocollo[conto].entrata);
printf("Inserisci l'anno: ");
scanf("%d",&protocollo[conto].anno);
fprintf(file,"Anno: %d\n",protocollo[conto].anno);
numero++;
printf("Questo e' il numero di protocollo: %d2016\n",numero);
fprintf(file,"Numero: %d2016\n\n\n",numero);
conto++;
break;
case 2:
printf("Inserisci il tipo di protocollo: ");
scanf("%s",ipotesi);
for (i=0;i<conto;i++)
{
if(strcmp(ipotesi,protocollo[i].tipo)==0)
{
vero++;
}
if(vero==1)
{
printf("Ecco i dati del protocollo trovato: \n");
printf("Tipo di protocollo: %s\n",protocollo[i].tipo);
printf("Cliente o Fornitore: %s\n",protocollo[i].cliente);
printf("Entrata o uscita: %s\n",protocollo[i].entrata);
printf("Anno: %d\n",protocollo[i].anno);
printf("Numero di protocollo: %d2016\n",i+1);
}
if(vero==0)
{
printf("non ho trovato nessun protocollo");
}
}
break;
case 3:
while ((x = getc(file)) != EOF)
putchar(x);
break;
}
}while(scelta!=0);
}