ciao a tutti....sono alle prese con i file in c e devo compilare questo pezzo di codice in cui ci sono un pò di errori....ho provato a compilarlo con devc++ ma ci sono errori ke nn riesco proprio a correggere. Potreste darmi una mano a riuscire a mandare in esecuzione qst programmino? Grazie anticipatamente e spero in una vostra risposta.
#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];
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;}
}
}
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 nome è:%s\n", buffer->cognome);
printf("il nome è:%s\n", buffer->indirizzo);
printf("il nome è:%s\n", buffer->ntel);
printf("il nome è:%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();
}