数据结构课程设计-通讯录管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构》
课程设计报告书
题目:通讯录管理系统
系别:计算机科学与应用系学号:
学生姓名:
指导教师:
完成日期:2012年5月28日
1 问题描述
(1)题目内容:通讯录管理。
(2)基本要求:利用单链表实现通讯录的建立、通讯者的插入、通讯者的删除、通讯者的查询以及通讯录的输出。
(3)设计目的:通过本次课程设计,了解通讯录的一些基本功能。掌握利用单链表进行插入,查找,用关键字建立单链表。
2 需求分析
经过本次的课程设计,我认为通讯录主要实现的功能如下:
(1)添加信息:一个通讯录应该有其基本的添加功能。在程序设计时,我通过一个具有添加功能的函数,实现了个人信息的添加,如:姓名,性别,电话号码,QQ号码,地址。
(2)删除信息:当你不需要某个联系人的信息时,可以直接将该人的信息删除。
(3)查找:一个通讯录应该具有令一基本功能就是查找,本设计时可以按联系人为关键字查找的,只要你输入要查找人的姓名或手机号码或QQ号码就可出来相应的个人信息。
(4)输出:一个通讯录应该具有输出所有联系人的功能,本设计按照次序可以从头到尾把通讯录中的所有联系人都输出,供自己查看。
(5)退出:当你做完你要做的事情之后,就可以退出该程序。
3 总体设计
3.1 算法的定义
LinkList Creat_LinkList()创建空单链表
void Insert_LinkList(LinkList H)建立通讯录,录入联系人的信息,可以把联系人的姓名,性别,手机号,QQ号,地址录入系统。
void Locate_LinkList(LinkList H)按照联系人的姓名,手机号码,QQ号码查找通讯录中联系人的信息。
void Delete_LinkList(LinkList H)按照联系人的姓名,手机号码,QQ号码删除联系人的所有信息。
void print_LinkList(LinkList H)输出通讯录中的所有联系人的信息供使用者查看。
3.2 系统流程图
图3-1通讯录管理功能图3.3 详细程序设计
1)定义数据结构
typedef struct Node //定义数据结构
{
char name[20];//姓名
char sex[4]; //性别
char tel[11];//电话号码
char qq[13]; //qq号码
char ad[100];//地址
Node *next;//存放后继元素的地址
}LNode,*LinkList;
2)创建一个空的单链表
LinkList Creat_LinkList()
{//创建空单链表,入口参数无
LinkList H;
H=new LNode;
if(H)//确认创建头结点创建是否成功,若成功,修改单链表头结点的指针域为0表空表
{
H->next=NULL;
}
return H;
}
3)向通讯录中插入联系人
void Insert_LinkList(LinkList H)
{
LinkList p;
p=new LNode;
if(!p)
{
cout<<"不能插入!"< } cout<<"请输入你要插入的联系人信息:"< cout<<"姓名:"< cin>>p->name; cout<<"性别:"< cin>>p->sex; cout<<"手机号码:"< cin>>p->tel; cout<<"QQ号码:"< cin>>p->qq; cout<<"地址:"< cin>>p->ad; p->next=H->next; H->next=p; cout<<"插入成功"< } 4)查询通讯录中某个联系人的信息 void Locate_LinkList(LinkList H) { int x; LinkList p=H->next; cout<<"你要通过哪种方式查询?"< cout<<"1.通过联系人姓名查询"< cout<<"2.通过联系人手机号码查询"< cout<<"3.通过联系人QQ号码查询"< cin>>x; char str[30]; if(x==1) { cout<<"请输入你要查询的联系人的姓名:"; cin>>str; while(p && strcmp(p->name,str)!=0) { p=p->next; } } if(x==2) { cout<<"请输入你要查询的联系人的手机号码:"; cin>>str; while(p&&strcmp(p->tel,str)!=0) { p=p->next; } } if(x==3) { cout<<"请输入你要查询的联系人的QQ号码:"; cin>>str;