#include <stdio.h> #include<getch.h> #include<stdlib.h> #include<string.h> static char name[50][20]; static char sex[50]; static char tel[50][13]; static int count=0; ? ? //记录有效联系人个数 void show_msg(const char* masg,double sec) { ?? ?printf("%s",masg); ?? ?fflush(stdout); ?? ?usleep(sec*1000000); } void anykey_continue(void) { ?? ?puts("按任意键继续..."); ?? ?stdin->_IO_read_ptr=stdin->_IO_read_end; ?? ?getch(); } void ?add(void) { ?? ?if(count>=50) ?? ?{ ?? ??? ?printf("系统维护中,请稍后...\n"); ?? ??? ?return; ?? ?} ?? ??? ?int i=0; ?? ??? ?while(sex[i]) i++; ?? ??? ?puts("请输入姓名、性别、电话"); ?? ??? ?scanf("%s %c %s",name[i],&sex[i],tel[i]); ?? ??? ?count++; ?? ??? ?show_msg("添加联系人信息\n",1.5); } void modify(void) { ?? ?char names[20]={}; ?? ?puts("请输入要修改的联系人名字"); ?? ?scanf("%s",names); ?? ?for(int i=0;i<50;i++) ?? ?{ ?? ??? ?if(sex[i]) ?? ??? ?{ ?? ??? ??? ?if(0==strcmp(name[i],names)) ?? ??? ??? ?{ ?? ??? ??? ??? ?puts("请重新输入姓名、性别、电话"); ?? ??? ??? ??? ?scanf("%s %c %s",name[i],&sex[i],tel[i]); ?? ??? ??? ??? ?show_msg("修改联系人成功",1.5); ?? ??? ??? ??? ?return; ?? ??? ??? ?} ?? ??? ?} ?? ?} ?? ?show_msg("未找到联系人,修改失败",1.5); } void del(void) { ?? ?char key[20]={}; ?? ?puts("请输入要删除的姓名"); ?? ?scanf("%s",key); ?? ?for(int i=0;i<50;i++) ?? ?{ ?? ??? ?if(sex[i]) ?? ??? ?{ ?? ??? ??? ?if(0==strcmp(name[i],key)) ?? ??? ??? ?{ ?? ??? ??? ??? ?printf("删除%s %s %s联系人成功\n",name[i],'w'==sex[i]?"女":"男",tel[i]); ? ??? ??? ??? ??? ?sex[i]=0; ?? ??? ??? ??? ?count--; ?? ??? ??? ??? ?show_msg("",1.5); ?? ??? ??? ??? ?return; ?? ??? ??? ?} ?? ??? ?} ?? ?} ?? ?printf("没找到联系人%s,请检查查询条件\n",key);
} void find(void) { ?? ?char findmas[20]={}; ?? ?puts("请输入要查找的联系人信息"); ?? ?scanf("%s",findmas); ?? ?for(int i=0;i<50;i++) ?? ?{ ?? ??? ?if(sex[i]) ?? ??? ?{ ?? ??? ??? ?if(strstr(name[i],findmas)||strstr(tel[i],findmas)) ?? ??? ??? ?{ ?? ??? ??? ??? ?printf("%s %s %s\n",name[i],'w'==sex[i]?"女":"男",tel[i]); ?? ??? ??? ?} ?? ??? ?} ?? ?} ?? ?anykey_continue(); } void list(void) { ?? ?for(int i=0;i<50;i++) ?? ?{ ?? ??? ?if(sex[i]) ?? ??? ?{ ?? ??? ??? ?printf("%s %s %s\n",name[i],'w'==sex[i]?"女":"男",tel[i]); ?? ??? ?} ?? ?} ?? ?anykey_continue(); } char menu(void) { ?? ?system("clear"); ?? ?puts("******欢迎使用thy的通讯录******"); ?? ?puts("1、添加联系人"); ?? ?puts("2、删除联系人"); ?? ?puts("3、修改联系人"); ?? ?puts("4、查询联系人"); ?? ?puts("5、显示所有联系人信息"); ?? ?puts("6、退出通讯录"); ?? ?puts("******************************"); ?? ?puts("请输入指令"); ?? ?char ch=getch(); ?? ?printf("%c\n",ch); ?? ?return ch; }
int main(int argc,const char* argv[]) { ?? ?for(;;) ?? ?{ ?? ??? ?switch(menu()) ?? ??? ?{ ?? ??? ??? ?case '1':add();break; ?? ??? ??? ?case '2':del();break; ?? ??? ??? ?case '3':modify();break; ?? ??? ??? ?case '4':find();break; ?? ??? ??? ?case '5':list();break; ?? ??? ??? ?case '6':return 0; ?? ??? ?} ?? ?} }
|