高级语言程序设计课程设计报告及示例.doc
《高级语言程序设计课程设计报告及示例.doc》由会员分享,可在线阅读,更多相关《高级语言程序设计课程设计报告及示例.doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、高级语言程序设计课程设计报告(20142015年度第二学期)题 目通讯录管理专 业计算机科学与技术班 级2014级B班小组成员李丽丽2009022899 班 级2009级计本四班高级语言程序设计课程设计成 绩 评 定学号姓名成绩备注2009022899李丽丽 指导教师: 摘要:一级标题黑体五号,页面设置为上下左右页边距为2厘米装订时在左装订,用2个订书针就可以通过本课程设计,对程序控制结构、数组、结构体、函数、文件等的应用进行综合训练,并初步接触软件设计的基本步骤。本设计实现后面简要描述设计的功能关键词:控制结构,数组,结构体,函数,文件一、课程设计的目的与要求通过实践训练,进一步掌握C语言程
2、序控制结构、数组、结构体、函数、文件的使用方法,提高程序编写调试的实际能力,培养初步的工程设计能力和综合分析、解决问题的能力。具体如下:1. 学习和实践在分析和设计计算机应用系统所需要的知识,包括功能分析和模块划分、函数设计、数据的结构分析、设计和存取操作;2. 熟悉Visual C+的代码编制和调试过程;3. 初步培养文档的编写能力;4. 培养协作能力和团队精神。二、设计正文1. 概述二级及及其他标题宋体五号,正文宋体五号,行间距固定值16磅1.1课题题目:通讯录管理1.2系统的主要目标:本系统目标是实现通讯录管理的功能,对姓名、群组、住宅电话、手机、Email、地址和备注信息进行输入、删除
3、、查找和修改,数据存储于二进制文件。 1.3 系统的开发环境及运行环境:操作系统: Windows XP Pro SP2开发工具: Visual C+ 6.02. 系统分析1. 输入记录:将每一个职工的姓名、ID 号以及基本工资、职务工资、岗位津贴、医疗保险、公积金的数据作为一个记录。该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。2. 显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。3. 修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。4查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显
4、示。5. 删除记录:可删除数据文件中的任一记录。6恢复记录:能恢复被删除的任一记录。7. 统计: (A) 计算各项工资平均工资及总工资, (B)统计符合指定条件(如职工工资前三项之和在2000 元以上、20001500 元、15001000 元) 以内的工资职工人数及占总职工人数的百分比。(C)按字符表格形式打印全部职工工资信息表及平均工资(包括各项总的平均工资)。8 保存数据文件功能。9.打开数据文件功能。3. 系统设计3.1 功能模块划分欢迎画面主菜单显示功能查找功能删除功能输入功能保存与读取退出程序添加功能修改功能统计功能按ID号查找按姓名查找修改ID号修改姓名修改职务工资修改基本工资修
5、改医保修改津贴修改公积金3.2模块接口设计(1)主程序模块tel.cpp仅包含main()函数,提供对系统的主要控制。在用户未选择退出程序时,通过一个循环不断显示菜单。当用户选中某个操作后,根据返回的菜单代码select调用各函数完成相应的操作。(2)菜单模块menu.cpp将显示菜单用单独的函数实现,使菜单界面独立于其它程序代码,便于修改和维护。Menu函数仅显示主菜单,SubMenu2函数仅显示更新联系人子菜单,这样各个菜单便于单独显示、清屏。用户选择操作后,函数返回对应的菜单代码。各函数功能描述如下:int Menu(void); 主菜单,显示第一级菜单:查看通信录、更新通信录、备份通信
6、录、退出。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 PrintHe
7、ad(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); 编辑
8、联系人。编辑之后需要对pAlphabet重新排序。void Delete(Tel tel, Index *pAlphabet); 删除联系人。此处做逻辑删除,仅将姓名赋空串。删除之后需对pAlphabet重新排序。void Input(Tel *r, Tel tel, int menu); 输入联系人信息。新增或编辑联系人时,调用该函数来输入一个联系人的信息。如果是新增(此时菜单代码menu=21),当用户选择只输入姓名时,需要为除姓名以外的信息设置缺省值;否则,除姓名以外的信息缺省保持不变。int Duplicate(char *name, Tel tel, char *original);
9、 姓名查重。在新增或编辑联系人前,调用该函数来检查是否有重名的情况。新增联系人时,如果新输入的串name与tel数组中已存在的姓名一样则返回1;否则,返回0。编辑时可以输入与联系人原来的姓名original一样的串。int Select( ); 选择联系人序号。删除或修改用户选择的联系人时,调用该函数来限制序号在有效范围内。返回对应的数组下标。 (5)排序模块 sort.cpp利用指针数组对通信录运用选择法排序。各函数功能描述如下:void SortByAlphabet(Tel tel, Index *pAlphabet); 调用SelectSort函数,利用pAlphabet中的指针数组,对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 语言程序设计 课程设计 报告 示例
限制150内