PAGE
PAGE 1
PAGE 1
C语言课程设计报告
课题名称 通讯录管理系统
姓 名 × × ×
系 别
班 级
指导老师
日 期
江 海 职 业 技 术 学 院
PAGE
PAGE 2
目 录
需求分析…………………………………………………………
概要设计…………………………………………………………
1.系统功能组成框图………………………………………………………………
2.模块功能说明……………………………………………………………………
详细设计…………………………………………………………
1. 数据结构设计 …………………………………………………………………
2.主函数的设计 …………………………………………………………………
3.输入模块的设计 ………………………………………………………………
4.浏览模块的设计…………………………………………………………………
5.查询模块的设计…………………………………………………………………
6. 插入模块的设计…………………………………………………………………
7. 删除模块的设计…………………………………………………………………
8、排序模块的设计…………………………………………………………………
9、修改模块的设计…………………………………………………………………
设计及调试分析…………………………………………………
用户手册…………………………………………………………
测试数据…………………………………………………………
心得体会…………………………………………………………
附录
附录1:程序代码
附录2:参考文献
通讯录管理系统
需求分析
操作对象有多个属性,故其类型为结构体类型
多个对象数据的录入采用循环实现
通讯录信息保存到文件中,涉及到文件的读写操作。
排序操作可采用冒泡排序和选择法排序
主函数中根据用户不同选择执行不同操作可通过“多分支选择语句switch”实现
概要设计
1.系统功能组成框图
通讯录管理系统
通讯录管理系统
录入
显示
查询
删除
修改
排序
姓名升序
姓名降序
电话号码升序
电话号码降序
按姓名查询
按电话号码查询
2.数据结构设计
通讯录为结构体,成员包括姓名、电话号码、住址
struct 结构体名
{
姓名类型定义;
电话号码类型定义;
住址类型定义;
};
3.模块功能说明
本程序包括七个组要模块
3.1主程序模块
main()
{
清屏并显示主菜单提示用户选择所要执行的操作
根据用户的选择执行相应模块
}
3.2录入模块——实现通讯信息的录入
3.3显示模块——实现通讯录信息的显示
3.4查询模块——按用户指定要求(姓名或电话号码)查询指定对象的通讯信息
3.5删除模块——删除相应对象的通讯信息
3.6修改模块——修改相应对象的通讯信息
3.7排序模块——按用户指定要求(姓名或电话号码)将通讯信息进行排序
详细设计
1、通讯录类型定义
typedef struct person
{
char name[10]; /* 姓名 */
char tel[20]; /* 电话号码 */
char addr[50]; /* 住址 */
} PERSON;
2、通讯录基本操作实现
void showTitle(); /* 显示标题行 */
void sortSubMenu(); /* 排序菜单 */
void inputFileName(); /* 输入通讯录文件名 */
void createBook(); /* 新建通信录 */
void displayBook();/* 显示通信录信息*/
void searchBook(); /* 按姓名查找记录 */
void appendBook(); /* 添加记录 */
void modifyBook(); /* 根据姓名