C语言通讯录管理系统由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言通讯录管理系统”。
#include #include #include struct record{ charnum[12];char name[10];char birthday[10];char post[10];char phone[15];}data[100];intmenu_select();intcreate_record();intadd_record(int flag);int flag=0;
intfind_record(int flag);intdelete_record(int flag);voidpaixu_record(int flag);intsave_record(int flag);void main(){ for(;;){ switch(menu_select())
{ case 1: printf(“ ***********************************************n”);printf(“ ************** 通讯录的建立 ***************n”);printf(“ ***********************************************n”);flag=create_record();break;case 2: printf(“ ***********************************************n”);printf(“ ************** 通讯录信息的添加 *****************n”);printf(“ ***********************************************n”);flag=add_record(flag);break;case 3: printf(“ ******************************n”);printf(“ ******* 通讯录信息查询 *******n”);printf(“ ******************************n”);find_record(flag);
break;case 4: printf(“ ***********************************n”);printf(“ **********通讯信息的删除***********n”);printf(“ ***********************************n”);delete_record(flag);break;case 5: printf(“ ***********************************n”);printf(“ **********通讯录的存储(D:)*********n”);printf(“ ***********************************n”);save_record(flag);break;case 6: printf(“ ***********************************n”);printf(“ **********通讯者的排序*********n”);printf(“ ***********************************n”);paixu_record(flag);break;case 0: printf(“t 谢谢您的使用!n”);break;
default : break;} } } intmenu_select(){ int i;printf(“
********************
n”);printf(“
Welcome!
n
”);printf(“
Form kuangminn”);printf(“
********************
n”);printf(“
n”);printf(“ n”);printf(“ n”);printf(“
通讯录管理系统
n”);printf(“ n”);printf(“
======================n”);printf(“
1.通讯录的建立n”);printf(“
2.通讯者的添加n”);printf(“
3.通讯录的查询n”);printf(“
4.通讯者的删除n”);printf(“
5.通讯录的存储n”);printf(“
6.通讯者的排序n”);printf(“
0.退出通讯录管理系统n”);printf(“
======================n”);printf(“
请选择操作0-5 nn”);for(;;){ scanf(“%d”,&i);if(i6)printf(“t对不起,您的输入错误n”);else break;} return i;} intcreate_record(){inti,j;for(i=0;;)
{ printf(“ 学号(12)姓名(10)出生年月(10)家庭住址(30)邮编(10)电话(15)n”);printf(“-------------n”);scanf(“%s%s%s%s%s%s”,data[i].num,data[i].name,data[i].birthday, data[i].post, data[i].phone);i++;printf(“ 想继续创建吗?(1.是/0.不):”);scanf(“%d”,&j);if(!j)
return i;else printf(“恭喜你,创建成功!请继续创建!n”);
} return i;} intadd_record(int flag){ int i=flag,j;for(i;;)
{ printf(“ 学号(12)姓名(10)出生年月(10)家庭住址(30)邮编(10)电话(15)n”);printf(“-------------n”);
scanf(“%s%s%s%s%s%s”,data[i].num,data[i].name,data[i].birthday,data[i].post, data[i].phone);i++;printf(“ 想继续添加吗?(1.是/0.不):”);scanf(“%d”,&j);if(!j)return i;else printf(“恭喜你,添加成功!请继续添加!n”);
} return(i);} intfind_record(){ int i;char number[6];char named[10];intxz;printf(“--------------------n”);printf(“ 1.按学号查询n”);printf(“ 2.按姓名查询n”);printf(“--------------------n”);printf(“ 请选择 : n”);
scanf(“%d”,&xz);if(xz==1){ printf(“ 请输入要查找的学号: ”);scanf(“%s”,number);for(i=0;i
if(strcmp(data[i].num,number)==0)
{ printf(“ ** 学号姓名出生年月家庭住址邮编电话**n”);printf(“------------------------------n”);printf(“%s,%s,%s,%s,%s,%sn”,data[i].num,data[i].name,data[i].birthday,data[i].post,data[i].phone);printf(“------------------------------n”);return 0;}
} else if(xz=2){ printf(“请输入要查找的姓名: ”);scanf(“%s”,named);for(i=0;i
{ printf(“ ** 学号姓名出生年月家庭住址邮编电话**n”);printf(“------------------------------n”);printf(“%s,%s,%s,%s,%s,%sn”,data[i].num,data[i].name,data[i].birthday,data[i].post,data[i].phone);printf(“------------------------------n”);return 0;else {printf(“对不起,没有你要找的人!n”);return 0;} }
else {printf(“对不起,没有你要找的人!n”);return 0;}
}
} intdelete_record(int flag)
{ inti,j;intdeletemark=0;char number[20];printf(“ttt请输入要删除学号:n”);scanf(“%s”,number);for(i=0;i
{ if(strcmp(data[i].num, number)==0)
{ printf(“ttt以下是您要删除的用户纪录:n”);printf(“ ** 学号姓名出生年月家庭住址邮编电话**n”);printf(“------------------------------n”);
printf(“%s,%s,%s,%s,%s,%sn”,data[i].num,data[i].name,data[i].birthday,data[i].post,data[i].phone);printf(“------------------------------n”);
printf(“ttt是否删除?(y/n)”);if(getch()=='y' || getch()=='Y')
{ for(j=i;j
} else return;
} continue;
} if(deletemark==0)
{ printf(“ttt没有该用户的纪录”);
return;
} return;
} voidpaixu_record(int flag){inti,j;struct record tmp;
printf(“ 1.按姓名排序n”);printf(“ 2.按学号排序n”);scanf(“%d”,&i);if(i==1){for(i=1;i
{ if(strcmp(data[i].name, data [i-1].name)
{ tmp= data[i];
j=i-1;do
{ data [j+1]= data [j];j--;}while((strcmp(tmp.name, data [j].name)=0));data [j+1]=tmp;
}
} printf(“ttt排序成功!”);}
if(i==2){for(j=0;jdata[i+1].num)
{tmp=data[i];data[i]=data[i+1];data[i+1]=tmp;} } }
intsave_record(int flag){
FILE*fp;int i;if((fp=fopen(“D:data.txt”,“w+”))==NULL)
{printf(“无法打开文件!”);exit(0);} for(i=0;i
{fprintf(fp,“%s,%s,%s,%s,%s,%sn”,data[i].num,data[i].name,data[i].birthday, data[i].post, data[i].phone);printf(“n”);} fclose(fp);return 0;}