通讯录
- 通讯录实现
- 1.通讯录的联系人结构
- 2.通讯录初始化和销毁
- 3.通讯录的增删查改和打印
- 4.通讯录测试
通讯录实现
1.通讯录的联系人结构
#defineNAME_MAX10#defineSEX_MAX10#definePHONE_MAX50#defineADRESS_MAX100typedefstructperson{charname[NAME_MAX];charsex[SEX_MAX];intage;charphone[PHONE_MAX];charadress[ADRESS_MAX];}person;typedefstructSlistcon;//头文件不能互相包含,可以前置声明一下。
2.通讯录初始化和销毁
voidInitcon(con*c){Init(c);}voidDestroycon(con*c){Destroy(c);}
3.通讯录的增删查改和打印
voidAddcon(con*c){person p={0};printf("请输入你要增加的联系人姓名\n");scanf("%s",p.name);printf("请输入你要增加的联系人姓别\n");scanf("%s",p.sex);printf("请输入你要增加的联系人年龄\n");scanf("%d",&p.age);printf("请输入你要增加的联系人电话\n");scanf("%s",p.phone);printf("请输入你要增加的联系人地址\n");scanf("%s",p.adress);Pushback(c,p);printf("增加成功\n");}intFind(con*c,char*name){for(inti=0;i<c->size;i++){if(0==strcmp(name,c->a[i].name)){returni;}}return-1;}voidDelcon(con*c){charname[NAME_MAX];printf("请输入你要删除的联系人姓名\n");scanf("%s",name);intfind=Find(c,name);if(find<0){printf("该联系人不存在,删除错误\n");return;}Erase(c,find);printf("删除成功\n");}voidFindcon(con*c){charname[NAME_MAX];printf("请输入你要查找的联系人姓名\n");scanf("%s",name);intfind=Find(c,name);if(find<0){printf("该联系人不存在,查找错误\n");return;}printf("查找成功\n");printf("姓名 性别 年龄 电话 住址\n");printf("%s %s %d %s %s\n",c->a[find].name,c->a[find].sex,c->a[find].age,c->a[find].phone,c->a[find].adress);}voidModify(con*c){charname[NAME_MAX];printf("请输入你要修改的联系人姓名\n");scanf("%s",name);intfind=Find(c,name);if(find<0){printf("该联系人不存在,修改错误\n");return;}printf("请输入新的联系人姓名:\n");scanf("%s",c->a[find].name);printf("请输入新的联系人姓别:\n");scanf("%s",c->a[find].sex);printf("请输入新的联系人年龄:\n");scanf("%d",&c->a[find].age);printf("请输入新的联系人电话:\n");scanf("%s",c->a[find].phone);printf("请输入新的联系人住址:\n");scanf("%s",c->a[find].adress);printf("修改成功\n");}voidPrint(con*c){printf("姓名 性别 年龄 电话 住址\n");for(inti=0;i<c->size;i++){printf("%s %s %d %s %s\n",c->a[i].name,c->a[i].sex,c->a[i].age,c->a[i].phone,c->a[i].adress);}}
4.通讯录测试
#include"slist.h"voidmenu(){printf("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n");printf("xxxxx 1.ADD xxxxx 2.DEL xxxxxx\n");printf("xxxxx 3.FIND xxxxx 4.MODIFY xxx\n");printf("xxxxx 5.PRINT xxxxx 0.exit xxxxx\n");printf("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n");}intmain(){con c;Initcon(&c);intinput=0;do{menu();printf("请输入你要选择的:\n");scanf("%d",&input);switch(input){case1:Addcon(&c);break;case2:Delcon(&c);break;case3:Findcon(&c);break;case4:Modify(&c);break;case5:Print(&c);break;case0:printf("退出游戏\n");break;default:printf("输入错误,请重新选择\n");break;}}while(input);Destroycon(&c);return0;}