ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:41.27KB ,
资源ID:21650350      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21650350.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(面向对象课程设计报告人事管理系统Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

面向对象课程设计报告人事管理系统Word文档下载推荐.docx

1、界面友好,方便管理。其中,普通职工无底薪,业务经理底薪4000加月提成,新增时工资方面只需输入月提成。经理是底薪8000加奖金,新增时工资方面只需输入奖金。3性能描述 (1)数据精确度:精确到整数部分。(2)时间特性:响应时间短,可更新性强,运行速度快。4运行环境:Visual C+6.05条件与限制:装有Windows操作系统的计算机,装有软件Visual C+6.0三任务设计1类的划分:(1) 类1:类名Employee,是职工类。功能是对名字(name)、标记(tag)、编号(no)、工资(salary)的设置等。主要成员函数及功能:char *getname() return name

2、;/获取名字 int gettag() return tag;/获取标记 int getno() return no;/获取编号 int getsalary()return salary;/获取工资 流程图如图3-1. 图3-1 职工类流程图(2) 类2:类名Database,是职工数据类。主要功能是将职工信息从employee.txt读取到read中,对职工信息的读取、增加职工、删除全部、更改查找以及职工信息的显示等。void clear()/删除所有int addemp (int n, int sa,char *na,char*q) /增加职工void disp() /职工信息显示void

3、 Database:empdata()/职工维护流程图如图3-2. 图3-2 职工数据类流程图2类的接口设计:(1)类1:Employee() char *getname() return name; int gettag() return tag; int getno() return no; int getsalary()return salary; void setzw(char q)/设置名字(3) 类2:Database()/将职工信息从employee.txt读取到read中 Employee s; top=-1; fstream file(employee.txt,ios:in)

4、; while (1) file.read(char *)&s,sizeof(s); if (!file) break; top+; readtop=s; file.close(); 3类之间的关系:类2的功能实现是建立在类1的基础之上的,可以说类2是继承了类1,同时类1也包含了类2。class Database int top; Employee readMaxr;四编写代码1问题1(1)问题描述:刚接到任务时无从下手,对功能的实现比较乱。(2)解决办法:提前设计程序流程图,理清设计思路和功能实现方法。2问题2 (1)问题描述:编写程序的动手能力差,没有自定义析构函数。 (2)解决办法:在程

5、序中补充自定义了析构函数Database()(将read中的信息读如到employee.txt中)。3.问题3所有语句输出显示成一排,没有加换行符。在程序中必要的语句后加换行符,使程序输出更加友好、整洁。4.问题4在编写程序时未加注释,对查错和阅读带来很多不便。将程序语句后写上注释,方便自己和他人阅读查错。五程序运行1. 程序运行的过程:通过人事管理系统管理职工的信息,方便新增职工,和对职工信息的更改、查找、删除等操作。2类的构造顺序:类1构造后类2才可调用。3错误描述及其解决办法(1)问题1问题描述:程序编译时没有编写退出选项,进入界面后,无“退出”选项。 解决办法:重新修改调试程序,将“退

6、出”选项显示在程序显示窗口。(2)问题2 问题描述:一开始查询职工信息时,输入不存在的职工编号,程序无法响应。在程序中加入if语句,当职工编号不存在时,输出“该职工不存在”。 (3)问题3 问题描述:主界面比较单一,不够友好,输出显示职工信息时不够规范整洁。在程序中的信息显示部分加入边框,使输出信息更加美观、友好。六、感想认识两个星期的课程设计虽然有些疲劳和困倦,但带给我很多的收获。随着课程学习的深入,我感觉到了利用类和对象、继承、封装等一系列知识可以把我们程序中很多繁杂、重复的部分省略掉,还可以解决一些利用面向过程的设计思想无法解决的问题。在课程设计之前,因为有了综合实验的经验与教训,明白了

7、写代码这一步是非常重要的,因为当你把代码输入电脑,并用编译器将其运行,发现通过不了,再来检查找出问题,这是一件非常辛苦的事情,也很浪费时间。于是在课程设计的时候,我花了三天的时间来规划与写代码,将要实现的内容分析清楚,才把代码输入电脑。我觉得写程序,应该先找到该程序中的核心地方,用多种方法来实现该核心,这才可能避免等到发现逻辑上或者编译器不支持上的错误,才来想补救的措施,这样花费时间在想补救措施是很不值得的。 这次的课程设计,真是让我充分的感觉到了要自己设计一个程序是多么的难,以及学习好c+是多么的重要。在这个程序的设计过程中,我清楚的意识到自己的水平有多么的薄弱,课程的知识学得有多么的不扎实

8、。自己上机实际操作总出现了很多问题,调试的时候系统总是在报错,还有很多警告,每增加一个函数就要调试好久,有时候应为少了一个大括号或是分号,导致要找很久很久。虽然系统可以运行,也具有了一些基本的功能,但我意识到了自己有太多的不足。 以后还会有很多的课程设计,一定要吸取这次的教训,把知识学懂学透学精,真正的为我所用,这样走上社会我才能真正的发挥所长,才能成为当今社会需要的人才。七程序代码#include #include #includefstream.h const int Maxr=100; class Employee /职工类 int tag;/删除标记 int no;/职工编号 char

9、 name20; char zw20;/职工姓名 int salary;/职工工资 public: Employee() strcpy(zw,q); void setname(char na)/设置名字 strcpy(name,na); void getsalary(int sa)salary=sa; void delna()tag=1;/删除 void addemp(int n,int sa,char *na,char *q)/增加 tag=0;no=n;salary=sa;strcpy(name,na);strcpy(zw,q); void disp()/显示职工信息 coutsetw(1

10、0)nonamesalaryzwendl;= ; class Database/职工数据类 int top; Employee readMaxr; Database()/将职工信息从employee.txt读取到read中 void clear()/删除所有 int addemp (int n, int sa,char *na,char*q) /增加职工 Employee *p=query(n); if (p=NULL) readtop.addemp(n,sa,na,q); return 1; return 0; Employee *query(int empid) for (int i=0;

11、i=top;i+) if (readi.getno()=empid & readi.gettag()=0) return &readi; return NULL; Employee *query1(char empna20)i+) if (readi.getname()=empna) & readi.gettag()=0) return & void disp() /职工信息显示 readi.disp(); void empdata(); Database() /将read中的信息读如到employee.txt中out); if (readi.gettag()=0) file.write(ch

12、ar *)&readi,sizeof(readi); file.close(); void Database: int choice=1; int m=1; int b=1; char rname20; int empid; int empsa; char q20; Employee *r; while (choice!=0) cout; cinchoice; switch (choice) case 1: coutsetw(50)m; while(m!=0) switch(m) case 1:输入经理编号:empid;输入奖金: empsa;输入经理姓名:rname; addemp(empi

13、d,8000+empsa,rname,经理); break; case 2:输入业务经理编号:输入月提成:输入业务经理姓名: addemp(empid,4000+empsa,rname,业务经理break; case 3:输入职工编号:输入工资:输入职工姓名: addemp(empid,empsa,rname,普通职工 break; break;cinr=query(empid);if (r=NULL)该职工不存在输入新的工资: cin r-getsalary(empsa);请输入新的职务q;setzw(q); addemp(empid,empsa,rname,q); r=query(empid); if (r=NULL) 该读者不存在delna(); case 4: 按编号查找1,并按回车键 n 返回 2,并按回车键 nb; while(b! switch(b)coutdisp();case 2:case 5: disp(); case 6: clear();void main() Database EmpDB; while(choice!*setw(20)*欢迎使用人事管理系统* n 操作 1,并按回车键 n 返回 0,并按回车键 nswitch(choice)case 1:while(1)setw(20);EmpDB.empdata();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1