codice:
#include<stdio.h>
#include<malloc.h>
main()
{
struct record
{
char nome[10];
char cognome[15];
char indirizzo[25];
char ntel[15];
char ncel[15];
}*buffer;
FILE *pf;
int f,t;
char n[10],c[15];
double caricamento(void);
double cerca(void);
double stamparub(void);
double stampacell(void);
do
{
printf("scegli tra le seguenti opzioni");
printf("1=INSERIMENTO\n;2=cerca nominativo e ntel\n;3=stampa la rub\n;4=non lo so\n;5=esci");
scanf("%d",& t);
switch(t)
{
case 1:
{
caricamento();
break;
}
case 2:
{
cerca();
break;
}
case 3:
{
stamparub();
break;
}
case 4:
{
stampacell();
break;
}
default:
break;
}
}
while(t!=5);
void caricamento()
{
buffer=(struct record*)malloc(sizeof(struct record));
pf=fopen("rubrica","w");
if(pf==NULL)
printf("errore");
else
{
do
{
printf("se non inserisci un campo scrivi x");
printf("inserisci il nome\n");
scanf("%s",& buffer->nome);
scanf("%s",& buffer->cognome);
scanf("%s",& buffer->indirizzo);
scanf("%s",& buffer->ntel);
scanf("%s",& buffer->ncel);
fwrite(buffer,sizeof(struct record),1,pf);
printf("vuoi inserire un altro dato? SI=1 NO=0");
scanf("%d",& f);
}
while(f==1);
fclose(pf);
return();
}
}
void stamparub()
{
pf=fopen("rubrica","r");
if(pf==NULL)
printf("errore apertura file");
else
{
while(feof(pf)==0)
{
fread(buffer,sizeof(struct record),1,pf);
printf("il nome è:%s\n", buffer->nome);
printf("il cognome è:%s\n", buffer->cognome);
printf("l'indirizzo è:%s\n", buffer->indirizzo);
printf("il ntel è:%s\n", buffer->ntel);
printf("il ncel è:%s\n", buffer->ncel);
}
fclose(pf);
}
return();
}
void stampacell()
{
pf=fopen("rubrica","r");
if(pf==NULL)
printf("errore apertura file");
else
{
while(feof(pf)==0)
{
fread(buffer,sizeof(struct record),1,pf);
if(buffer->ncel==NO)
fread(buffer,sizeof(struct record),1,pf;
else
{
printf("il nome è %s\n", buffer->nome);
printf("il cognome è %s\n", buffer->cognome);
printf("il ncel è %s\n", buffer->ncel);
fread(buffer,sizeof(struct record),1,pf);
}
}
}
fclose(pf);
return();
}
void cerca()
{
printf("nome e cognome");
scanf("%s",& n);
scanf("%s",& c);
pf=fopen("rubrica","r");
if(pf==NULL)
printf("errore apertura file");
else
{
while(feof(pf)==0)
{
fread(buffer,sizeof(struct record),1,pf);
if(n==buffer->nome)&&(c==buffer->cognome)
{
printf("il n di tel è %s\n", buffer->ntel);
printf("il cognome è %s\n", buffer->cognome);
printf("il nome è %s\n", buffer->nome);
}
}
fclose(pf);
return();
}
ecco il codice grazie x l'aiuto