数据结构课程设计-通讯录管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

相关文档
最新文档