giova22
01-07-2004, 12:26
Ciao a tutti
Ho fatto un programmino per l' esame di informatica in c.
E' una rubrica, ma quando vado a compilare ed eseguire il programma tutto ok.
Il problema è che ad esempio se inserisco la persona mario rossi
viene inserita come marioààààààà rosssiàààààààà
Perchè?
Aiuto vi prego tra poco ho l' esame.
Ecco la funzione per inserire il nome
typedef struct {char nome[32]; char cognome[32];char telefono[32];}
contatto;
void ins_contatto()
{
contatto v[1];
FILE *fp;
fp=fopen("rubrica.bin", "a+");
memset(v,0,sizeof(v));
system("cls");
printf("************************************************************\n");
printf("\nHai scelto di inserire un contatto in rubrica");
fseek(fp,0,SEEK_END);
printf("\n\nOra inserici il nome della persona da inserire nella rubrica\n");
printf("\n Nome ----> ");
scanf("%s", v[0].nome);
printf("\n\nbene, ora inserisci il cognome e premi invio\n");
printf("\n cognome ---> ");
scanf("%s", v[0].cognome);
printf("\n\ndigita ora il numero di telefono\n");
printf("\n telefono ---> ");
scanf("%s", v[0].telefono);
fwrite(v, sizeof(contatto), 1, fp);
system("cls");
printf("\ncontatto inserito correttemente\n\n\n");
fclose(fp);
//return;
}
e quella per leggere
void leggi_tutti()
{
contatto v[1];
FILE *fp;
fp=fopen("rubrica.bin", "r");
system("cls");
while((fread(v, sizeof(contatto), 1, fp)!= 0))
{
printf("\n%s ", v[0].nome);
printf("%s ", v[0].cognome);
printf("%s \n", v[0].telefono);
}
//return;
}
Ho fatto un programmino per l' esame di informatica in c.
E' una rubrica, ma quando vado a compilare ed eseguire il programma tutto ok.
Il problema è che ad esempio se inserisco la persona mario rossi
viene inserita come marioààààààà rosssiàààààààà
Perchè?
Aiuto vi prego tra poco ho l' esame.
Ecco la funzione per inserire il nome
typedef struct {char nome[32]; char cognome[32];char telefono[32];}
contatto;
void ins_contatto()
{
contatto v[1];
FILE *fp;
fp=fopen("rubrica.bin", "a+");
memset(v,0,sizeof(v));
system("cls");
printf("************************************************************\n");
printf("\nHai scelto di inserire un contatto in rubrica");
fseek(fp,0,SEEK_END);
printf("\n\nOra inserici il nome della persona da inserire nella rubrica\n");
printf("\n Nome ----> ");
scanf("%s", v[0].nome);
printf("\n\nbene, ora inserisci il cognome e premi invio\n");
printf("\n cognome ---> ");
scanf("%s", v[0].cognome);
printf("\n\ndigita ora il numero di telefono\n");
printf("\n telefono ---> ");
scanf("%s", v[0].telefono);
fwrite(v, sizeof(contatto), 1, fp);
system("cls");
printf("\ncontatto inserito correttemente\n\n\n");
fclose(fp);
//return;
}
e quella per leggere
void leggi_tutti()
{
contatto v[1];
FILE *fp;
fp=fopen("rubrica.bin", "r");
system("cls");
while((fread(v, sizeof(contatto), 1, fp)!= 0))
{
printf("\n%s ", v[0].nome);
printf("%s ", v[0].cognome);
printf("%s \n", v[0].telefono);
}
//return;
}