- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《高级语言程序设计》课程设计报告
(2014——2015年度第二学期)
题 目 通讯录管理 专 业 计算机科学与技术 班 级 2014级B班 小组成员 李丽丽2009022899 班 级 2009级计本四班
《高级语言程序设计》课程设计
成 绩 评 定
学号 姓名 成绩 备注 2009022899 李丽丽
指导教师:
摘要:通过本课程设计,对程序控制结构、数组、结构体、函数、文件等的应用进行综合训练,并初步接触软件设计的基本步骤。本设计实现
关键词:控制结构,数组,结构体,函数,文件
一、课程设计
1.1课题题目:通讯录管理
1.2系统的主要目标:
本系统目标是实现通讯录管理的功能,对姓名、、、、Email、Windows XP Pro SP2
开发工具: Visual C++ 6.0
系统分析
1. 输入记录:将每一个职工的姓名、ID 号以及基本工资、职务工资、岗位津贴、医疗保险、公积金的数据作为一个记录。该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。
2. 显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。
3. 修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。
4.查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。
5. 删除记录:可删除数据文件中的任一记录。
6.恢复记录:能恢复被删除的任一记录。
7. 统计: (A) 计算各项工资平均工资及总工资, (B)统计符合指定条件(如职工工资前三项之和在2000 元以上、2000~1500 元、1500~1000 元) 以内的工资职工人数及占总职工人数的百分比。(C)按字符表格形式打印全部职工工资信息表及平均工资(包括各项总的平均工资)。
保存数据文件功能。
9.打开数据文件功能。
系统设计
3.1 功能模块划分
3.2模块接口设计
(1)主程序模块tel.cpp
仅包含main()函数,提供对系统的主要控制。在用户未选择退出程序时,通过一个循环不断显示菜单。当用户选中某个操作后,根据返回的菜单代码select调用各函数完成相应的操作。
(2)菜单模块menu.cpp
将显示菜单用单独的函数实现,使菜单界面独立于其它程序代码,便于修改和维护。Menu函数仅显示主菜单,SubMenu2函数仅显示更新联系人子菜单,这样各个菜单便于单独显示、清屏。用户选择操作后,函数返回对应的菜单代码。
各函数功能描述如下:
int Menu(void); 主菜单,显示第一级菜单:查看通信录、更新通信录、备份通信录、退出。
int SubMenu2(void); “更新通信录”子菜单,显示:新增联系人、编辑联系人、删除联系人、返回主菜单。
menu.cpp模块各函数之间的关系如图8.28所示:menu.cpp图8.28 menu.cpp模块各函数间的关系结构图MenuSubMenu2菜单代码
(3)查看模块 brows.cpp
以列表或单条记录的方式输出通信录。各函数功能描述如下:
void List(Tel tel[], Index pAlphabet);按pAlphabet中指针数组的排序方式,调用PrintOne函数显示tel中所有的联系人,并显示排序后的序号i,便于用户选择联系人。
void PrintHead(void); 输出表头。
void PrintBottom(void); 输出表尾。
void PrintOne(Tel r, int i); 仅输出一个联系人r的信息,并显示序号i,便于用户选择联系人。
void Print(Tel r); 调用PrintOne函数输出表头及一个联系人的信息,不显示序号。
(4)更新模块 edit.cpp
各函数功能描述如下:
void New(Tel tel[], Index *pAlphabet); 新增联系人。添加到tel数组中第一个空着的位置。之后需要对pAlphabet重新排序。
void Edit(Tel tel[], Index *pAlphabet); 编辑联系人。编辑之后需要对pAlphabet重新排序。
void Delete(Tel tel[], Index *pAlphabet); 删除联系人。此处做逻辑删除,仅将姓名赋空串。删除之后需对pAlphabet重新排序。
文档评论(0)