通讯录
来源:互联网 发布:人工智能替代人类 编辑:程序博客网 时间:2024/03/28 20:36
写了一晚上,调了调,也没啥优化的,鲁棒性也没怎么考虑
#include<stdio.h>int counts;struct people { int num; char name[20]; int phone[20]; int QQ[20];};struct people node[100];void mainMenu() { printf(" 通讯录管理系统\n"); for(int i=0;i<25;i++) printf("*"); printf("Mune"); for(int i=0;i<25;i++) printf("*"); printf("\n"); printf("* 1 input record\t\t2 search record *\n"); printf("* 3 delete record\t\t4 insert record *\n"); printf("* 5 modify record\t\t6 sort record *\n"); printf("* 7 save record\t\t8 display record *\n"); printf("* 9 read record\t\t0 quit record *\n");}void input(int n) { for(int i=counts;i<counts+n;i++) { printf("Pleaes input the people's number:"); scanf("%d",&node[i].num); printf("Please input the people's name:"); scanf("%s",&node[i].name); printf("Please input the people's phone number:"); scanf("%s",&node[i].phone); printf("Please input the people's QQ number:"); scanf("%s",&node[i].QQ); } printf("You input the %d people successful\n",n); counts+=n;}void delect(int num) { for(int i=num-1;i<counts;i++) { node[i].num=node[i+1].num; strcpy(node[i].name,node[i+1].name); strcpy(node[i].phone,node[i+1].phone); strcpy(node[i].QQ,node[i+1].QQ); } counts--; printf("You delect the %d's people successful.\n",num);}void insert(struct people temp) { node[counts].num=temp.num; strcpy(node[counts].name,temp.name); strcpy(node[counts].phone,temp.phone); strcpy(node[counts].QQ,temp.QQ); counts++; printf("You insert the information successful.\n");}int searchByNumber(int num) { for(int i=0;i<counts;i++) { if(node[i].num==num) { printf("The people 's number is :%d\n",node[i].num); printf("The people 's name is :%s\n",node[i].name); printf("The people 's phone number is :%s\n",node[i].phone); printf("The people 's QQ number is :%s\n",node[i].QQ); return 1; } } return -1;}int searchByName(char *name) { for(int i=0;i<counts;i++) { if(strcpy(name,node[i].name)) { printf("The people 's number is :%d\n",node[i].num); printf("The people 's name is :%s\n",node[i].name); printf("The people 's phone number is :%s\n",node[i].phone); printf("The people 's QQ number is :%s\n",node[i].QQ); return 1; } } return -1;}void modify(){ printf("Please input the people's name you want to modify:"); char name[20]; scanf("%s",&name); for(int i=0;i<counts;i++) { if(strcmp(name,node[i].name)==0) { printf("Which information you want to change?"); printf("1.num 2.name 3.phone number 4QQ\n"); int n; scanf("%d",&n) ; if(n==1) { printf("Please input the new number:"); int new_number; scanf("%d",&new_number); node[i].num=new_number; } else if(i==2) { printf("Please input the new name:"); int new_name[20]; scanf("%s",&new_name); strcmp(node[i].name,new_name); } else if(i==3) { printf("Please input the new phone number:"); int new_phone[20]; scanf("%s",&new_phone); strcmp(node[i].phone,new_phone); } else if(i==4) { printf("Please input the new QQ number:"); int new_QQ[20]; scanf("%s",&new_QQ); strcmp(node[i].QQ,new_QQ); } printf("You modify the information successful.\n"); } }}void orderByName() { struct people temp; for(int i=0;i<counts;i++) { for(int j=i;j<counts;j++) { for(int k=0;k<strlen(node[i].name)&&k<strlen(node[j].name);k++) if(node[i].name[k]!=node[j].name[k]) { if(node[i].name[k]>node[j].name[k]) { temp=node[i]; node[i]=node[j]; node[j]=temp; } else break; } } } printf("You have sort the book successful.\n");}void orderByNumber() { struct people temp; for(int i=0;i<counts;i++) { for(int j=i;j<counts;j++) { if(node[i].num!=node[j].num) { if(node[i].num>node[j].num) { temp=node[i]; node[i]=node[j]; node[j]=temp; } break; } } } printf("You have sort the book successful.\n");}void save(int n,FILE *fp) { for(int i=0;i<n;i++) { fprintf(fp, "The people's num is %d\n", node[i].num); fprintf(fp, "The people's name is %s\n", node[i].name); fprintf(fp, "The people's phone is %s\n", node[i].phone); fprintf(fp, "The people's QQ is %s\n", node[i].QQ); } printf("You save the book successful.\n");}void print(int n) { // if(counts<n) {printf("You only have %d people's information\n",counts);return;} for(int i=0;i<n;i++) { printf("The %d's number is :%d\n",i+1,node[i].num); printf("The %d's name is :%s\n",i+1,node[i].name); printf("The %d's phone is :%s\n",i+1,node[i].phone); printf("The %d's QQ is :%s\n\n\n",i+1,node[i].QQ); }}void read(FILE *fp) { int num; printf("How many people do you want to read:"); scanf("%d",&num); for(int i=0;i<num;i++) { fscanf(fp, "The people's num is %d\n", &node[i].num); fscanf(fp, "The people's name is %s\n", &node[i].name); fscanf(fp, "The people's phone is %s\n",& node[i].phone); fscanf(fp, "The people's QQ is %s\n", &node[i].QQ); } printf("You read the book successful.\n");}int main(){ mainMenu(); int x; counts=0; while(scanf("%d",&x)&&x) { if(x>9) printf("please input the number from 0 to 9"); else { if(x==1) { printf("How many people do you want to input:"); int n; scanf("%d",&n); input(n); } if(x==2) { printf("Which way do you want to search?"); printf("1.num 2.name\n"); int n; scanf("%d",&n); if(n==1) { printf("Please input the num you want to search:"); int num; scanf("%d",&num); if(searchByNumber(num)==-1) { printf("I can't find this people.\n"); } } else if(n==2) { printf("Please input the name you want to search:"); char name[20]; scanf("%s",&name); if(searchByName(name)==-1) { printf("I can't find this people.\n"); } } } if(x==3) { printf("Please input the people's number you want do delect:\n"); int num; scanf("%d",&num); void delect(num); } if(x==4) { struct people temp; printf("Pleaes input the people's number:"); scanf("%d",&temp.num); printf("Please input the people's name:"); scanf("%s",&temp.name); printf("Please input the people's phone number:"); scanf("%s",&temp.phone); printf("Please input the people's QQ number:"); scanf("%s",&temp.QQ); insert(temp); } if(x==5) { modify(); } if(x==6) { printf("Which way do you want do sort those people\n"); printf("1.name 2.number\n"); int n; scanf("%d",&n); if(n==1) { orderByName(); } else orderByNumber(); } if(x==7) { FILE *fp; fp=fopen("out.txt","wb"); printf("How many people do you want to save?"); int n; scanf("%d",&n); save(n,fp); fclose(fp); } if(x==8) { int n; printf("How many people do you want to look?"); scanf("%d",&n); print(n); } if(x==9) { FILE *fp; fp=fopen("out.txt" , "rb" ); if ( fp == NULL ) printf("I can't find this file.\n"); else read(fp); fclose(fp); } } } printf("You had quit The people's Management System\n"); return 0;}
阅读全文
0 0
- 通讯录
- 通讯录
- 通讯录
- 通讯录
- 通讯录
- 通讯录
- 通讯录
- 通讯录
- 通讯录
- 通讯录
- 通讯录
- 通讯录
- 通讯录
- 通讯录
- 通讯录
- 通讯录
- 通讯录
- 通讯录
- JVM——运行时数据区域
- MYSQL SELECT FOR UPDATE
- URL地址中含有点号导致参数解析错误的解决办法
- [BZOJ3242][NOI2013]快餐店-基环树-动态规划
- Vmware虚拟机安装Ubuntu 16.04 LTS(长期支持)版本+VMware tools安装
- 通讯录
- 分布式锁的三种实现方式
- 开博啦~
- javascript 根据给定的id集合查询对应的值,返回 json对象
- 【图解算法】排序算法——归并排序
- Java-String与其他数据类型的转换
- 皮卡丘的梦想2(线段树+位运算)
- Linux网络基础——端口
- 大端与小端存储详解