毕业设计小型企业工资管理系统概要Word文档下载推荐.docx
- 文档编号:16432004
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:18
- 大小:61.73KB
毕业设计小型企业工资管理系统概要Word文档下载推荐.docx
《毕业设计小型企业工资管理系统概要Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《毕业设计小型企业工资管理系统概要Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
2007年7月9日
课程设计(论文)评阅意见
项目
等 级
优秀
良好
中等
及格
不及格
课程设计态度评价
出勤情况评价
任务难度评价
工作量饱满评价
设计中创新性评价
论文书写规范化评价
综合应用能力评价
综合评定等级
优秀( )良好( )中等( )及格( )不及格( )
评阅人 谢昕职称副教授
2007年7月11日
目 录
一、需求分析1
二、概要设计2
三、详细设计3
四、设计和调试分析5
五、用户手册18
六、测试结果20
七、参考文献21
一、需求分析
1.从要求上来看是要对各个员工的各种情况(名字、年龄、性别、职位、工资状况进行输入。
然后可以输出.
2.可以对于员工数据进行修改,可以查询.
3.对于员工的各种情况系统还可以进行统计排名.
二、概要设计
首先,创建了一个employee类.然后派生出四个类:
manager、technician、salesman、salesmanager.在派生类中定义了三个构造函数,分别是:
数据输入函数(Input,表格输出函数(Print,排序函数(Pay.
其次,在总体结构上,建立以各根菜单,用于选择各种功能.
1.Input(数据输入:
输入员工的各种数据.
2.Total(数据统计:
将员工的总数据进行对比排序,然后输出.
3.Output(数据显示:
显示输入的各种数据.
4.Save(数据保存:
对输入的数据进行保存备份.
5.Eixt(退出程序:
执行退出程序命令.
三、详细设计
定义了各个岗位的人员的类,并把每个类的人员的属性设为类中的保护成员,其中技术工的工作时间和每小时的所得为私有成员,而销售员的销售额、经理的工资和销售经理的所辖部门的销售额和其底薪设为公有成员,再依次录入。
根据所有类的工资算法在其所属类中定义一个函数voidpay(来根据各个职位的具体情况来计算工资,并且算出的工资经过冒泡法排序.
voidprinttotal(
{
cout<
<
"
├─────┴──┬──┴─────┤"
│Total │ "
│"
└────────┴────────┘"
}
通过do-while循环以及制表格和setw的使用将输入的数据和统计并排序的数据以表格的形式打印出来,销售额合计一栏宽度要大些。
voidsaleprint(
│"
├─────┼─────┼─────┤"
voidprint(
├─────┼─────┼─────┼─────┼─────┤"
\
通过函数save(来将输入的数据和统计并排序的数据进行保存.例如:
voidsave(
fstreamoutfile;
outfile.open("
f:
flsdfj.txt"
ios:
:
app;
if(!
outfile
fcan'
topen.\n"
;
abort(;
outfile<
Salesmanger"
ID"
}
5.Eixt(退出:
利用exit来完成退出系统功能。
四、设计和调试分析
程序清单:
#include
classemployee
public:
employee(
salary=0;
voidpay({}
voidprint({}
voidinput(
ID:
cin>
>
no;
NAME:
name;
SEX(m/w:
sex;
AGE:
age;
protected:
intno;
charname[8];
floatsalary;
charsex;
intage;
};
classmanager:
virtualpublicemployee
floatmonthlypay,sale;
manager({monthlypay=8000;
voidinput({cout<
Manger"
employee:
input(;
voidpay({salary=monthlypay;
classtechnician:
private:
floathourlyrate;
intworkhours;
technician({hourlyrate=100;
voidpay(
workhours;
salary=hourlyrate*workhours;
TECHNICIAN"
classsalesman:
floatcommrate;
floatsales;
salesman({commrate=0.04;
SALEMAN"
sales;
salary=sales*commrate;
classsalesmanager:
virtualpublicmanager,virtualpublicsalesman
floattotal;
intno1,no2,no3,no4;
charname1[8],name2[8],name3[8],name4[8];
floatsale1,sale2,sale3,sale4;
voidsalemanager(
monthlypay=5000;
commrate=0.005;
voidsavesale(
Thesalaryofsalemanofsalesmangerandthemselves"
salary=monthlypay+commrate*total;
floattotalsale({total=sale1+sale2+sale3+sale4;
returntotal;
voidsort(salesmanagerp
inttmp,i,j;
for(j=0;
j<
2;
j++
for(i=0;
i<
i++
if(total
tmp=salary;
total=p.salary;
p.salary=tmp;
tmp=no;
no=p.no;
p.no=tmp;
voidsaler(
StaffID:
no1;
StaffNAME:
name1;
Salesvolume:
sale1;
no2;
name2;
sale2;
no3;
name3;
sale3;
no4;
name4;
sale4;
voidmain(
managerm[4];
techniciant[4];
salesmans[4];
salesmanagersm[4];
t[1].save(;
intflag=1,operate;
do{
####Thesystemofsalarymanger####\n"
┌─────────────┐\n"
│Choseyouractions│\n"
│Input:
1,Enter│\n"
│Total:
2,Enter│\n"
│Output:
3,Enter│\n"
│Save:
4,Enter│\n"
│Exit:
5,Enter│\n"
└─────────────┘\n"
Pleasechoseoneaction:
"
operate;
switch(operate
case1:
Waitingforaminute!
for(inti=0;
4;
{m[i].input(;
for(intj=0;
{t[j].input(;
for(intk=0;
k<
k++
{s[k].input(;
for(intl=0;
l<
l++
{sm[l].input(;
{m[i].pay(;
{t[j].pay(;
{s[k].pay(;
{sm[l].pay(;
sm[l].saler(;
break;
case2:
sm[l].totalsale(;
sm[j].sort(sm[j+1];
Thesalemanofthefirstsalesmanger"
┌─────┬─────┬─────┐"
│ ID │ NAME │SALARY│"
sm[0].saleprint(;
sm[0].printtotal(;
Theorderiscomplete"
Listnamesofeverysalesmanger"
┌─────┬─────┬─────┬─────┬─────┐"
│ ID │ NAME │ SEX │ AGE │SALARY │"
sm[k].print(;
└─────┴─────┴─────┴─────┴─────┘"
case3:
{
Theblankofthe:
│ ID │ NAME │ SEX │ AGE │SALARY │"
{m[i].print(;
│ ID │ NAME │ SEX │ AGE │SALARY │"
{s[k].print(;
case4:
{m[i].save(;
{t[j].save(;
{s[k].save(;
{sm[l].save(;
Informationsave!
case5:
exit(0;
default:
Error!
Repeatagain!
}while(flag=1;
五、用户手册
1运行程序.会出现如下画面,按照提示进行选择.
2首先选择1,然后按Enter键.按照提示对员工个人情况进行输入.如图:
3然后选择4,然后按Enter键.对刚才输入的数据进行保存.
4选择2,然后按Enter键.对数据进行统计.如图:
六、测试结果
对各个部分功能进行测试后,各部分功能都很好.但是此程序也有的它的缺点在.那就是它不能按照个人的意愿,职能按照固定的人数对数据进行输入,既不能多也不能少.很麻烦.一但格式输入的不正确会立即进入死循环.不理想.
本程序综合性非常强,由于我们对使用C++设计程序的能力还不是很熟练,所以在设计时非常吃力。
在整个程序中,我们通过使用while循环,switch语句,冒泡排序法,表格设计中的setw(以及类的定义及使用来完成程序设计,使我提高了对C++中语句的使用能力和组合能力,进一步加强了我对使用C++编程的能力。
通过此次程序设计实习,我发现自己在学习C++方面还有很多不足,在此程序中可能还有一些不足和错误,我们将在以后的学习过程中不断努力并强化对C++的练习
七、参考文献
[1]苏金明,周建斌.用VB.NET和VC#.NET开发交互式CAD系统[M].北京:
电子工业出版社,2004
[2]普悠玛.VB.NET程序设计示例导学[M].北京:
科海电子出版社,2003
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 小型企业 工资管理 系统 概要