logo资料库

招聘干部录取系统 C++.doc

第1页 / 共30页
第2页 / 共30页
第3页 / 共30页
第4页 / 共30页
第5页 / 共30页
第6页 / 共30页
第7页 / 共30页
第8页 / 共30页
资料共30页,剩余部分请下载后查看
综 合 程 序 设 计 (C/C++课程设计) 专 学 业 号 学生姓名 教师姓名 日 期 2010 年 12 月 31 日 1
1 题目与要求 1.1 题目:招聘干部录取系统 设某市公开招聘 5 名副局长。招聘过程中要进行 4 项笔试(政策法律基础、 语文、英语、计算机基础)和一项口试(考察处理问题能力)。录取时对于年龄 在 30~55 的应聘者按总分从高到低录取。总分的构成如下:4 项笔试分(百分 制);口试分(百分制)乘 2;学历分;年龄分;工作经历分。后三种分数的计 算方法如下: 学历分: 博 士 100 分 硕 士 75 分 本 科 50 分 其 它 0 分 年龄分: 55 岁 70 分 50 岁 75 分 40 岁 100 分 35 岁 80 分 30 岁 70 分 其它年龄(可以有小数部分)的分数按线性插值确定。 工作经历分(仅考虑任科级干部年限): 0 年 0 分 1 年 70 分 2 年 100 分 6 年 20 分 6 年以上 0 分 其它年龄(可以有小数部分)的分数按线性插值确定。 用 VC++语言实现招聘干部录取系统。该系统在磁盘上存贮如下信息: 1、应聘者报名表。表中记录了每位应聘者的有关信息,其中包括:姓名、 性别、出生年月、最后学历、任科级干部有多少年月、现工作单位。 2、每位应聘者 5 项考试的成绩。 该系统的功能如下: 1、输入应聘者的信息和 5 项考试成绩; 2、输出按总分从高到低排列的成绩表,表项有姓名、8 项分数、总分。设 应聘者不超过 50 名; 3、输出 5 份录取通知书; 4、查询某人的 8 项分数和总分。 2
1.2 综合程序设计要求 一、文档 1、需求说明书(分层的数据流图、数据词典、小说明); 2、模块结构图,每个模块的说明; 3、每个模块的算法及使用的数据结构; 4、每个模块的编码和整个程序的编码; 5、各模块的测试用例及测试结果; 6、使用手册。 二、程序 1、设计若干命令以表示要求程序执行相应的功能; 2、输入到程序的数据名称及格式应通过提示信息告诉用户。能拒绝非 法数据,同时给出重新输入数据的提示。当输入数据量很大时,应 建立磁盘文件,以便重复演示程序功能; 3、程序的运行结果要以清晰可读的形式显示出来,并可打印及存贮, 以便查阅。 2 画数据流图 2.1 顶层数据流图 应聘截至日期 成绩总表 应聘者信息和考试成绩 招聘干部 录取系统 录取通知书表 被查询人姓名 被查询者个人成绩 图 1 招聘干部录取系统数据流图(第 0 层) 成:年+月 :按总分从高到低排列。 成:{姓名+被录取的信息}15 :n 为应聘人数:n≤50。 成:{个人信息+考试成绩}1n 相应的数据词典条目: 数据流名:招聘截止日期 组 数据流名:应聘者信息与考试成绩 组 注 数据流名:成绩总表 组 成 :{姓名+个人成绩}1n 注 数据流名:录取通知书表 组 注:1.总分前五名的录取通知单。 2.若应聘者不足五人,按实际人数处理。 数据流名:被查询者的个人成绩 3
成:姓名+性别+出生年月+最后学历+工作年限+现工作单位 :工作年限指任科级干部的年月。 成:政策法律基础成绩+语文成绩+英语成绩+计算机成绩+口试成绩 成:姓名+个人成绩 组 数据项名:个人信息 组 注 数据项名:考试成绩 组 数据项名:个人成绩 组 数据项名:总分 组 成:考试成绩+学历分+年龄分+工作经历分+口试分 成:考试成绩+学历分+年龄分+工作经历分+口试分 2.2 第一层数据流图 应聘者信息和考试成绩 招聘截止日期 信息 总表 1* 成绩总表 读入 读入 信息处理 信息处理 输出 录取通知书 1 2 3 被查询者成绩 1*:成绩总表+应聘者人数 被查询人姓名 图 2 招聘干部录取系统数据流图(第一层) 成:姓名+个人成绩 织:按总分从高到低顺序。 成:{个人信息+考试成绩}* * *+招聘截止年月 数据流名:信息总表 组 文 件 名:成绩总表 组 组 加 工 名:读入 编 激发条件:需招聘成绩表,或需要确定干部录取情况,或需要某指定者的成绩 加工逻辑:1 将“应聘者信息与考试成绩”读入信息总表中 号:1 2 读入招聘截止年月 2.3 关于加工“信息处理的”的分解 初步成绩表 信息总表 计算填表 2.1 成绩总表 排序 应聘者人数 2.2 图 3 加工“信息处理”的分解 4
文件名:初步成绩总表 形成:姓名+个人成绩已填入的应聘者个数。 加工名:计算填表 编号:2.1 激发条件:信息总表已经形成 加工逻辑:将应聘者的学历、年龄和工作年限计算成学历分、年龄分和工作经历 分,并计算总分,将应聘者所有成绩填入初步成绩表中。 加工名:排序 编号:2.2 激发条件:初步成绩总表按总分高到低排序 加工逻辑:按总分的高低从高到低排列个人成绩和姓名。 2.4 关于加工“输出”的分解 3.1 输出成绩总 成绩总表 表 3.2 输 出 录 取 通知书 3.3 输 出 被 查 询者成绩 录取通知书 被查询者成绩 成绩总表+应聘者人数 被查询人姓名 图 4 加工“输出”的分解 2.5 系统数据流图 应聘者信息和考试成绩 初步成绩表 信息总表 读入 计算填表 排序 输出成绩总表 打印成绩总表 输出录取通知书 1* 1* 1* 招聘截止日期 1*:成绩总表+应聘人数 被查询人姓名 输出被查 询者成绩 图 5 招聘干部录取系统数据流图 5
3 画模块结构图 从图 5 可以看出,从 2.1 到 2.3 均为信息处理部分,可视作系统的中心变换 部分。那么从加工 1 至加工 2.1 的“信息总表”便是系统的逻辑输入,从加工 2.3 到文件成绩总表的数据流程便是系统的逻辑输出。我们为中心变换部分和其前、 后的部分各设计一个模块,因此可画出系统顶层的模块结构图。 干部招聘主模块 信息总表 信息总表 成绩总表 成绩总表 读 入 信息处理 输 出 图 6 系统顶层模块结构 下面考虑三个第一层模块的下属模块。 由于输入的功能就是“读入”加工的功能,将招聘截止年月和应聘者信息与 考试成绩读入信息总表中,比较简单,不用为其设立下属模块。现将其更名为“读 入”模块。 再设计“输出”模块的下属模块。根据系统要求,输出模块应根据用户要求 完成“打印成绩总表”、“打印录取通知书表”和“模块的下属模块”。根据系统 要求,输出模块应根据用户要求完成“打印成绩总表”、“打印录取通知书表”和 “打印被查询者个人成绩”三项功能中的一项或几项,所以可为“输出”模块建 立如图 7 所示的三个模块。 下面考虑设计“信息处理”模块的下属模块。从图 3 的数据流图可见,可为 “信息处理”模块设立两个下属模块:“计算填表”和“排序”。前一个模块完成 计算各项分数并填入初步成绩表,循环调用该模块直至填表完毕。 至此,我们可以画出整个软件的模块结构图。如图 9。其中每一个模块都用 了一个表示符合给予命名。 下面列出各模块的功能说明: 成绩总表 应聘人数 输 出 成绩总表应聘人数 成绩总表应聘人数 成绩总表 应聘人数 输出成绩总表 输出录取通知书表 输出被查询者成绩 图 7 输出模块下属模块 6
信息总表 应聘截止日期 成绩总表 信息处理 填入初步成绩表 填入成绩表 已填入人数 信息总表 成绩总表 应聘人数 图 8 “信息处理”及其下属模块 干 部 招 聘 主 模 块 INVCAD 信息总表 成绩总表应聘者个数 信息总表 应聘截止日期 成绩总表 读入 READIN 信息处理 TREATINF 输出 EXPORTION 填入初步成绩 填入成绩表应聘人数 已填入人数 成绩总表 成绩总表 信息总表 应聘人数 成绩总表应聘人数 计算填表 CALFILL 排序 ARRANGE 成绩总表 应聘人数 被查询者姓名 输 出 成 绩 总 表 PRNMARK 输出录取通知书表 PRNINF 输 出 被 查 询 者 成 绩 PRNPER 图 9 系统的模块结构图 7
<读入>模块 <输出>模块 <信息处理>模块 3.1 干部招聘主模块 模块名:INVCAD 输入:<招聘截止日期>、<应聘者信息与考试成绩>、<被查询人姓名> 输出:<成绩总表> 功能:建立成绩总表 调用以下模块:READIN、TREATINF、EXPORT 3.2 模块名:READIN 输入:<招聘截止日期>、<应聘者信息与考试成绩> 输出:<信息总表> 功能:将<招聘截止日期>、<应聘者信息与考试成绩>存入指定的<信息总表>中。 调用以下模块:无 注释:该模块与数据流图中的加工<读入>对应。 3.3 模块名:TREATINF 输入:<信息总表>、<应聘截止日期> 输出:<成绩总表> 功能:将<信息总表>中信息折算成成绩,并按总分从高到低排成<成绩总表>。 调用以下模块:CALCUT、FILLIN、ARRANGE 注释:该模块与数据流图中的加工<信息处理>对应。 3.4 模块名:EXPORT 输入:<成绩总表>、<被查询人姓名> 输出:<成绩总表>、<录取通知书表>和<被查询人个人成绩>中的一项或几项的屏 幕形象或纸面现象。 功能:将<成绩总表>、<录取通知书表>和<被查询人个人成绩>中的一项或几项在 屏幕或打印机上显示出来。 调用一下模块:PRNMARK、PRNINF、PRNPER 注释:该模块与数据流图中的加工<输出>对应。 3.5 <计算填表>模块 模块名:CALCUT 输入:<信息总表>、<应聘截止日期> 输出:<初步成绩表>、<应聘者人数> 功能:根据当前的一个应聘者的信息,计算出他的个人成绩,填入表中。 调用一下模块:CALAGE、CALWORK 注释:该模块与数据流图中的加工<计算填表>对应。 3.6 <排序>模块 模块名:ARRANGE 输入:<初步成绩表>、<应聘者人数> 输出:<输出总表> 功能:将<初步成绩表>按总分从高到低排序。 调用以下模块:无 注释:该模块与数据流图中的加工<排序>对应。 8
分享到:
收藏