程序设计基础实践报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
福建师范大学闽南科技学
院
程序设计基础实践报告
题目职工工资信息管理系统
学生姓名陈显泽
学院信息科学与工程学院
专业班级土木工程1班
完成时间2017.4.20
指导教师褚若波
目录
一、课程设计目的和要求...................................
二、课程设计基本内容....................................
三、程序功能简介........................................
四、主体内容............................................
4.1设计分析......................................
4.2程序结构......................................
4.3模块的功能及程序说明..........................
4.4相关模块源程序................................
4.5操作方法(流程)...............................
4.6试验结果(包括输入数据和输出结果)............
4.7设计体会......................................
4.8参考文献......................................
五、用户使用说明........................................
六、对本设计过程及方法、手段的改进建议..................
1、课程设计的目的和要求
本次课程设计,是基于“面向对象编程(C++)”课程学习内容的重要实践环节,其主要目的在于通过综合程序课程设计,培养和提高学生的独立分析问题、解决实际问题的能力和计算机语言编程能力。
本次课程设计时间为2周,要求每位同学在为期两周的时间段内,在编程环境下,用面向对象程序设计思想进行C++程序设计、功能模块调试,在正确、合理的软件功能规划的基础上,实现公用接口与私有实现的分离,独立完成相关设计题所规定的任务、进行课程设计报告编写与整理。
而且也是为了培养从资料文献、科学实验中获得知识的能力,提高从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。对掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。
课程设计结束时,要求进行设计成果演示(由指导老师验收相关程序运行成果并打分);每人须对相关电子文档进行整理上交(包括:程序文件、帮助说明文档);交课程设计报告一份(纸质打印稿)。
二、课程设计的内容
设计一个职工信息管理案例,实现不同类别职工的工资数据。职工的种类包括:正式职工和临时工。定义一个基本的职工类,基本信息包括:编号、姓名、性别、年龄、家庭住址、基本职务工资。派生出正式职工类,增加的属性包括:岗位津贴、养老金、住房公积金、所得税、医疗保险、实发工资;临时工增加的属性包括:奖金、所得税、实发工资。
1.正式职工:实发工资=基本职务工资+岗位津贴-养老金-住房公积金-所得税-医疗保险;
2.临时工:实发工资=基本职务工资+奖金-所得税;
基本功能与技术要求
1、数据文件管理功能:利用输入输出流创建新文件、打开文件、保存文件。
2、计算与统计功能:采用静态数据成员与成员函数完成记录中相关数据的
统计;
1)能够打开已存在的数据表文件,对数据表中与某关键字匹配的相关记录
进行数据统计(包括:工资总额、平均值)
2)计算每个职工的实发工资。
3、记录管理功能:利用继承与派生思想创建不同的类;记录的管理采用链
表或者指针数组实现;采用抽象类、虚函数等实现对象与函数的动态关联,体
现多态性。
1)输入/添加/插入记录:利用重载运算符“>>”完成对任意一条记录输入、添加或插入数据表中,并保存到数据文件中。
2)查询、显示记录:能够打开已存在的数据表文件,根据用户要求按所给记录关键字查询一个或多个相关联记录的各项信息。利用重载运算符“<<”输
出个对象的信息。
3)修改记录:能够打开已存在的数据表文件,并对确定的任意记录进行修改,在修改过程中,应显示记录信息,给出确认提示,并对更新的记录信息进行文件保存。
4)删除记录:能够打开已存在的数据表文件,可以删除数据表中的任一记录,要求具备逻辑删除(具有恢复功能)和物理删除功能,并对新的数据表信息进行文件保存。
三、程序功能简介
数据文件管理功能:利用输入输出流创建新文件、打开文件、保存文件。
计算与统计功能:用静态数据成员与成员函数完成记录中相关数据的统计;
记录管理功能:实现输入,插入,删除,恢复等功能。
四、主体内容
4.1设计分析
设置基本类staff,并由此派生出正式职工类formal和临时工类casual.由于在派生类中都要用到同名的同功能函数,所以在基类中定义了虚函数,以实现对象与函数的动态关联。
在整个程序中定义了三个函数string InputNormalInfo(istream &input,string tip,char type);(用于直到输入正确类型的数据才返回)void SaveToFile(fstream&file,staff*s);(用于保存信息到指定文件)
void ReadFromFile(fstream&file,staff**s);(用于从文件读取信息),InputNormalInfo函数用于对测试过程中一些由输入错误引起的错误的纠正。
最后在主函数中用SWITCH语句实现了对文件,信息的相关操作。为了体现C++工程性的特点,本程序中的类,函数单独作为头文件和CPP文件,最后在主程序中调用即可。即为了实现面向对象中的公用借口与私有实现的分离。
4.2程序结构
职工工资管理系统
函数模块主函数
模块类模块
职
职工信息文件模职
工
信
息
输
入
模
职
工
信
息
查
询
模
块
职
工
信
息
插
入
模
块
工
信
息
统
计
关
键
字
职
工
信
息
删
除
模
块
职
工
信
息
恢
复
模
块
块块模
块