Sto cercando di aiutarmi con questo, la base è sempre la stessa
#include <stdio.h>
#include <conio.h>
#include <string.h>
struct giocatore{
char nome[20];
char cognome [20];
int anno;
int numero;
char ruolo[20];
};
giocatore calcio;
void cancella();
void ricerca();
void stampa();
void inserisci();
FILE *pippo;
int main(){
int scelta;
for(;;){
printf("\n giocatori di calcio \n");
printf("\n1) canc tutto");
printf("\n2) visualizza elenco");
printf("\n3 inserimento giocatore\n");
printf("\n4) ricerca giocatore\n");
printf("\n0) Fine elebaorazione\n");
printf("\nScelta operazione (1..2,,3,0) ");
scanf("%d",&scelta);
if(scelta==0)
break;
switch(scelta){
case 1:
cancella();
break;
case 2:
stampa();
break;
case 3:
inserisci();break;
case 4:
ricerca(); break;
}
}
return 0;
getch();
}
void stampa(){
pippo = fopen("listino.txt","rb");
printf("\n \n nell file c'e' scritto\n");
fread(&calcio,sizeof(calcio),1,pippo);
while(!feof(pippo))
{
printf ("\n nome %s \n cognome %s \n anno di nascita %d \n numero matricola %d \n ruolo %s \n", calcio.nome,calcio.cognome , calcio.anno ,calcio.numero, calcio.ruolo );
fread(&calcio,sizeof(calcio),1,pippo);
}
fclose(pippo);
}
void ricerca (){
int numero1;
printf("\n il giocatore che cerchi, che numero di cartellino ha? ");
scanf("%d",&numero1);
pippo = fopen("listino.txt","rb");
fread(&calcio,sizeof(calcio),1,pippo);
while(!feof(pippo))
{
if ((calcio.numero==numero1))
{
printf("%c %c %d %d", calcio.nome, calcio.cognome, calcio.anno, calcio.numero);
printf("\n che ruolo vuoi dare a questo giocatore?");
scanf("%c",&calcio.ruolo);
fwrite(&calcio,sizeof(calcio),1,pippo);
}
else
printf("giocatore non trovato");
fread(&calcio,sizeof(calcio),1,pippo);
}
}
void inserisci(){
pippo = fopen("listino.txt","ab");
int i, num;
printf("\n quanti giocatori vuoi inserire?");
scanf("%d",&num);
for(i=0;i<num;i++)
{
fflush(stdin);
printf("\n\n nome giocatore: ");
gets(calcio.nome);
printf("\n cognome giocatore: ");
gets(calcio.cognome);
printf("\n anno di nascita: ");
scanf("%d",&calcio.anno);
printf("\n numero di cartellino: ");
scanf("%d",&calcio.numero);
printf("\n ruolo giocatore: ");
scanf("%s",&calcio.ruolo);
fwrite(&calcio,sizeof(calcio),1,pippo);
}
fclose(pippo);
}
void cancella(){
pippo=fopen("listino.txt","wb");
fclose(pippo);
}