C语言如何实现简单的通讯录
作者
这篇文章给大家分享的是有关C语言如何实现简单的通讯录的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
用C语言写了一个简单的通讯录,说简单一是功能简单,二是也没有加读写文件操作,只是作为链表操作的一个练习,希望能给这方面的新手一此引导和帮助。
代码:
/*转贴请注明出处*/ /*作者:小浦原(ID:blueboy82006)*/ /*http://blog.csdn.net/blueboy82006*/ #include<stdio.h> #include<stdlib.h> #include<string.h> #include<ctype.h> typedefstructnode{ charname[12]; charphone[13]; structnode*next; }LNode; LNode*h;//头结点 staticintflag=1;//通讯录创建标记 intCreateNode(void)//创建单循环链表 { if(flag) { LNode*p; h=(LNode*)malloc(sizeof(LNode)); h->next=NULL; p=h; flag--; return1; } else return0; } intInsertNode(void)//插入函数 { if(!flag) { LNode*t; charname1[12]; charphone1[13]; printf("/n输入姓名:"); scanf("%s",name1); printf("/n输入联系电话:"); scanf("%s",phone1); t=(LNode*)malloc(sizeof(LNode)); strcpy(t->name,name1); strcpy(t->phone,phone1); t->next=h->next; h->next=t; return1; } else return0; } intSearchNode(void)//查询函数 { if(!flag) { LNode*p; intx=0; charname1[12]; printf("/n输入查询姓名:"); scanf("%s",name1); p=h; printf("/n查询结果:"); while(p->next) { p=p->next; if(strcmp(p->name,name1)==0) { printf("/n姓名:%s/n联系电话:%s/n",p->name,p->phone); x++; } } if(!x) printf("/n没有找到相关信息!"); return1; }else return0; } intDeletNode(void)//删除函数 { if(!flag) { LNode*pre,*p; charname1[12]; p=h; printf("/n输入要删除联系人的姓名:"); scanf("%s",name1); while(p->next) { pre=p; p=p->next; if(strcmp(p->name,name1)==0) { pre->next=p->next; free(p); printf("删除成功!/n"); break; } } if(!p->next) printf("/n没有找到要删除的信息!"); return1; } else return0; } intPrintNode(void)//输出函数 { if(!flag) { LNode*p; p=h; while(p->next) { p=p->next; printf("/n姓名:%s/t联系电话:%s",p->name,p->phone); } return1; } else return0; } intmain()//主函数 { charn; printf("/n/n"); printf("/t/t通讯录/t/n"); printf("/t/t|————————————————|/n"); printf("/t/t||/n"); printf("/t/t|[1]建立通讯录|/n"); printf("/t/t|[2]插入联系人的姓名|/n"); printf("/t/t|[3]查找联系人的姓名|/n"); printf("/t/t|[4]删除联系人的姓名|/n"); printf("/t/t|[5]输出所有联系人信息|/n"); printf("/t/t|[0]退出|/n"); printf("/t/t||/n"); printf("/t/t|如未建立新表,请先建立!|/n"); printf("/t/t||/n"); printf("/t/t|————————————————|/n"); printf("/n"); printf("请输入你的选项(0-5):"); while(1) { scanf("%s",&n); while(!(n=='0'||n=='1'||n=='2'||n=='3'||n=='4'||n=='5')) { printf("请输入你的选项(0-5):"); scanf("%s",&n); } system("CLS"); switch(n) { case'0':{ printf("/n/t/t感谢您的使用!/n"); return0; } case'1':{ if(CreateNode()) printf("通讯录建立成功!/n"); else printf("通讯录已建立,无需重复建立!/n"); break; } case'2':{ if(InsertNode()) printf("添加成功!/n"); else printf("添加失败,请先创建通讯录!/n"); break; } case'3':{ if(SearchNode()) printf("/n"); else printf("查找失败,请先创建通讯录!/n"); break; } case'4':{ if(DeletNode()) printf("/n"); else printf("删除失败,请先创建通讯录!/n"); break; } case'5':{ if(PrintNode()) printf("/n以上是全部联系人信息./n"); else printf("ERROR,请先创建通讯录!/n"); break; } default:{printf("输入不符合要求!");} } printf("/n/n"); printf("/t/t通讯录/t/n"); printf("/t/t|————————————————|/n"); printf("/t/t||/n"); printf("/t/t|[1]建立通讯录|/n"); printf("/t/t|[2]插入联系人的姓名|/n"); printf("/t/t|[3]查找联系人的姓名|/n"); printf("/t/t|[4]删除联系人的姓名|/n"); printf("/t/t|[5]输出所有联系人信息|/n"); printf("/t/t|[0]退出|/n"); printf("/t/t||/n"); printf("/t/t|如未建立新表,请先建立!|/n"); printf("/t/t||/n"); printf("/t/t|————————————————|/n"); printf("/n"); } }
感谢各位的阅读!关于“C语言如何实现简单的通讯录”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
目录
推荐阅读
0 条评论
本站已关闭游客评论,请登录或者注册后再评论吧~