文档介绍:湖南商学院
《数据结构》课程设计报告
题目通讯录管理系统的设计与实现
姓名:
学号:
专业:
班级:
指导教师:
职称:
计算机与电子工程学院
2010年7月
目录
1 系统简介 1
设计目的与要求 1
设计目的 1
设计要求 1
2 总体设计 1
系统功能概要 1
数据结构及原理 2
3 详细设计 3
各模块调用关系 3
插入信息 4
显示信息 4
查询信息 4
其他功能 5
4 系统测试 6
5 总结 11
参考文献 11
附录 11
课程设计作品验收表
题目
参与人员
姓名
班级
学号
设计任务与要求:
◆建立通讯录信息,信息包括姓名、街道、城市、邮编、电话、国家等内容;
◆能够输出通讯录信息。
◆能够提供添加、删除和查询通讯录信息等功能;
◆提供至少两种查询通讯录信息的方法;
◆能将通讯录保存在文件中。
作品完成情况:
◆成功建立包括姓名、街道、城市、邮编、电话、国家等内容的通讯录系统;
◆提供了输出通讯录信息的方法;
◆提供了添加、删除和查询通讯录信息等功能;
◆提供了按姓名查找和按城市查找通讯信息的功能;
◆完成了将通讯录保存在文件中的功能。
验收情况:
验收教师签名:___________
年月日
注:1. 除“验收情况”栏外,其余各栏均由学生在作品验收前填写。
2. “验收情况”栏由验收小组按实际验收的情况如实填写。
通讯录管理系统的设计与实现
1 系统简介
设计目的与要求
设计目的
随着信息社会的高速发展,人与人之间的联系越来越频繁,通讯方式越来越多样化,如何保证与朋友、同学、同事、领导、亲戚等之间的联系,并能方便快捷的查找、记录、修改其相关通讯信息。仅靠以前单独的手工记录已远远不能满足当前的需要。
开发一个通讯录管理系统,借助计算机可以方便、快捷、灵活的管理个人的朋友及相关人员的通讯信息,了解友人相关信息,帮助与友人保持联络。
所以设计一个通讯录管理系统管理各人的通讯信息是是非必要的。
设计要求
建立通讯录信息,实现基础数据信息的录入,信息包括姓名、街道、城市、邮编、电话、国家等内容。
实现查看信息的功能,能够输出全部的通讯录信息。
实现通讯录管理系统的维护,能够提供包括添加通讯信息、删除通讯信息和查询通讯录信息等功能。
提供至少两种查询通讯录信息的方法,便于用户查找通讯信息。
能将通讯录保存在文件中。
2 总体设计
系统功能概要
通讯录管理系统是基于双向循环链表设计而成的信息管理系统。该系统通过对程序进行模块化,建立添加、显示、查找和删除功能的函数,各函数中运用双向循环链表存储数据。从主函数开始执行,调用各
函数,并运用文件相关知识将信息存入磁盘中。系统功能模块图如图1:
创建通讯录
通讯录管理
通讯录查询
添加信息
删除记录
显示记录
将信息存入文件
按姓名查询
按城市查询
图1 系统功能模块图
数据结构及原理
(1)为存储通讯录信息,需定义一个结构体类型,成员包括姓名、街道、城市、邮编、电话、国家等,并建立双向循环链表,定义该结构体类型的指针,用于指向各结点。结构体定义如下:
typedef struct message
{
char name[15];
char street[30];
char city[20];
char eip[20];
char state[20];
char telephone[20];
}dmessage; /*建立通讯录信息结构体;*/
typedef struct dlnode
{
dmessage data;
struct dlnode *prior;//定义结点的前驱指针
struct dlnode *next;//定义结点的后继指针
}dnode; /*建立双向链表结构体;*/
(2)以列表的形式输出文件。
(3)分别建立具有添加、删除、修改、查询等功能的子函数,完成相应功能,对程序实现模块化。这其中要用到对链表的删除、插入等知识。删除时用一结构体指针指向链表的第一个结点,检查该节点的值是否等于输入的要删除的信息,若相等就删除,不相等则后移指针,直至表尾。插入时也要先找到相应结点,再添加。查询功能要设置姓名、城市等多种方式。
(4)为实现存储功能,需用到文件的相关函数,打开