通讯录:
要求:
姓名,性别、电话,最多储存50个联系人
功能:1、添加联系人2、按名字删除联系人3、按姓名修改联系人信息4、查找联系人,可通过电话,名字查找,支持模糊查找5、显示所有联系人信息
代码
#include<stdio.h>
#include<string.h>
#include<getch.h>
#include<stdlib.h>char name[50][20]={};
char sex[50][5]={};
char phone[50][12]={};
int cnt=0;void add(void)
{if(cnt==50){puts("系统升级中");return;}puts("请输入姓名 性别 电话:");scanf("%s%s%s",name[cnt],sex[cnt],phone[cnt]);cnt++;
}void del(void)
{puts("请输入姓名:");char name0[20]={};gets(name0);int ret=0;for(int i=0;i<cnt;i++){if(strcmp(name[i],name0)==0){for(int j=i;j<cnt-1;j++){strcpy(name[j],name[j+1]);}ret=1;cnt--;break;}}ret>0?puts("已删除"):puts("查无此人");
}void change(void)
{puts("请输入姓名:");char name0[20]={};gets(name0);int ret=0;for(int i=0;i<cnt;i++){if(strcmp(name[i],name0)==0){puts("请输入姓名 性别 电话:");scanf("%s%s%s",name[i],sex[i],phone[i]);ret=1;break;}}ret>0?puts("已修改"):puts("查无此人");
}void find(void)
{puts("请输入关键字:");char key[20]={};gets(key);int ret=0;for(int i=0;i<cnt;i++){if(strstr(name[i],key)!=NULL || strstr(sex[i],key)!=NULL || strstr(phone[i],key)!=NULL){printf("%s %s %s\n",name[i],sex[i],phone[i]);ret++;}}ret>0?puts("以上为查询结果"):puts("查无此人");
}void show(void)
{system("clear");for(int i=0;i<cnt;i++){printf("%s %s %s\n",name[i],sex[i],phone[i]);}puts("按任意键继续");stdin->_IO_read_ptr = stdin->_IO_read_end;getch();
}int main(int argc,const char* argv[])
{system("clear");while(1){system("clear");puts("1、添加");puts("2、删除");puts("3、修改");puts("4、查找");puts("5、显示全部联系人");puts("请输入指令");switch(getch()-'0'){case 1: add();break;case 2: del();break;case 3: change();break;case 4: find();break;case 5: show();break;default:system("clear");break;}}
}