C企业工资管理系统课程设计.doc
《C企业工资管理系统课程设计.doc》由会员分享,可在线阅读,更多相关《C企业工资管理系统课程设计.doc(23页珍藏版)》请在冰豆网上搜索。
目录
一、需求分析.......................................1
二、概要设计.......................................3
三、详细设计......................................12
四、调试分析......................................12
五、用户手册......................................13
六、测试数据......................................17
七、附录..........................................31
一、需求分析
1.数据存储采用文件形式。
2.标准C++输入输出
3.程序完成企业人事工资管理,能够实现工资的录入、统计(整个单位的平均工资、最高工资、最低工资)、查询、修改、删除等功能。
4.程序执行的命令:
(1)录入员工工资信息;
(2)选择需要执行的操作(添加、统计、删除、修改、查询);
(3)输出结果。
二、概要设计
1.设计类的数据类型定义
classmessage{
private:
charbornplace[10],duty[10];//籍贯职务
intID;//身份证号
public:
charname[10],bumen[10];//姓名部门
intbasesalary;//基本工资
intjiangjin;//奖金
friendvoidmodify(intx);//友员函数
friendintdel(intx);//友员函数
}
2.程序模块
(1)录入操作:
voidwriten(intx),该模版主要实现工资信息的录入;
(2)添加操作:
voidadd(intx),该模版主要实现工资信息的添加;
(3)删除操作:
voiddel(intx),该模版主要实现工资信息的删除;
(4)修改操作:
voidmodify(intx),该模版主要实现工资信息的修改;
(5)查询操作:
voidfind(intx),该模版主要实现工资信息的查询统计操
(6)统计操作:
voidcount(intx),实现最高工资,最低工资等的统计;
(7)退出;
三、详细设计
(1)类模块
classmessage{
private:
charbornplace[10];
charduty[10];
intID;
public:
charname[10];
charbumen[10];
intbasesalary;
intjiangjin;
message(){}//********************构造函数
voidxinxi(chara_name[],chara_bornplace[],chara_duty[],chara_bumen[],inta_ID,inta_basesalary,inta_jiangjin)
{
strcpy(name,a_name);
strcpy(bornplace,a_bornplace);
strcpy(duty,a_duty);
strcpy(bumen,a_bumen);
ID=a_ID;
basesalary=a_basesalary;
jiangjin=a_jiangjin;
}
message&operator=(constmessage&s)//**********************运算符重载
{
strcpy(name,s.name);
strcpy(bornplace,s.bornplace);
strcpy(duty,s.duty);
strcpy(bumen,s.bumen);
ID=s.ID;
basesalary=s.basesalary;
jiangjin=s.jiangjin;
return*this;
}
friendvoidmodify(intx);//************************友元函数
friendintdel(intx);
voidput()//定义put函数,以便于其他函数的调用
{
cout< }
~message()//**************************析构
{}
};
(2)主函数流程图
开始
intb,i
输入i值
i=1
录入
i=2
添加
i=3
删除
i=4
修改
i=5
查找
i=6
统计
i=7
退出
结束
(3)录入、添加函数流程图
开始
cout(请输入您要添加的信息)
cout(姓名,职务,身份证号,籍贯,基本工资,奖金,)
cin(name,,duty,ID,bornplace,basesalary,,jiangjin,)
结束
(4)删除函数流程图
开始
inti,j,temp,flag=-1,charming
输入删除的名字
name=ming
ia[j]=b[i],i++,j++
i++
没有找到要删除的人
end
(5)修改函数流程图
start
inti,j,charname
输入ming
b[i].name=ming
输入修改的信息(名字,,职务,身份证号,籍贯,工资)
cin(name,duty,ID,bornplace,basesalary,jiangjin)
没找到要修改的
end
(6)查找函数流程图
开始
inti,j,k,num;charming,
k=1
输入要查询的名字
b[i].name=ming
b[j].put
没有找到要查找的姓名
结束
(8)统计函数流程图
四、调试分析
1、开始使用文件保存时出现不能为read错误,后通过查阅资料解决了问题;
2、删除部分程序开始不能判断是否找到了要删除的人员信息,后来加了flag标记后可以判断了;
3、统计部分程序在求均方差的时候出现算法错误,后来查阅了均方差公式后改正了过来
4、使用友员函数可以解决类外作用域问题。
五、用户手册
1.本程序的运行环境为doc操作系统;
2.进入界面后,按照提示输入选择;
3.选择1:
执行工资信息录入操作;
4.选择2:
执行工资信息添加操作;
5.选择3:
执行工资信息删除操作;
6.选择4:
执行工资信息修改操作;
7.选择5:
执行工资信息查询操作;
8.选择6:
执行工资信息统计操作;
9.选择7:
退出工资管理系统;
10.输入后按回车键,即可输出信息,按提示输入即可。
六、测试数据
七、附录
#include"iostream.h"
#include"stdlib.h"
#include"stdio.h"
#include"string.h"
#include"message.h"
classmessage{
private:
charbornplace[10],duty[10];//籍贯职务
intID;//身份证号
public:
charname[10],bumen[10];//姓名部门
intnumber;//工号
intbasesalary;//基本工资
intjobsalary;//岗位工资
intyljj;//医疗基金
intsj;//税金
intjiangjin;//奖金
message(){}//********************构造函数
voidxinxi(chara_name[],chara_bornplace[],chara_duty[],chara_bumen[],inta_ID,inta_number,inta_basesalary,inta_jobsalary,inta_jiangjin,inta_yljj,inta_sj)
{
strcpy(name,a_name);
strcpy(bornplace,a_bornplace);
strcpy(duty,a_duty);
strcpy(bumen,a_bumen);
ID=a_ID;
number=a_number;
basesalary=a_basesalary;
jobsalary=a_jobsalary;
jiangjin=a_jiangjin;
yljj=a_yljj;
sj=a_sj;
}
message&operator=(constmessage&s)//**********************运算符重载
{
strcpy(name,s.name);
strcpy(bornplace,s.bornplace);
strcpy(duty,s.duty);
strcpy(bumen,s.bumen);
ID=s.ID;
number=s.number;
basesalary=s.basesalary;
jobsalary=s.jobsalary;
jiangjin=s.jiangjin;
yljj=s.yljj;
sj=s.sj;
return*this;
}
friendvoidmodify(intx);//************************友元函数
friendintdel(intx);
voidput()//定义put函数,以便于其他函数的调用
{
cout< }
~message()//**************************析构
{}
};
voidmain()
{
inti,b;
intor;
cout<<"********欢迎进入企业工资管理系统********"< cout<<"***********1.工资信息录入操作***********"< cout<<"***********2.工资信息增加操作***********"<