#include
#include
#include
#include
struct AddressList
{
char name[20];
char address[30];
char tel[20];
char youbian[50];
}st[20];
int i=0;
void shuru()
{
FILE *fp;
char a;
fp=fopen("information.txt","a+");
do
{
printf("\n请输入姓名:");
scanf("%d",&st[i].name);
gets(st[i].name);
printf("\n");
printf("\n请输入地址:");
gets(st[i].address);
fflush(stdin);
printf("\n请输入电话:");
gets(st[i].tel);
fflush(stdin);
printf("\n请输入邮编:");
gets(st[i].youbian);
fflush(stdin);
fwrite(&st[i],sizeof(struct AddressList),1,fp);
printf("\n是否继续输入另外一个人的信息?(y/n)");
fflush(stdin);
a=getchar();
i++;
}
while(a=='y'&&i<=20);
fclose(fp);
}
int xianshi()
{
int j;FILE *fp;
if((fp=fopen("information.txt","r"))==NULL)
{
printf("通讯录还没记录");
return 0;
}
printf("\t姓名\t电话\t地址\t邮编\n");
for(j=0;fread(&st[j],sizeof(struct AddressList),1,fp)!=0;j++)
printf("\t%s\t%s\t%s\t%s\n",st[j].name,st[j].tel,st[j].address,st[j].youbian);
return 1;
}
int chazhao()
{
int m;FILE *fp;
char name[20],b;
if((fp=fopen("information.txt","r"))==NULL)
{
printf("还没有通讯信息");
return 0;
}
do
{
printf("\n请输入你需要查找人的姓名:");
fflush(stdin);
gets(name);
for(m=0;fread(&st[m],sizeof(struct AddressList),1,fp)!=0;m++)
{
if(strcmp(name,st[m].name)==0)
{
printf("\n\t你查找的联系人在第%d个位置找到\n",m+1);
break;
}
}
if(m>=20)
printf("\n\t没有找到这个人\n");
else
{
printf("\t姓名\t电话\t地址\t邮编\n");
printf("\t%s\t%s\t%s\t%s\n",st[m].name,st[m].address,st[m].tel,st[m].youbian);
}
printf("\n是否查找另一个人的信息?(y/n)");
fflush(stdin);
b=getchar();
}
while (b=='y');
return 1;
}
int shanchu()
{
char name[20],c;FILE *fp,*fp1;
int a,flag=0;
if((fp=fopen("information.txt","r"))==NULL)
{
printf("还没有学生信息");
return 0;
}
fp1=fopen("informationl.txt","w");
do
{
printf("\n请输入要删除人的姓名:\n");
fflush(stdin);
gets(name);
for(a=0;fread(&st[a],sizeof(struct AddressList),1,fp)!=0;a++)
{
if(strcmp(name,st[a].name)!=0)
fwrite(&st[a],sizeof(struct AddressList),1,fp1);
else
flag=1;
}
fclose(fp);
fclose(fp1);
fp=fopen("information.txt","w");
fp1=fopen("informationl.txt","r");
for(a=0;fread(&st[a],sizeof(struct AddressList),1,fp1)!=0;a++)
{
fwrite(&st[a],sizeof(struct AddressList),1,fp);
}
fclose(fp);
fclose(fp1);
if(flag==0)
printf("\t没有找到这个人\n");
else
xianshi();
printf("\n是否继续删除另一个联系人的信息?(y/n)");
fflush(stdin);
c=getchar();
}
while(c=='y');
return 1;
}
void charu()
{
xianshi();
shuru();
}
void jieshu()
{
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\t\t欢迎使用次通讯录\t\n");
printf("\n");
printf("\n");
printf("\n");
printf("\t\t\t07电专班:田依轩\t\t\n");
}
void main()
{
int change;
do
{
system("cls");
printf("================================欢迎来到通讯录=================================\n");
printf("\t\t1: 输入联系人的信息\n");
printf("\t\t2: 显示联系人信息\n");
printf("\t\t3: 查找联系人信息\n");
printf("\t\t4: 删除联系人信息\n");
printf("\t\t5: 插入联系人信息\n");
printf("\t\t6: 退出程序\n");
fflush(stdin);
printf("\t\t请在以下功能选项中选择:");
scanf("%d",&change);
switch(change)
{
case 1:
shuru();break;
case 2:
xianshi();break;
case 3:
chazhao();break;
case 4:
shanchu();break;
case 5:
charu();break;
case 6:
jieshu();break;
}
getch();
}
while(change!=6);
}