数据结构课程设计个人电话号码查询系统.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2014-2015学年 第二学期 《数据结构》 课程设计报告 题目:
个人电话号码查询系统 专业:
、 班级:
、 姓名:
、 指导教师:
、 成绩:
计算机与信息工程系
2014 年 12月 15 日
目录
1设计内容及要求 (1)
1.1课程设计目的 (1)
1.2设计内容及要求 (1)
2概要设计 (2)
2.1设计功能 (2)
2.2个人电话号码查询系统功能说明图 (2)
2.3个人电话号码查询各模块调用关系 (3)
3设计过程或程序代码 (3)
3.1管理系统功能模块设计 (3)
3.2数据结构及各模块分析 (4)
3.2.1 基本数据类型(结构体) (4)
3.2.2附助常量,变量 (4)
3.2.3函数 (4)
4设计结果与分析 (5)
4.1整体大纲 (5)
4.2启动程序截图,代码 (6)
4.2.1代码分析 (6)
4.3进入主菜单截图,代码 (8)
4.3.1代码分析 (8)
4.4新添记录截图,代码 (9)
4.4.1 新添模块代码 (10)
4.5查找记录截图,代码 (11)
4.5.1代码分析 (12)
4.6删除记录截图,代码 (13)
4.6.1代码分析 (13)
4.7保存文件,不保存文件 (16)
4.8总结 (16)
5参考文献 (17)
1设计内容及要求
1.1课程设计目的
通过设计一个《个人电话号码查询系统》,进一步熟悉C中的概念、基本知识和技能利用所学的基本知识和技能解决简单的面向对象的程序设计问题。了解系统开发的需求分析、层次设计、模块分解、编码测试、模块组装与整体调试的全过程,加深对C的理解与Visual C++环境的使用:逐步熟悉程序设计的方法,并养成良好的编程习惯。
1.2设计内容及要求
编写一个个人电话号码查询系统把所学数据结构知识应用到实际软件开发中。
设计内容:本系统应完成一下几方面的功能:
1)输入信息enter();
2)显示信息display( );
3)查找以姓名作为关键字search( );
4)删除信息delete( );
5)存盘save ( );
6)装入load( ) ;
设计要求:
1)每条信息至包含:姓名(NAME )电话(TELL)地址(CITY)QQ几项;
2)作为一个完整的系统,应具有友好的界面和较强的容错能力。
3)上机能正常运行,并写出课程设计报告。
2概要设计
2.1设计功能
A.添加:
系统将提示用户输入新添加人员信息,输入到文件中,人员信息数据包括姓名(name),电话(tell),城市(city),QQ。
B.删除:
首先由用户输入要删除的人员的姓名,然后调用删除函数,删除该人员的所有相关资料.
C.显示所有人员信息:
该功能将显示已经保存的所有人员的姓名,街道,城市,邮编及国家.
D.查询:
可由用户输入要查找的人员姓名,然后系统用查找函数查找,接着系统使用相关文件命令输出所查找的人员的全部信息.
E:退出系统:
关闭通讯录管理系统。
2.2个人电话号码查询系统功能说明图
图 1
2.3个人电话号码查询各模块调用关系
图 2
3设计过程或程序代码
3.1管理系统功能模块设计
新添联系人模块
查询菜单模块
删除联系人模块
保存退出模块
不保存退出模块
3.2数据结构及各模块分析
3.2.1 基本数据类型(结构体)
struct record //定义结构体record
{
char name[20];
char tel[20];
char city[20];
char QQ[20];
}student[500];
struct slnode //定义一个双向链表
{
record data;
struct slnode *next;
struct slnode *prior;
};
3.2.2附助常量,变量
typedef slnode * linklist; //双向链表指针linklist l;//定义链表
int num=0;//个人信息数量控制
FILE *fp;//文件指针,控制文件读写
3.2.3函数
void mainmenu();//主菜单
void searchmenu();查找记录菜单
void enter();//具体输入记录
void search();//具体查找记录
void display();//具体显示记录
void load();//导入文件
void save();//保存文件
void delet();//删除记录
void listinsert();//插入链表
void initlist();//初始化
4设计结果与分析
4.1整体大纲
可以分成六大模块,对模块一一分析,采用,截图,代码解释进行说明,输入信息模块,显示信息模块,查找以姓名作为关键模块,删除信息模块,存盘模块,装入模块;