我应该制作一个程序来编写,修改,删除和搜索联系人列表。我们还没有研究过文件,但我们应该尽快完成。我尝试了一切,但我不能修改或删除或搜索。你能帮助我吗?这是我的代码:
我尝试将文件读入一个结构,所以我可以将它用于其他函数,但不知何故它不会读取,因为当我尝试其他函数或在结构中搜索某些东西时,该函数找不到它
fichier=fopen("liste contact.txt","r");
if (fichier!=NULL)
{fichier=fopen("liste contact.txt","a+");
while (c=fgetc(fichier)!=EOF)
{ for (i=0;i<n;i++){
fscanf(fichier,"%s %s %s %d %s", &newcon[i].id,&newcon[i].prenom,&newcon[i].nom,&newcon[i].tel,&newcon[i].adr);}
} fclose(fichier);}
else {fichier=fopen("liste contact.txt","w");
}
在修改中,我尝试写入文件。但它不会写任何东西,除了新名称或我在这里修改的其他内容。其他每个值都是空的
for (i=0;i<=n;i++)
{
if (id==newcon[i].id)
{cn=i;} }
if (cn!=0)
{
switch(d) {
case 1 :
printf(" Donnez le nouveau nom: \n --->"); scanf("%s",&newcon[cn].nom);
for (i=0;i<=n;i++)
{fprintf(f2,"ID: %s, Prenom: %s, Nom: %s, Tel: %d, Adresse: %s . \n", newcon[i].id,newcon[i].prenom,newcon[i].nom,newcon[i].tel,newcon[i].adr);}
break;
case 2 :
printf(" Donnez le nouveau prenom: \n --->"); scanf("%s",&newcon[cn].prenom);
for (i=0;i<=n;i++)
{fprintf(f2,"ID: %s, Prenom: %s, Nom: %s, Tel: %d, Adresse: %s . \n", newcon[i].id,newcon[i].prenom,newcon[i].nom,newcon[i].tel,newcon[i].adr);}
break;
case 3 :
printf(" Donnez le nouveau Email: \n --->"); scanf("%s",&newcon[cn].email);
for (i=0;i<=n;i++)
{fprintf(f2,"ID: %s, Prenom: %s, Nom: %s, Tel: %d, Adresse: %s . \n", newcon[i].id,newcon[i].prenom,newcon[i].nom,newcon[i].tel,newcon[i].adr);}
break;
case 4 :
printf(" Donnez la nouvelle adresse: \n --->"); scanf("%s",&newcon[cn].adr);
for (i=0;i<=n;i++)
{fprintf(f2,"ID: %s, Prenom: %s, Nom: %s, Tel: %d, Adresse: %s . \n", newcon[i].id,newcon[i].prenom,newcon[i].nom,newcon[i].tel,newcon[i].adr);}
break;
case 5 :
printf(" Donnez le nouveau numéro de telephone: \n --->"); scanf("%d",&con[cn].tel);
for (i=0;i<=n;i++)
{fprintf(f2,"ID: %s, Prenom: %s, Nom: %s, Tel: %d, Adresse: %s . \n", newcon[i].id,newcon[i].prenom,newcon[i].nom,newcon[i].tel,newcon[i].adr);}
break;
default :
Beep(3000,900); printf("L'action que vous demandez n'existe pas, réssayez!" );
} }fclose(f2);}