1. 首页
  2. 文档大全

数据结构课程设计-通信录的制作(附录中有全部代码).

上传者:11****88 2022-07-05 13:28:47上传 DOC文件 131.51KB
数据结构课程设计-通信录的制作(附录中有全部代码)._第1页 数据结构课程设计-通信录的制作(附录中有全部代码)._第2页 数据结构课程设计-通信录的制作(附录中有全部代码)._第3页

《数据结构课程设计-通信录的制作(附录中有全部代码).》由会员分享,可在线阅读,更多相关《数据结构课程设计-通信录的制作(附录中有全部代码).(18页珍藏版)》请在文档大全上搜索。

1、课程设计任务书专业名称:计算机科学与技术(软件工程)课程名称:数据结构课程设计 设计题目:通讯录的制作起止时间:2013年 6月24日至2013年7月12日问题描述编写一个通讯录管理系统。 基本要求1) 每条信息至少包含 :姓名(name)、街道(street)、城市(city)、邮编(eip)、国家(state)这几项;2) 作为一个完整的系统,应具有友好的界面和较强的容错能力;3) 利用链表作为存储结构4) 上机能正常运行通信录的制作1概要设计 该程序主要是解决用链表实现通讯录,并通过通讯录实现存取,显示,插入、删除记录等问题,首先进行数据的录入,包括编号、姓名、性别、电话号和地

2、址;其次是显示之前所录入的信息,并通过编号或姓名进行查询;第三是实现插入功能;第四是实现删除功能;之后是删除记录退出程序。 系统主要由五个函数组成:第一个函数是主函数主要功能主函数(main()函数)是通过一个多分支语句(switch(i)语句)实现的。,第二个函数主要的功能输入通讯录的信息包括编号、姓名、性别等,第三个函数通过编号或姓名查询所有信息。第四个函数将新的信息插入到系统中。第五个函数通过编号或姓名对所对应的通讯录信息进行删除。系统主要由四个模块组成:l 输入模块:输入通讯录的信息包括编号、姓名、性别等。l 查询模块:通过编号或姓名查询所有信息。l 插入模块:将新的信息插入到系统中。

3、l 删除模块:通过编号或姓名对所对应的通讯录信息进行删除。 图1模块图2详细设计 关键代码解析: 主函数int main()Pointer Head=NULL;int i;doprintf("-通讯录系统-n");printf("n");printf("1.插入联系人信息n");printf("2.查找联系人信息n");printf("3.修改联系人信息n");printf("4.删除联系人信息n");printf("5.显示联系人信息n");printf

4、("6.退出n");scanf("%d",&i);switch(i)case 1:Insert(&Head);break;case 2:Search(Head);break;case 3:Update(Head);break;case 4:Delete(&Head);break;case 5:Show(Head);break;case 6:break;default:printf("输入错误!请重新输入!");break;while(i!=6);return 0;void Insert(Pointer *Hea

5、d)char in_name10;Pointer p,q,r;printf("请输入姓名:");scanf("%s",in_name);p=q=*Head;while(p!=NULL)q=p;p=p->next;r=(Pointer)malloc(sizeof(Link);r->next=NULL;if(r=NULL)printf("分配空间失败!");return;if(q=NULL)*Head=r;elseq->next=r;strcpy(r->name,in_name);printf("请输入街

6、道:");scanf("%s",r->street);printf("请输入城市:");scanf("%s",r->city);printf("请输入邮编:");scanf("%s",r->eip);printf("请输入国家:");scanf("%s",r->state);void Search(Pointer Head)int flag=1;char in_name10;Pointer p;printf("请

7、输入要查询的姓名:");scanf("%s",in_name);p=Head;while(p!=NULL&&flag)if(strcmp(p->name,in_name)p=p->next;elseprintf("街道:%sn",p->street);printf("城市:%sn",p->city);printf("邮编:%sn",p->eip);printf("国家:%sn",p->state);flag=0;if(flag)pri

8、ntf("没有查询到!");void Update(Pointer Head)int flag=1;char in_name10;Pointer p;printf("请输入要修改的姓名:");scanf("%s",in_name);p=Head;while(p!=NULL&&flag)if(strcmp(p->name,in_name)p=p->next;elseprintf("请输入街道:");scanf("%s",p->street);printf(&quo

9、t;请输入城市:");scanf("%s",p->city);printf("请输入邮编:");scanf("%s",p->eip);printf("请输入国家:");scanf("%s",p->state);flag=0;if(flag)printf("没有找到要修改的记录!");void Delete(Pointer *Head)int flag=1;char in_name10;Pointer p,q;printf("请输入要删除的

10、姓名:");scanf("%s",in_name);p=q=*Head;while(p!=NULL&&flag)if(strcmp(p->name,in_name)q=p;p=p->next;elseif(p=*Head)*Head=p->next;free(p);elseq->next=p->next;free(p);flag=0;void Show(Pointer Head)Pointer p;p=Head;while(p!=NULL)printf("姓名:%-10s",p->name);

11、printf("街道:%-10s",p->street);printf("城市:%-10s",p->city);printf("邮编:%-10s",p->eip);printf("国家:%-10s",p->state);p=p->next;3调试报告在编辑完成一个C语言源程序并最终在计算机上看到程序的运行结果要经过以下几个步骤:上机输入与编辑源程序文件;编译源程序文件;与库函数连接;运行可执行文件。 拿到程序题目要求的初期我们首先按照指导老师的要求写了一篇预习报告,这要为我们的后续开发


文档来源:https://www.renrendoc.com/paper/212680530.html

文档标签:

下载地址