C语言实现简易通讯录功能
本文实例为大家分享了C语言实现简易通讯录的具体代码,供大家参考,具体内容如下
这两天用C语言编写了一个简易版通讯录(学生信息管理),大致功能有添加信息,查看信息(自动按姓名排序,printf输出带颜色字体),查找信息(按姓名查找),删除信息(输入姓名删除相关信息),修改信息(输入修改人的名字,可选择修改其任意信息)和退出。
#include#include #include #defineSIZE100 typedefstructstudentSTU; intperson=0; structstudent { charname[10]; intnum; intage; }; voidwelcome() { system("clear"); printf("\n\n\n\n\t\t\t========================================"); printf("\n\n\t\t\t\t\tWelcome!\n"); sleep(3); } voidmenu() { system("clear"); printf("\n\n\t************************************************************************"); printf("\n\t\t\t\t\t请选择:"); printf("\n\t\t\t\t\t1.添加信息"); printf("\n\t\t\t\t\t2.查看信息"); printf("\n\t\t\t\t\t3.查找信息"); printf("\n\t\t\t\t\t4.删除信息"); printf("\n\t\t\t\t\t5.修改信息"); printf("\n\t\t\t\t\t6.退出"); printf("\n\t************************************************************************"); } /*添加信息*/ voidAddInfo(STU*s[]) { system("clear"); printf("姓名学号年龄\n"); printf("------------------------\n"); printf("请输入信息:(bye结束添加)\n"); while(1) { s[person]=(STU*)malloc(sizeof(STU)); if(NULL==s[person]) { printf("mallocfailure!\n"); } scanf("%s",s[person]->name); if(!strcmp(s[person]->name,"bye")) { break; } scanf("%d%d",&s[person]->num,&s[person]->age); getchar(); person++; } } /*查看信息(按姓名排序)*/ voidShowAll(STU*s[]) { system("clear"); inti,j; STU*q[1]={0}; q[0]=(STU*)malloc(sizeof(STU)); printf("information:\n"); for(i=0;i name,s[j+1]->name)>0) { q[0]=s[j]; s[j]=s[j+1]; s[j+1]=q[0]; } } } for(i=0;i name,s[i]->num,s[i]->age); } sleep(3); getchar(); } /*查找信息*/ voidSearch_name(char*name,STU*s[]) { inti,n=0; for(i=0;i name)==0) { n++; printf("name:%s,num:%d,age:%d\n",s[i]->name,s[i]->num,s[i]->age); } } if(n==0) { printf("不存在!\n"); } } voidSearchInfo(STU*s[]) { system("clear"); char*name=(char*)malloc(sizeof(char)); printf("请输入要查找的人的名字:\n"); scanf("%s",name); Search_name(name,s); } /*删除信息*/ voidDeleteInfo(STU*s[]) { system("clear"); inti,n=0,j; chardel_name[10]; printf("请输入要删除的人的名字:\n"); scanf("%s",del_name); getchar(); getchar(); for(i=0;i name)==0) { n++; free(s[i]); for(j=i;j name,s[j+1]->name); s[j]->num=s[j+1]->num; s[j]->age=s[j+1]->age; } person--; } } if(n==0) { printf("要删除的人不存在!\n"); } else { printf("删除成功!\n"); } } /*修改信息*/ voidChange_name(char*name,STU*s[]) { inti,n=0,choice; char*new_name=(char*)malloc(sizeof(char)); intnew_num,new_age; for(i=0;i name)==0) { n++; printf("该学生的信息如下:"); printf("name:%s,num:%d,age:%d\n",s[i]->name,s[i]->num,s[i]->age); printf("----------------------------\n"); printf("请选择要修改的内容(1.name2.num3.age):\n"); scanf("%d",&choice); switch(choice) { case1: printf("请输入新的名字:\n"); scanf("%s",new_name); strcpy(s[i]->name,new_name); break; case2: printf("请输入新的学号:\n"); scanf("%d",&new_num); s[i]->num=new_num; break; case3: printf("请输入新的年龄:\n"); scanf("%d",&new_age); s[i]->age=new_age; break; } } } if(n==0) { printf("不存在!\n"); } } voidChangeInfo(STU*s[]) { system("clear"); char*name=(char*)malloc(sizeof(char)); printf("请输入要修改的人的名字:\n"); scanf("%s",name); Change_name(name,s); } intmain() { structstudent*s[SIZE]={0}; intchoice; welcome(); while(1) { menu(); printf("\nPleaseinputchoice:"); scanf("%d",&choice); switch(choice) { case1: AddInfo(s); break; case2: ShowAll(s); break; case3: SearchInfo(s); break; case4: DeleteInfo(s); break; case5: ChangeInfo(s); break; case6: exit(0); break; } } return0; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。