小型公司工资管理系统(完结)_小型工资管理系统

2020-02-27 公司工作总结 下载本文

小型公司工资管理系统(完结)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“小型工资管理系统”。

中国石油大学(华东)信息与控制工程学院

《程序设计实习》报告

小型公司工资管理系统的设计

名:Yuppies Liu 时 间:2011.7.14~2011.7.17

2011年7月

目录

一、实习内容…………………………………………………………………………1

二、设计思路…………………………………………………………………………2

三、程序代码清单……………………………………………………………………3

四、运行结果…………………………………………………………………………10

五、程序使用说明……………………………………………………………………16

六、总结及心得体会…………………………………………………………………17

程序设计实习报告

一、实习内容题目:《小型公司管理系统的设计》设计 2.设计说明与基本要求

(1)公司主要有4类人员:经理、技术员、销售员、销售经理。

要求存储这些人的职工号、姓名、月工资、年龄、性别等信息。(2)工资的计算方法

A 经理:固定月薪为8000元;

B技术员:工作时间*小时工资(100元/小时); C销售员:销售额*4%提成;

D销售经理:底薪(5000元)+所辖部门销售额总额*0.5%。(3)员工基本数据的输入

要求每类人员不能少于4人,其中销售员需要8名,每名销

售经理手下有2名销售员。

(4)各类的数据成员访问权限设置为:protected 3.实现基本功能

(1)数据输入:输入各种数据

(2)数据的输入 :统计各销售经理下属销售员的销售额及销售额之和;销售经理按工资进行的帽泡排序;

(3)数据打印:打印各类员工的数据信息;

(4)数据备份

(5)退出:退出本系统

备注:可适当扩充程序功能,功能扩充得当可加分 4.菜单说明

(1)数据录入指通过键盘输入各类员工的各项数据

(2)数据统计指统计各销售经理下属销售员的销售额及销售额之和;销售经理按工资进行的冒泡排序

(3)数据的打印指按照表格的格式在屏幕上输出各员工的数据信息(4)数据的备份指把各类员工的数据信息写入文件中保存(5)退出:结束程序的运行

程序设计实习报告

二、设计思路

在这个公司中有四类人员:经理、兼职技术人员、销售员要存储的信息有姓名、编号、性别、年龄、工资、销售额、所属经理编号.由于所有职员有相同的成员如编号(num)、姓名(name)、性别(sex)、年龄(age)、工资(wage)。所以可将所有信息归纳为一个职员类(Guyuan),将其作为一个基类,然后派生出子类,实现各类人员不同的信息(如工资计算),由于销售经理具有销售员和经理的特性,所以销售经理采用多重继承的关系,继承销售员和经理的两个类,为避免二义性将employee定义为虚基类,可用下图表示:

题目中假设公司有2名技术员、4名销售员、经理和销售经理各2名,所以用对象数组的方式,利用循环语句来实现人员的输入和输出,整个程序设计如下: 基类雇员类:

数据成员有职工号、姓名、年龄、性别、月工资; 成员函数只有姓名、年龄、性别的设置函数。技术员类:继承基类 数据成员增加了工作时间;

成员函数有设置函数、构造函数、输出函数下属函数、备份函数下属函数。经理类:继承基类 数据成员未增加;

成员函数有设置函数、构造函数、输出函数下属函数、备份函数下属函数。销售员类:继承基类

数据成员多了销售额、所属经理编号;

成员函数有设置函数、构造函数、输出函数下属函数、备份函数下属函数、销售额返回函数、所属经理编号输出函数。销售经理类:继承基类 数据成员未增加;

成员函数有设置函数、构造函数、输出函数下属函数、备份函数下属函数、统计函数所属函数。

程序设计实习报告

三、程序代码清单

#include #include #include #include using namespace std;ofstream outfile(“f1.txt”,ios::out);cla Guyuan {public: int num,age;string name;char sex;int wage;};cla Jishuyuan: protected Guyuan {public: int time;

void set_jishuyuan(){cout>num;cout

cout>name;

cout

cout>sex;

cout

cout>age;

cout

cout>time;

cout

wage=time*100;}

void show_jishuyuan()

{cout

void show_jishuyuan4()

{outfile

void set_jingli()

{cout>num;cout

cout>name;

cout

cout>sex;

cout

cout>age;cout

wage=8000;}

void show_jingli()

{cout

┃┃

┃┃

程序设计实习报告

{outfile

┃┃”

cla Xiaoshouyuan:protected Guyuan {public:

void set_xiaoshouyuan()

{cout>num;

cout

cout>name;

cout

cout>sex;

cout

cout>age;

cout

cout>sell;

cout

cout>belong;cout

wage=sell*4/100;}

void show_xiaoshouyuan()

{cout

void show_xiaoshouyuan2()

{cout

void show_xiaoshouyuan4()

{outfile

int shu_jingli()

{return num;}

void set_xiaoshoujingli()

{ cout>num;cout

cout>name;cout

cout>sex;cout

cout>age;cout

{cout

┃┃

┃┃

程序设计实习报告

void show_xiaoshoujingli4()

{outfile

void show_wage()

{cout

{wage=5000+sum*0.5/100;} };void disp(){ cout

★★小型公司工资管理系统★★

cout

┏━━━━━━━━━━━━┓

cout

┃ 请选择您所需要的操作

cout

┃ 数据输入: 1,并按回车键 ┃

cout

┃ 数据统计: 2,并按回车键 ┃

cout

┃ 数据打印: 3,并按回车键 ┃

cout

┃ 数据备份: 4,并按回车键 ┃

cout

┃ 退出系统: 5,并按回车键 ┃

cout

┗━━━━━━━━━━━━┛

cout

cout

“;

} int main(){

const int n=2;

int i,w;

Jishuyuan a[n];

Jingli b[n];

Xiaoshouyuan c[2*n];

Xiaoshoujingli d[n];

disp();while(1){cin>>w;switch(w){case 1: { {for(i=0;i

a[i].set_jishuyuan();cout

b[i].set_jingli();cout

c[i].set_xiaoshouyuan();

程序设计实习报告

cout

d[i].set_xiaoshoujingli();cout

for(j=0;j

{ sum[j]=0;

cout

cout

cout

职工号

姓名

销售额

┃”

for(i=0;i

{if(c[i].belong==d[j].shu_jingli())

{cout

c[i].show_xiaoshouyuan();

sum[j]=sum[j]+c[i].sell;}}

cout

cout

┃“

cout

cout

职工号

姓名

性别

年龄

工资

┃”

Xiaoshoujingli x;double y;for(i=0;i

for(j=0;j

if(sum[i]

{x=d[i];d[i]=d[j];d[j]=x;y=sum[i];sum[i]=sum[j];sum[j]=y;}

for(i=0;i

{ cout

d[i].wage_sum(sum[i]);

d[i].show_xiaoshoujingli();}

cout

disp();};break;}

程序设计实习报告

case 3:{ { int i;cout

cout

职工号

姓名

性别

年龄

工资

┃“

for(i=0;i

{ cout

a[i].show_jishuyuan();}

cout

cout

cout

职工号

姓名

性别

年龄

工资

┃”

for(i=0;i

{ cout

cout

cout

cout

cout

cout

职工号

姓名

性别

年龄

工资

┃“

for(i=0;i

{ cout

d[i].show_xiaoshoujingli();}

cout

cout

程序设计实习报告

cout

性别

年龄

工资

┃ 所属部门经理编号 ┃”

for(i=0;i

{ cout

c[i].show_xiaoshouyuan2();}

cout

disp();};break;} case 4:{{ int i;outfile

outfile

职工号

姓名

性别

年龄

工资

┃“

for(i=0;i

{ outfile

outfile

职工号

姓名

性别

年龄

工资

┃”

outfile

outfile

outfile

outfile

职工号

姓名

性别

年龄

程序设计实习报告

工资

┃“

for(i=0;i

{ outfile

d[i].show_xiaoshoujingli4();}

outfile

outfile

outfile

outfile

outfile

性别

年龄

工资

┃ 所属部门经理编号 ┃”

for(i=0;i

{ outfile

c[i].show_xiaoshouyuan4();}

outfile

outfile

outfile.close();

disp();};break;} case 5:{ {exit(0);};break;} default:{{cout

选择错误,请重新选择!“

disp();};break;} }

}

return 0;}

程序设计实习报告

四、运行结果

★★小型公司工资管理系统★★

┏━━━━━━━━━━━━┓

┃ 请选择您所需要的操作 ┃

┃ 数据输入: 1,并按回车键 ┃

┃ 数据统计: 2,并按回车键 ┃

┃ 数据打印: 3,并按回车键 ┃

┃ 数据备份: 4,并按回车键 ┃

┃ 退出系统: 5,并按回车键 ┃

┗━━━━━━━━━━━━┛

请选择一个操作: 1 技术员编号:101

其姓名:zhang1

性别(m/w):w

年龄:27

工作时间:56

技术员编号:102

其姓名:wang1

性别(m/w):m

年龄:27

工作时间:58

******************************************************* 经理的编号:201

其姓名:wang2

其性别(m/w):w

年龄:34

经理的编号:202

程序设计实习报告

其姓名:36

其性别(m/w):m

年龄:36

******************************************************* 销售员的编号:301

其姓名:zhang3

性别(m/w):m

年龄:28

销售额:50000

所属销售经理的编号:401

销售员的编号:302

其姓名:wang3

性别(m/w):w

年龄:32

销售额:54000

所属销售经理的编号:401

销售员的编号:303

其姓名:wan1

性别(m/w):w

年龄:35

销售额:60000

所属销售经理的编号:402

销售员的编号:304

程序设计实习报告

其姓名:wan2

性别(m/w):m

年龄:26

销售额:80000

所属销售经理的编号:402

******************************************************* 销售经理的编号:401

其姓名:sun

性别(m/w):w

年龄:36

销售经理的编号:402

其姓名:liu

性别(m/w):w

年龄:29

******************************************************* ★★小型公司工资管理系统★★

┏━━━━━━━━━━━━┓

┃ 请选择您所需要的操作 ┃

┃ 数据输入: 1,并按回车键 ┃

┃ 数据统计: 2,并按回车键 ┃

┃ 数据打印: 3,并按回车键 ┃

┃ 数据备份: 4,并按回车键 ┃

┃ 退出系统: 5,并按回车键 ┃

┗━━━━━━━━━━━━┛

请选择一个操作: 2 职工号为401销售经理sun下属销售员的业绩为:

程序设计实习报告

┏━━━━━━━┳━━━━━━━┳━━━━━━━┓ ┃ 职工号 ┃ 姓名 ┃ 销售额 ┃ ┣━━━━━━━╋━━━━━━━╋━━━━━━━┫ ┃ 301┃ zhang3┃ 50000┃ ┣━━━━━━━╋━━━━━━━╋━━━━━━━┫ ┃ 302┃ wang3┃ 54000┃ ┣━━━━━━━╋━━━━━━━┻━━━━━━━┫ ┃销售额总计 ┃ 104000 ┃ ┗━━━━━━━┻━━━━━━━━━━━━━━━┛ 职工号为402销售经理liu下属销售员的业绩为:

┏━━━━━━━┳━━━━━━━┳━━━━━━━┓ ┃ 职工号 ┃ 姓名 ┃ 销售额 ┃ ┣━━━━━━━╋━━━━━━━╋━━━━━━━┫ ┃ 303┃ wan1┃ 60000┃ ┣━━━━━━━╋━━━━━━━╋━━━━━━━┫ ┃ 304┃ wan2┃ 80000┃ ┣━━━━━━━╋━━━━━━━┻━━━━━━━┫ ┃销售额总计 ┃ 140000 ┃ ┗━━━━━━━┻━━━━━━━━━━━━━━━┛ 销售经理按工资排序为:

┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓ ┃ 职工号 ┃ 姓名 ┃ 性别 ┃ 年龄 ┃ 工资 ┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 402┃ liu┃ w┃ 29┃ 5700┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 401┃ sun┃ w┃ 36┃ 5520┃ ┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛

★★小型公司工资管理系统★★

┏━━━━━━━━━━━━┓

┃ 请选择您所需要的操作 ┃

┃ 数据输入: 1,并按回车键 ┃

┃ 数据统计: 2,并按回车键 ┃

┃ 数据打印: 3,并按回车键 ┃

┃ 数据备份: 4,并按回车键 ┃

┃ 退出系统: 5,并按回车键 ┃

┗━━━━━━━━━━━━┛

请选择一个操作: 3 请等待......职工基本情况一览表如下 技术员

程序设计实习报告

┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓ ┃ 职工号 ┃ 姓名 ┃ 性别 ┃ 年龄 ┃ 工资 ┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 101┃ zhang1┃ w┃ 27┃ 5600┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 102┃ wang1┃ m┃ 27┃ 5800┃ ┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛ ******************************************************* 经理

┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓ ┃ 职工号 ┃ 姓名 ┃ 性别 ┃ 年龄 ┃ 工资 ┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 201┃ wang2┃ w┃ 34┃ 8000┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 202┃ 36┃ m┃ 36┃ 8000┃ ┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛ ******************************************************* 销售经理

┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓ ┃ 职工号 ┃ 姓名 ┃ 性别 ┃ 年龄 ┃ 工资 ┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 402┃ liu┃ w┃ 29┃ 5700┃ ┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫ ┃ 401┃ sun┃ w┃ 36┃ 5520┃ ┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛ ******************************************************* 销售员

┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━━━━━━┓ ┃ 职工号 ┃ 姓名 ┃ 性别 ┃ 年龄 ┃ 工资 ┃ 所属部门经理编号 ┃ ┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━━━━━━┫ ┃ 301┃ zhang3┃ m┃ 28┃ 2000┃ 401┃ ┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━━━━━━┫ ┃ 302┃ wang3┃ w┃ 32┃ 2160┃ 401┃ ┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━━━━━━┫ ┃ 303┃ wan1┃ w┃ 35┃ 2400┃ 402┃ ┣━━━━╋━━━━╋━━━━╋━━━━╋━━━━╋━━━━━━━━━┫ ┃ 304┃ wan2┃ m┃ 26┃ 3200┃ 402┃ ┗━━━━┻━━━━┻━━━━┻━━━━┻━━━━┻━━━━━━━━━┛ *********************************************************************** ★★小型公司工资管理系统★★

程序设计实习报告

┏━━━━━━━━━━━━┓

┃ 请选择您所需要的操作 ┃

┃ 数据输入: 1,并按回车键 ┃

┃ 数据统计: 2,并按回车键 ┃

┃ 数据打印: 3,并按回车键 ┃

┃ 数据备份: 4,并按回车键 ┃

┃ 退出系统: 5,并按回车键 ┃

┗━━━━━━━━━━━━┛

请选择一个操作: 4 ★★小型公司工资管理系统★★

┏━━━━━━━━━━━━┓

┃ 请选择您所需要的操作 ┃

┃ 数据输入: 1,并按回车键 ┃

┃ 数据统计: 2,并按回车键 ┃

┃ 数据打印: 3,并按回车键 ┃

┃ 数据备份: 4,并按回车键 ┃

┃ 退出系统: 5,并按回车键 ┃

┗━━━━━━━━━━━━┛

请选择一个操作: 5 Pre any key to continue

程序设计实习报告

五、程序的使用说明

1.程序中各类人员个数默认为2个,销售员默认为4个。2.请输入销售人员信息后再输入销售经理的信息。

3.输入时,除姓名、性别外,其余各项请勿输入除数字以外的字符。4.输入数据时若出现无限循环的现象,请重新执行程序并输入信息。

5.未输入信息时,打印或备份,各类人员除姓名性别为空外,其余各项均为0。6.重复输入某类人员数据时,可覆盖上一次输入的该类人员的数据。7.程序中输出文件位置默认为C盘,若有需要请自行更改。

程序设计实习报告

六、总结及心得体会

通过四天的编程,我对C++有了更深一步的认识。

要做一个简单的管理系统,首先就要进行需求分析。我们要做的这个系统,简单的说就只包含五个类(包括基类),主函数执行输入、统计、输出、打印、退出五个基本功能。我为了让函数尽可能的少出现错误,一开始就把五个功能设为五个基本功能函数,主函数中仅留循环控制结构。

对类的层次分析,题目已经给出,我所要做的就是添加成员函数,这在设计思路中已经明确。各个功能函数在基类中都有对应的下属函数,这样功能函数也就能跟清晰,只要仔细,不容易出错。

编程第一步是搭框架,由于本次的实习内容简单,准备充足,上机时也很顺利,很快就有了预期的结果。但接下来添加上函数时开始出现错误,并且错误越改越多。经过一天的努力,总算将其中的错误一一清除,并把第三天的数据打印和退出系统一块弄了出来。对于第四部分的数据备份还是没有发现错误原因。经过询问老师才使问题得到解决,在使用备份时需要在前面声明。

整个程序,其实就只有数据备份不太熟悉。备份的问题已解决,所有的问题就迎刃而解了。第四天我就做完了所有的程序,但总觉得写的程序不够完美,程序中,销售员的销售额和所属经理编号定义为了公有部分;各种函数直接在类内定义的,减少了错误的出现,同时使程序不够美观,简练。

通过这次的C++编程实习,使我对这门课程有了更深的认识,不再是仅仅停留在了解的阶段,更是在其应用之上。在整个实习过程中自身还是存在不少不足,主要有以下几点: 1.对知识掌握不够熟悉,不少问题拿不准,需要查看课本去解决。2.输程序时不够认真仔细,漏掉大括号或分号。3.检查错误时较烦躁,导致效率低下。4.平时的预习准备不够全面认真。

5.在平时的学习中,知识掌握的不够牢靠,在使用时,不少地方拿不准,使程序编写速度不够快。

通过此次的编程实习,使我体验到编程的快乐,也使我对编程有了一个更深层次的认识,同时提高了我对编程的兴趣。感谢这学期来老师对我们的教导,在以后的学习中,我继续努力,弥补自己存在的不足之处。

程序设计实习报告

《小型公司工资管理系统(完结).docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
小型公司工资管理系统(完结)
点击下载文档
相关专题 小型工资管理系统 公司 工资管理系统 小型工资管理系统 公司 工资管理系统
[公司工作总结]相关推荐
    [公司工作总结]热门文章
      下载全文