C企业工资管理系统课程设计.doc

上传人:wj 文档编号:1215303 上传时间:2023-04-30 格式:DOC 页数:23 大小:98.50KB
下载 相关 举报
C企业工资管理系统课程设计.doc_第1页
第1页 / 共23页
C企业工资管理系统课程设计.doc_第2页
第2页 / 共23页
C企业工资管理系统课程设计.doc_第3页
第3页 / 共23页
C企业工资管理系统课程设计.doc_第4页
第4页 / 共23页
C企业工资管理系统课程设计.doc_第5页
第5页 / 共23页
C企业工资管理系统课程设计.doc_第6页
第6页 / 共23页
C企业工资管理系统课程设计.doc_第7页
第7页 / 共23页
C企业工资管理系统课程设计.doc_第8页
第8页 / 共23页
C企业工资管理系统课程设计.doc_第9页
第9页 / 共23页
C企业工资管理系统课程设计.doc_第10页
第10页 / 共23页
C企业工资管理系统课程设计.doc_第11页
第11页 / 共23页
C企业工资管理系统课程设计.doc_第12页
第12页 / 共23页
C企业工资管理系统课程设计.doc_第13页
第13页 / 共23页
C企业工资管理系统课程设计.doc_第14页
第14页 / 共23页
C企业工资管理系统课程设计.doc_第15页
第15页 / 共23页
C企业工资管理系统课程设计.doc_第16页
第16页 / 共23页
C企业工资管理系统课程设计.doc_第17页
第17页 / 共23页
C企业工资管理系统课程设计.doc_第18页
第18页 / 共23页
C企业工资管理系统课程设计.doc_第19页
第19页 / 共23页
C企业工资管理系统课程设计.doc_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C企业工资管理系统课程设计.doc

《C企业工资管理系统课程设计.doc》由会员分享,可在线阅读,更多相关《C企业工资管理系统课程设计.doc(23页珍藏版)》请在冰点文库上搜索。

C企业工资管理系统课程设计.doc

目录

一、需求分析.......................................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

i

a[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.工资信息增加操作***********"<

cout<<"***********3.工资信息删除操作***********"<

cout<<"***********4.工资信息修改操作***********"<

cout<<"***********5.工资信息查找操作***********"<

cout<<"***********6.工资信息统计操作***********"<

cout<<"***********7.退出***********************"<

cout<<"*********请输入你要进行的操作选项*******"<

cin>>i;

cout<

while(i!

=10)

{

switch(i)

{

default:

cout<<"你输入的有误,请重新输入。

"<

case1:

cout<<"输入企业人员的人数:

";//输入信息

cin>>b;

cout<

writein(b);

break;

case2:

//添加

add(b);

b++;

break;

case3:

//删除

del(b);

b--;

break;

case4:

//修改

modify(b);

break;

case5:

//查询

cout<<"┌─────────────┐"<

cout<<"│请输入您要选择的查询方式:

│"<

cout<<"│1.按姓名查找操作│"<

cout<<"│2.按工号查找操作│"<

cout<<"└─────────────┘"<

cin>>or;

if(or==1)

namfind(b);

elseif(or==2)

numfind(b);

break;

case6:

//统计

intcc;

cout<<"┌─────────────┐"<

cout<<"│请输入您要选择的查询方式:

│"<

cout<<"│1.按部门统计│"<

cout<<"│2.按单位统计│"<

cout<<"└─────────────┘"<

//cin>>or;:

cin>>cc;

if(cc==1)

bmcount(b);

elseif(cc==2)

dwcount();

break;

case7:

exit(0);

}

cout<<"********欢迎进入企业工资管理系统********"<

cout<<"***********1.工资信息录入操作***********"<

cout<<"***********2.工资信息增加操作***********"<

cout<<"***********3.工资信息删除操作***********"<

cout<<"***********4.工资信息修改操作***********"<

cout<<"***********5.工资信息查找操作***********"<

cout<<"***********6.工资信息统计操作***********"<

cout<<"***********7.退出***********************"<

cout<<"*********请输入你要进行的操作选项*******"<

cin>>i;

cout<

}

}

voidwritein(intx)//工资信息录入

{

messagea[10];

chara_name[10],a_bornplace[10],a_duty[10],a_bumen[10];//姓名籍贯职务部门

intj,a_ID,a_basesalary,a_jobsalary,a_jiangjin,a_yljj,a_sj,a_number;//身份证号基本工资岗位工资奖金医疗住房基金税金

fstreamf("wenjian.txt",ios:

:

out);//打开文件

if(!

f)

{

cout<<"Cannotopenfile\n.";

}

for(j=0;j

{

cout<<"姓名:

"<

cin>>a_name;

cout<<"籍贯:

"<

cin>>a_bornplace;

cout<<"职务:

"<

cin>>a_duty;

cout<<"部门:

"<

cin>>a_bumen;

cout<<"身份证号:

"<

cin>>a_ID;

cout<<"工号:

"<

cin>>a_number;

cout<<"基本工资:

"<

cin>>a_basesalary;

cout<<"岗位工资:

"<

cin>>a_jobsalary;

cout<<"奖金:

"<

cin>>a_jiangjin;

cout<<"医疗住房基金:

"<

cin>>a_yljj;

cout<<"税金:

"<

cin>>a_sj;

cout<

a[j].xinxi(a_name,a_bornplace,a_duty,a_bumen,a_ID,a_number,a_basesalary,a_jobsalary,a_jiangjin,a_yljj,a_sj);

f.write((char*)&a[j],sizeof(a[j])); //保存录入的信息

}

f.close();//关闭文件

cout<

ifstreamin("wenjian.txt",ios:

:

in);

messageb[10];

for(j=0;j

{

if(!

in.eof())

{

in.read((char*)&b[j],sizeof(a[j]));

b[j].put();

}

else

exit(0);

}

in.close();

}

voidadd(intx)//工资信息添加

{

chara_name[10],a_bornplace[10],a_duty[10],a_bumen[10];

inta_ID,a_basesalary,a_jobsalary,a_jiangjin,a_yljj,a_sj,a_number,temp=30;

messagec;

cout<<"输入要增加的人员的信息:

"<

cout<<"姓名:

"<

cin>>a_name;

cout<<"籍贯:

"<

cin>>a_bornplace;

cout<<"职务:

"<

cin>>a_duty;

cout<<"部门:

"<

cin>>a_bumen;

cout<<"身份证号:

"<

cin>>a_ID;

cout<<"工号:

"<

cin>>a_number;

cout<<"基本工资:

"<

cin>>a_basesalary;

cout<<"岗位工资:

"<

cin>>a_jobsalary;

cout<<"奖金:

"<

cin>>a_jiangjin;

cout<<"医疗住房基金:

"<

cin>>a_yljj;

cout<<"税金:

"<

cin>>a_sj;

cout<

c.xinxi(a_name,a_bornplace,a_duty,a_bumen,a_ID,a_number,a_basesalary,a_jobsalary,a_jiangjin,a_yljj,a_sj);

ofstreamout("wenjian.txt",ios:

:

app);

out.write((char*)&c,sizeof(classmessage));//保存到文件中

out.close();

cout<<"增加成功!

"<

}

intdel(intx)//工资信息删除

{

inti,j,temp,flag=-1;

charming[10];

system("cls");

ifstreamin("wenjian.txt");

messageb[30],c;

for(j=0;j<30;j++)

{

if(!

in.eof())

{

in.read((char*)&b[j],sizeof(classmessage));

}

else

{

temp=j-1;

break;

}

}

cout<<"文件内保存的信息有:

"<

cout<<"姓名地址职务部门身份证号工号工资"<

for(j=0;j

b[j].put();

in.close();

fstreamsp("wenjian.txt",ios:

:

in||ios:

:

out);

for(j=0;j<30;j++)

{

if(!

sp.eof())

{

sp.read((char*)&b[j],sizeof(classmessage));

}

else

{

temp=j-1;

break;

}

}

sp.close();

messagea[30];

fstreamap("wenjian.txt",ios:

:

in||ios:

:

out);

cout<<"请输入要删除人员信息的名字:

";

cin>>ming;

cout<

for(j=0,i=0;i

{

if(strcmp(b[i].name,ming)==0)//标记要删除的信息

{

flag=i;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2