资源预览内容
第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
第9页 / 共26页
第10页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
课 程 设 计 报 告课程名称课程名称 算法与程序设计算法与程序设计 课题名称课题名称 高校工资管理系统高校工资管理系统 专专 业业 信息与计算科学信息与计算科学 班班 级级 1303 学学 号号 31 姓姓 名名 唐婷唐婷 指导教师指导教师 王祝君老师王祝君老师 2014 年年 12 月月 25 日日湖 南 工 程 学 院课 程 设 计 任 务 书课程名称 算法与程序设计 课 题 高校工资管理系统 专业班级 信息与计算科学 1303 学生姓名 唐婷 学 号 31 指导老师 王祝君老师 审 批 任务书下达日期 2014 年 12 月 10 日任务完成日期 2014 年 12 月 26 日一一、设设计计内内容容与与设设计计要要求求1 1设计内容:设计内容:对课程算法与程序设计中的相关内容进行综合设计或应用(具体课题题目见后面的供选题目) 。2 2设计要求:设计要求: 前言前言(包括课题的背景资料,别人已做了些什么,自己准备做哪些改进) 课程设计报告正文内容课程设计报告正文内容(包括系统设计要求,设计思路,系统功能模块图,系统流程图,类的层次图(包括类成员列表) ,调试过程,关键程序代码,总结,参考书目等) 。(一)需求分析系统设计目的与意义系统功能需求(系统流程图) ;输入输出的要求;(二)总体设计系统功能分析;系统功能模块划分与设计(系统功能模块图) 。(三)详细设计数据库需求分析数据库概念结构设计(ER 图) ;数据库逻辑结构设计。类层次图(四)界面设计与各功能模块实现(五)系统调试调试问题出现的主要问题:编译语法错误及修改,重点是运行逻辑问题修改和调整(六)使用说明及编程体会说明如何使用你编写的程序,详细列出每一步的操作步骤。(七)关键源程序(带注释) 书写格式书写格式a要求用 A4 纸打印成册b正文格式:一级标题用 3 号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为 22。c正文的内容:正文总字数要求在 3000 字左右(不含程序原代码) 。d封面格式如下页。 考核方式考核方式指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成绩。具体考核标准包含以下几个部分:a平时出勤 (占 10%)b系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占10%)c程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占 40%)d设计报告(占 30%)注意:不得抄袭他人的报告(或给他人抄袭) ,一旦发现,成绩为零分。e独立完成情况(占 10%) 。课程验收要求课程验收要求a判定算法设计的合理性,运行相关程序,获得正确的数值结果。b回答有关问题。c提交课程设计报告。d提交软盘(源程序、设计报告文档) 。e依内容的创新程度,完善程序情况及对程序讲解情况打分。三、三、 教材及参考书教材及参考书 朱战立等著, C+面向对象程序设计,人民邮电出版社;郑莉著, C+ 语言程序设计(含实验指导书) 。 清华大学出版社 ( 结构化程序设计部分 ) 钱能主编 ,C+ 程序设计教程,清华大学出版社, 2000.11 戴锋编著, Visual C+ 程序设计基础 , 清华大学出版社 ,2001.4 吕日著, C+ 程序设计教程,清华大学出版社, C+ 大学教程,美国 Harvey M.Deitel 等 四、进度安排四、进度安排1、 主讲教师:2、 辅班级: 信息与计算科学:1301、1302、13033、 导教师:4、 时间安排:第 16-17 周 星期二 8 时:00 分11 时:30 分星期二 14 时:00 分17 时:30 分星期六 8 时:30 分11 时:30 分星期六 14 时:30 分17 时:30 分理学院课程设计评分表课程名称: 项项 目目评评 价价设计方案的合理性与创造性设计与调试结果设计说明书的质量答辩陈述与回答问题情况课程设计周表现情况综合成绩教师签名: 日 期: 题目题目 5 5: 高校工资管理系统高校工资管理系统(一)一) 、课程设计题目:、课程设计题目:高校工资管理系统(二)(二) 、目的与要求:、目的与要求:1、目的: (1)要求学生达到熟练掌握 C+语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。2、基本要求: (1)要求利用面向对象的方法以及 C+的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次;(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;(3)在系统的设计中,至少要用到面向对象的一种机制。3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。4、写出设计说明书 (三)(三) 、设计方法和基本原理:、设计方法和基本原理:1、功能要求 问题的描述(功能要求):现一高校有五类职工:教师,实验员,行政人员,教师兼职实验员,行政人员兼职教师。为了实现工资发放的自动功能,现要求编写程序来自动完成此功能。同时注意生成的相关数据结果以文件方式存放在硬盘中。程序应具备从键盘录入,文件的可继续录入,任意职工的工资查询(可由职工编号和职工姓名来实现) ,如若有职工由于工作调动,则可进行相对应的删除动作。相关信息:每一学期将学校职工的本学期任职情况及上学期工作的相关情况输入计算机,则本学期职工的月工资按程序处理后的结果发放,其中职工的工资计算方法如下:其中工资的基本构成如下:教师: 基本工资+课时费;实验员: 基本工资+实验室补助;行政人员: 基本工资+行政补贴;教师兼职实验员: 基本工资+课时费+实验室补助;行政人员兼职教师:基本工资+行政补贴+课时费;其中:(1)课时费:教师每一学期的基本工作量为 120,实验员每学期基本工作量为 70,行政人员没有基本工作量,每节课时费为 20 元;课时费=(上学期工作量-基本工作量)*20;注意:如果上学期基本工作量没完成,则其(上学期工作量-基本工作量)*20 为负值。(2)基本工资:教师 800 元,实验员 650 元,行政人员 750 元。(3)行政补贴:250 元。(4)实验室补助:150 元。2、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤: a) 写出需求分析(该程序要实现什么什么样的功能) b) 分析系统中的各个实体之间的关系及其属性和行为; c) 根据问题描述,设计系统的类层次; d) 完成类层次中各个类的描述(包括属性和方法) ; e) 完成类中各个成员函数的定义; f) 用户界面的设计 g) 分析系统功能模块(系统流程图) h) 代码编写 i) 功能调试; j) 完成系统总结报告以及系统使用说明书。 一实验目的:实验目的: 综合运用封装、继承、多态性、文件流、异常处理来设计和实现简单的信息管理系 统 二实验任务:实验任务: 设计和实现高校工资管理系统:高校中人员有:行政人员、教师、实验室人员、后 勤人员、外聘人员。通过本系统要求实现以下功能: 1) 添加职员的基本信息; 2) 校内人员调离学校删除信息; 3) 根据工作证号查询校内人员的工资,根据姓名查询外聘人员的工资; 4) 根据工资计算准则计算总工资;分类输出所有人员的信息。 三程序思想:程序思想: (1)分析各系统中各个实体之间的关系及其属性和行为; (2)根据问题描述,建立 Person 基类,从 Person 中派生出的五类职工类,及 Person 的友 元类 College 类; (3)完成类层次中的各个类的描述(包括属性和方法) ,及成员定义,基本工资,课时费 的计算,输入输出等。 (4)完成系统的应用模块,及问题的基本功能实现,建立了一个链表,把数据存放在链表 中,根据每条数据的指地址针完成对数据的增、删、查询、统计操作。 (5)功能调试,输入一些具体数据进行调试,检查程序运行结果。 四对象模型:对象模型: 高校工资管理系统对象模型:高校工资管理系统类关系:五程序清单:程序清单:(部分源代码) #include #include #include #include class Person /人员类(抽象类) protected:double num; /编号char Name20; /姓名int Age; /年龄int Duty; /人员类别标志(1-教师,2-实验室人员,3-行政人员,4-后勤人员,5-外聘人员)double Salary; /基本工资Person *next; /指针域 public:Person() /基类构造next=0; /指针域设置为空virtual Person() /基类虚析构virtual void Input()=0; /从键盘输入数据virtual void Input(ifstream /从文件输入数据virtual void Output()=0; /向屏幕输出数据virtual void Output(ofstream /向文件输出数据virtual double Incoming()=0; /计算收入friend class College; ;class Teacher:virtual public Person /教师类 protected:int Hours; /教师课时 public: /为对象设置数据分为两种途径,通过 1)构造函数,2)一般成员函数/分开可以使得程序中应用更加灵活/本程序采用:缺省构造+Input()Teacher() /构造函数,初始化部分数据 Duty=1; Salary=800; void Input() /键盘补充输入其它数据 coutnum;coutName;coutAge; coutHours;Salary=Incoming(); void Input(ifstream void Output() cout120)return Salary+(Hours-120)*20;elsereturn Salary; ;class Assistant:virtual public Person /实验员 protected:int Allowance;int Hours;public:Assistant() Duty=2; Salary=650;Allowance=150;void Input() coutnum;coutName;coutAge; coutHours;Salary=Incoming();void Input(ifstream void Output() cout70)ret
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号