Archivio dati – struct –

/*ARCHIVIO DATI (NOME-COGNOME-DATA NASCITA)*/

#include<stdio.h>
#include<stdlib.h>
#include<stddef.h>
#include<math.h>

main(){

{
typedef struct
{int giorno;
int mese;
int anno;}data;
typedef struct
{char nome[16];
char cognome[16];
data datanascita;}
persona;

persona archivio[60];
char c,d,e,f,ch,ch2;
int i=0;
FILE *fp; FILE*fp1;
fp=fopen(“archivio.txt”,”wa”);

printf(“Digita (U)scita se vuoi uscire \nAltrimenti digita (N)ew\n”);
printf(“Digita (M)ostra archivio se vuoi vedere l’intero archivio\n”);
printf(“Digita (R)icerca se vuoi cercare un nome\n”);
scanf(“%c%c”, &d,&c);
switch(d){
case ‘U':exit(0);
break;

case ‘M':

fp=fopen(“archivio.txt”,”r”);
if(fp==NULL)
{printf(“Errore nell’apertura del file”);
exit(0);}
while(ch!=EOF)
{ch=fgetc(fp);
putchar(ch);}
fclose(fp);
exit(0);
break;

case ‘N':

while(f!=’U’)
{
printf(“Inserisci nome\n”);
scanf(“%s”, &archivio[i].nome);

printf(“Inserisci cognome\n”);
scanf(“%s”, & archivio[i].cognome);

printf(“Inserisci data:\n”);
printf(“*Inserisci giorno\n”);
scanf(“%d”, &archivio[i].datanascita.giorno);
printf(“*Inserisci mese\n”);
scanf(“%d”, &archivio[i].datanascita.mese);
printf(“*Inserisci anno\n”);
scanf(“%d”, &archivio[i].datanascita.anno);

fprintf(fp,”%s “,archivio[i].nome);
fprintf(fp,”%s\n”,archivio[i].cognome);
fprintf(fp,”%d%/”,archivio[i].datanascita.giorno);
fprintf(fp,”%d%/”,archivio[i].datanascita.mese);
fprintf(fp,”%d\n”,archivio[i].datanascita.anno);
i++;
printf(“Digita (U)scita se vuoi uscire \nAltrimenti digita (N)ew\n”);
scanf(“%c”,&f);
scanf(“%c”,&f);
}

fclose(fp);
break;

case ‘R': printf(“Inserisci lettera inziale del nome\n”);
scanf(“%c”,&e);
printf(“I nomi cercati sono:\n”);
fp1=fopen(“archivio.txt”,”r”);
if (fp1==NULL)
{printf(“Errore nell’apertura del file\n”);
exit(0);}
 while(ch2!=EOF)
 { ch2=fgetc(fp1);
if(ch2==e)
{do{printf(“%c”, ch2);
ch2=fgetc(fp1);
}
while (ch2!=’\n’);
printf(“\n”);
}
 }
exit(0);

fclose(fp1);
break;
}
}

Lascia un commento