高级语言程序设计课程设计报告模板及示例.doc

上传人:知****量 文档编号:13004146 上传时间:2022-04-27 格式:DOC 页数:11 大小:738KB
返回 下载 相关 举报
高级语言程序设计课程设计报告模板及示例.doc_第1页
第1页 / 共11页
高级语言程序设计课程设计报告模板及示例.doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《高级语言程序设计课程设计报告模板及示例.doc》由会员分享,可在线阅读,更多相关《高级语言程序设计课程设计报告模板及示例.doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、- .?高级语言程序设计?课程设计报告20142015年度第二学期题 目通讯录管理专 业计算机科学与技术班 级2014级B班小组成员丽丽2009022899 班 级2009级计本四班?高级语言程序设计?课程设计成 绩 评定学号XX成绩备注2009022899丽丽指导教师: - . 可修编. . .摘要:一级标题黑体五号,页面设置为上下左右页边距为2厘米装订时在左装订,用2个订书针就可以通过本课程设计,对程序控制构造、数组、构造体、函数、文件等的应用进展综合训练,并初步接触软件设计的根本步骤。本设计实现后面简要描述设计的功能关键词:控制构造,数组,构造体,函数,文件一、课程设计的目的与要求通过实

2、践训练,进一步掌握C语言程序控制构造、数组、构造体、函数、文件的使用方法,提高程序编写调试的实际能力,培养初步的工程设计能力和综合分析、解决问题的能力。具体如下:1. 学习和实践在分析和设计计算机应用系统所需要的知识,包括功能分析和模块划分、函数设计、数据的构造分析、设计和存取操作;2. 熟悉Visual C+的代码编制和调试过程;3. 初步培养文档的编写能力;4. 培养协作能力和团队精神。二、设计正文1. 概述二级及及其他标题宋体五号,正文宋体五号,行间距固定值16磅1.1课题题目:通讯录管理1.2系统的主要目标:本系统目标是实现通讯录管理的功能,对XX、群组、住宅、手机、Email、地址和

3、备注信息进展输入、删除、查找和修改,数据存储于二进制文件。 1.3 系统的开发环境及运行环境:操作系统: Windows XP Pro SP2开发工具: Visual C+ 6.02. 系统分析1. 输入记录:将每一个职工的XX、ID 号以及根本工资、职务工资、岗位津贴、医疗保险、公积金的数据作为一个记录。该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。2. 显示记录:根据用户提供的记录或者根据职工XX显示一个或几个职工的各项工资和平均工资。3. 修改记录:可以对数据文件的任意记录的数据进展修改并在修改前后对记录容进展显示。4查找记录:可以对数据文件的任意记录的数据进展查找并在查找

4、前后对记录容进展显示。5. 删除记录:可删除数据文件中的任一记录。6恢复记录:能恢复被删除的任一记录。7. 统计: (A) 计算各项工资平均工资及总工资, (B)统计符合指定条件(如职工工资前三项之和在2000 元以上、20001500 元、15001000 元) 以的工资职工人数及占总职工人数的百分比。(C)按字符表格形式打印全部职工工资信息表及平均工资(包括各项总的平均工资)。8 保存数据文件功能。9.翻开数据文件功能。3. 系统设计3.1 功能模块划分欢送画面主菜单显示功能查找功能删除功能输入功能保存与读取退出程序添加功能修改功能统计功能按ID号查找按XX查找修改ID号修改XX修改职务工

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 Pr

7、intHead(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); 删除联系人。此处做逻辑删除,仅将XX赋空串。删除之后需对pAlphabet重新排序。void Input(Tel *r, Tel tel, int menu); 输入联系人信息。新增或编辑联系人时,调用该函数来输入一个联系人的信息。如果是新增此时菜单代码menu=21,当用户选择只输入XX时,需要为除XX以外的信息设置缺省值;否那么,除XX以外的信息缺省保持不变。int Duplicate(char *name, Tel tel, char *original

9、); XX查重。在新增或编辑联系人前,调用该函数来检查是否有重名的情况。新增联系人时,如果新输入的串name与tel数组中已存在的XX一样那么返回1;否那么,返回0。编辑时可以输入与联系人原来的XXoriginal一样的串。int Select( ); 选择联系人序号。删除或修改用户选择的联系人时,调用该函数来限制序号在有效围。返回对应的数组下标。 5排序模块 sort.cpp利用指针数组对通信录运用选择法排序。各函数功能描述如下:void SortByAlphabet(Tel tel, Index *pAlphabet); 调用SelectSort函数,利用pAlphabet中的指针数组,对

10、tel数组按音序排序。void SelectSort(Index *p); 用选择法对指针数组p排序。6文件操作模块 file.cpp完成系统与文件有关的操作。各函数功能描述如下:int Load(Tel tel, Index *pAlphabet); 读取。将通信录文件fName读入存tel,并对pAlphabet排序。返回读取的记录数。int Save(Tel tel); 保存。将通信录tel以fName全局变量为名保存到磁盘。此时做物理删除:XX为空串的联系人表示已删除,不存入通信录文件。返回写入文件的记录数。int Copy(void); 备份通信录。复制通信录文件。操作成功时返回1;

11、否那么返回0。 3.3系统流程描述输入:输入职工工资资料 通过构造体的数组来进展操作,先头定义数组em,先输入需要输入的职工人数m,然后进入循环,每次循环将各项输入构造体数组对应项的对应成员中,当循环次数等于人数时,完成全部员工的资料输入,退出循环。同时将数据储存在ckerk_list文件中并自动保存至磁盘。注:如首次使用,尚未输入数据,请先输入数据。输入的数据将自动保存。再次选择输入功能时原数据将被覆盖。保存:将输入的资料存入磁盘 读取文件clerk_list,假设文件不存在,打印“翻开失败并退出。假设存在,那么通过循环语句将输入到构造体数组的数据逐个输入磁盘。读取:读取磁盘中的资料 翻开文

12、件clerk_list ,假设文件不存在,打印“翻开失败并退出。假设存在,读取文件中的数据,并返回职工人数。显示:显示职工工资资料 先通过读取函数的返回值确定职工人数m,再通过循环将员工工资资料逐个打印,当循环次数到达m时退出循环。其中总工资由程序计算,总工资=根本工资+职务工资+津贴-医疗保险-公积金删除:删除某员工的资料 打印员工资料并提示输入要删除职工的XX,输入后假设该职工不存在那么打印“查无此人;假设存在,那么显示该职工资料并询问是否确定删除。假设确定,那么删除。删除时,通过比照输入的XX与资料中的XX做比照从而确定要删除的项i,从第i项开场,将后一项的各成员的值赋给前一项各对应的成

13、员,完成对第i项的删除。添加:添加新的员工资料而不覆盖原有资料打印原有职工资料,询问要添加的职工人数并询问是否确定添加。逐个逐项输入员工信息,之后程序计算其总工资。完成后显示“添加成功,打印新的员工资料并自动保存。添加的方法为:定义一个一样类型的构造体数组,将原有项复制后增添新的项,并保存新的数组。查找:按ID好查询与按XX查找员工资料根据提示输入要查询的ID号或XX,程序通过循环语句将输入的数字与以保存的构造体数组中的数据比照,假设一样,那么打印“已找到及该员工的资料;当循环次数等于人数时完毕循环,假设至完毕循环时也没有找到一样的,那么打印“查无此人。修改:修改特定员工的特定资料打印员工信息

14、并提示输入要修改资料的职工XX。按提示确定要修改,确定要修改的工程,输入要修改成的结果并将该结果赋给对应项的对应成员,完成对特定职工特定工程的修改。统计 通过循环对构造体数组中的每一项经行统计,计算工资总额为,将工资总额除以人数计算出平均工资。根据每名职工的资料计算根本工资、职务工资、津贴之和在1000-1500圆1500-2000圆2000圆以上的员工占总员工的百分比4. 详细设计4.1. 数据构造设计 系统的主要功能是管理联系人的信息,大局部模块中都用到联系人的信息。联系人的构造定义如下:typedef struct Telephonechar name20; /XXint group;/

15、群组:1.朋友 2.同事 3.家人 4.其他char home15;/住宅char mobile15;/手机char email20;/Emailchar add20;/地址char memo20;/备注Tel;sort.cpp模块中利用指针数组对通信录排序,排序用的索引构造的定义如下:typedef struct indexint len; /数组长度Tel *telMaxLen; /指针数组,Index;菜单代码菜单项代码子菜单项代码查看通信录1更新通信录2新增联系人21编辑联系人22删除联系人23返回主菜单20备份通信录3退出0联系人分组方式代码分组方式朋友同事家人其他代码1234全局变

16、量const int MaxLen=500; /最多可存放500个联系人信息char fName20=tel.dat; /磁盘文件:通信录文件名int Len; /全局变量,通信录中当前联系人总数4.2人机对话输入/输出格式设计(1) 菜单操作考虑使用键盘方式,用户输入菜单项前的0,1,2等数字字符来选择对应的菜单项,由menu.cpp模块转换成相应的菜单代码。用户选择菜单项并完成相应的操作后刷新菜单。(2) 显示与选择联系人对通信录更新时系统自动按音序排序。显示整个通信录时在每个联系人前面显示排序后的序号,用户按序号选择联系人进展操作。对于操作结果为单个联系人的情况不显示序号。(3) 输入联

17、系人信息通过新增或更新输入联系人信息时,可以选择只输入XX还是输入联系人的完整信息。当用户选择只输入联系人XX时,其余局部系统自动设成空值。系统只提供了“1.朋友 2.同事 3.家人 4.其他四种联系人分组方式。用户输入1.4来指定联系人的分组。当用户未指定时,系统自动设为4,代表“其他分组。输入联系人XX时系统自动检查有无重名的情况。更新输入时可以输入原来的XX。4.3 控制构造设计对每个函数的控制构造进展设计,以PAD图描述可以改为流程图、伪代码、自然语言描述均可(1)主程序模块(2) 更新模块新增void New(Tel tel, Index *pAlphabet):修改void Edi

18、t(Tel tel, Index *pAlphabet):删除void Delete(Tel tel, Index *pAlphabet)(3) 排序模块void SortByAlphabet(Tel tel, Index *pAlphabet):选择排序 void SelectSort(Index *p)(4)文件操作模块从磁盘读取通信录int Load(Tel tel, Index *pAlphabet):保存通信录int Save(Tel tel):备份通信录int Copy(void) 5.编码和测试 选用Visual C+6.0作为开发工具:控制局部通过函数代码实现,数据局部采用数据

19、文件实现永久存储,采用数组存储系统运行过程中的数据。测试要点 主菜单、子菜单是否能正确显示和刷新;对于选择的非法菜单号是否能识别和处理; 排序是否正确,是否正确地处理了已逻辑删除的联系人; 在增加、修改、删除联系人后,排序是否正确; 保存、载入时,是否能正确地从数据文件读取数据;是否能正确地从备份的数据文件读取数据; 各模块分开调试,组合后的正确性。三、课程设计总结或结论1 通过这次高级语言程序设计课程设计的实践训练,进一步掌握程序控制构造、数组、构造体、函数、文件的使用方法,提高程序编写调试的实际能力,初步建立软件工程的设计思想,培养初步的综合分析、解决问题的能力。2 本系统根本实现了关键的功能模块,在功能上根本满足了用户的需求,但是由于时间较紧,有些模块以及整个系统还有许多不完善的地方,如界面不美观,操作性不太友好等。四、参考文献1 海藩多位作者名字用逗号隔开软件工程导论(第4 版)书名或者文献题目出版地:清华大学,20052 3 4 专业资料

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 设计方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁