Questo è un programma fatto simile ad una rubrica , anche qui penso che possiate aiutarmi , ovviamnete il file con la lettera deve crearsi automaticamente e non devo crearlo io
typedef struct contatto
{
char nome[20];
char cognome[20];
char numero[20];
}t_contatto;
void inserimento_dati(t_contatto c[],int n)
{
int i;
printf("\nInserisci il nome:");
scanf("%s",&c.nome);
printf("\nInserisci il cognome:");
scanf("%s",&c.cognome);
printf("\nInserisci il numero:");
scanf("%s",&c.numero);
FILE *fp;
fp=fopen("contatto.txt","a+");
if(fp!=NULL)
{
fprintf(fp,"%s\t%s\t%s",c.nome,c.cognome,c.numero);
}
}
void LeggiDati_contatto(t_contatto c[],int *n)
{
FILE *fp;
fp=fopen("contatto.txt","r");
int i;
for(i=0;!feof(fp);i++)
{
fscanf(fp,"%s\t%s\t%s",c.nome,c.cognome,c.numero);
printf("\nNome : %s",c.nome);
printf("\nCognome: %s",c[i].cognome);
printf("\nNumero: %s",c[i].numero);
}
fclose(fp);
}
void Scrivi_su_file(t_contatto c[],int n)
{
FILE *fp;
fp=fopen("contatto.txt","w+");
int i;
for(i=0;i<n;i++)
{
fprintf(fp,"%s\t%s\t%s",c[i].nome,c[i].cognome,c[i].numero);
}
fclose(fp);
}
void stampa(t_contatto c[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("\nNome : %s",c[i].nome);
printf("\nCognome: %s",c[i].cognome);
printf("\nNumero: %s",c[i].numero);
}
}
void main()
{
t_contatto rubrica[20];
char scelta;
int n;
int s;
do
{
system("cls");
printf(" \t\t<<<<<< RUBRICA >>>>>>");
printf("\n\n1 Inserisci un nuovo contatto");
printf("\n2 visualizza contatti");
printf("\n3 Esci");
printf("\nInserisci la tua scelta ---->");
scanf("%c",&scelta);
switch(scelta)
{
case '1': inserimento_dati(rubrica,3);
break;
case '2': LeggiDati_contatto(rubrica,10);
break;
case '3': Esci:
{
printf("vuoi uscire?");
printf("\nS o N\n");
scanf("%s",&scelta);
if(scelta=='s')
{
printf("Chiusura!");
}
else
{
scelta='n';
printf("ok");
}
break;
}
default:; break;
}
getch();
}while(scelta!='s');
}