用C语言编写通讯录
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
#include
typedef struct Friends
{
char sName[30];
int tel;
int sMovtel;
int home;
char Emaile[30];
char assort[30];
}Friends;
int c;
void jianli ();
void search ();
void amend ();
void change ();
void input (Friends *p);
void output (Friends *p);
void sdele ();
void fugai ();
int main()
{
int a,b=1;
char s;
while(b==1)
{
printf("\t\t通讯录\n");
printf("\t1、新建\n");
printf("\t2、查找\n");
printf("\t3、修改\n");
printf("\t4、删除\n");
printf("请选择.......\n");
scanf("%d",&a);
switch(a)
{
case 1:jianli ();break;
case 2:search ();break;
case 3:amend ();break;
case 4:sdele();break;
}
printf("是否返回主菜单('Y'or'N')\n");
fflush(stdin);
scanf("%c",&s);
if(s=='y'|| s=='Y')
b=1;
else
break;
}
return 0;
}
/*新建*/
void jianli ()
{
int b=1;
char d;
Friends x;
FILE *fp;
fp=fopen("e:\\通讯录.txt","ab");
while (b==1)
{
input(&x);
fwrite(&x,sizeof(x),1,fp);
printf("是否继续新建('Y'or'N')?\n");
fflush(stdin);
scanf("%c",&d);
if(d=='y'||d=='Y')
{
b=1;
}
else
break;
}
fclose(fp);
}
/*查找*/
void search ()
{
int h , j = 1 , n=0 , num ;
char k[20];
FILE *fp;
Friends y;
printf("\t1、按号码查找\n");
printf("\t2、按姓名查找\n");
printf("请选择...........\n");
scanf("%d",&h);
if(h==1)
{
printf("\t请输入你查找的号码!\n");
while(j==1)
{
scanf("%d",&num);
fp=fopen("e:\\通讯录.txt","rb");
while(!feof(fp))
{
fread(&y,sizeof(y),1,fp);
if(num==y.sMovtel)
{
output(&y);
break;
}
}
if(num!=y.sMovtel)
{
printf("你输入的号码有误\n请重新输入\n");
j=1;
}
fclose(fp);
}
}
if(h==2)
{
printf("\t请输入你查找的姓名!\n");
while(j==1)
{
scanf("%s",k);
fp=fopen("e:\\通讯录.txt","rb");
while(!feof(fp))
{
fread(&y,sizeof(y),1,fp);
if(strcmp(k,y.sName)==0)
{
output(&y);
break;
}
}
if(strcmp(k,y.sName)!=0)
{
printf("你输入的姓名有误\n请重新输入\n");
j=1;
}
fclose(fp);
}
}
}
/*修改*/
void amend ()
{
int h , j = 1 , n=0 , num ;
char k[20];
FILE *fp;
Friends y;
printf("\t1、按号码查找你所需要修改的原始资料\n"); printf("\t2、按姓名查找你所需要修改的原始资料\n"); printf("请选择...........\n");
scanf("%d",&h);
if(h==1)
{
printf("\t请输入查找你的号码!\n");
while(j==1)
{
scanf("%d",&num);
fp=fopen("e:\\通讯录.txt","rb");
while(!feof(fp))
{
c++;
fread(&y,sizeof(y),1,fp);
if(num==y.sMovtel)
{
change ();
break;
}
}
if(num!=y.sMovtel)
{
printf("你输入的号码有误\n请重新输入\n");
j=1;
}
fclose(fp);
}
}
if(h==2)
{
printf("\t请输入你查找的姓名!\n");
while(j==1)