工资管理系统.docx

上传人:b****1 文档编号:1404451 上传时间:2023-04-30 格式:DOCX 页数:60 大小:1MB
下载 相关 举报
工资管理系统.docx_第1页
第1页 / 共60页
工资管理系统.docx_第2页
第2页 / 共60页
工资管理系统.docx_第3页
第3页 / 共60页
工资管理系统.docx_第4页
第4页 / 共60页
工资管理系统.docx_第5页
第5页 / 共60页
工资管理系统.docx_第6页
第6页 / 共60页
工资管理系统.docx_第7页
第7页 / 共60页
工资管理系统.docx_第8页
第8页 / 共60页
工资管理系统.docx_第9页
第9页 / 共60页
工资管理系统.docx_第10页
第10页 / 共60页
工资管理系统.docx_第11页
第11页 / 共60页
工资管理系统.docx_第12页
第12页 / 共60页
工资管理系统.docx_第13页
第13页 / 共60页
工资管理系统.docx_第14页
第14页 / 共60页
工资管理系统.docx_第15页
第15页 / 共60页
工资管理系统.docx_第16页
第16页 / 共60页
工资管理系统.docx_第17页
第17页 / 共60页
工资管理系统.docx_第18页
第18页 / 共60页
工资管理系统.docx_第19页
第19页 / 共60页
工资管理系统.docx_第20页
第20页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

工资管理系统.docx

《工资管理系统.docx》由会员分享,可在线阅读,更多相关《工资管理系统.docx(60页珍藏版)》请在冰点文库上搜索。

工资管理系统.docx

工资管理系统

程序设计报告

(2013/2014学年第1学期)

 

题目:

模拟工资管理系统

 

专业:

软件工程

学生姓名****

班级学号:

********

指导教师************

指导单位:

南京邮电大学通达学院

日期:

2013年12月9日

评分细则

评分项

优秀

良好

中等

遵守机房规章制度

上机时的表现

学习态度

程序准备情况

程序设计能力

团队合作精神

课题功能实现情况

算法设计合理性

用户界面设计

报告书写认真程度

内容详实程度

文字表达熟练程度

回答问题准确度

简短评语

 

教师签名:

年月日

评分等级

备注

评分等级有五种:

优秀、良好、中等、及格、不及格

模拟工资管理系统

一课题内容和要求

工资管理系统是一个单位最基本的一项财务管理,该系统要求实现查找,修改,删除,统计,排序等。

所以帐务数据都要利用文件系统保存,以备系统下次运行时使用。

通过此课题,熟练掌握文件,数组,指针的各项操作,以及一些基本算法思想的应用。

基本要求:

管理员:

1)以密码系统登录

2)录入员工信息具体工资,计算相应的税金(计算规则参见最新公布的政策)

3)查询并显示所有员工具体信息

4)显示统计信息:

员工数目,工资总数和税金总数

5)按照指定条件查询

6)增减具体员工记录

税金政策基本是不同收入等级的工资使用不同的比例收取税金。

类似于下表:

工资税金

0~15000%(超出部分)

1500~250010%(超出部分)

2500~350015%(超出部分)

3500~500020%(超出部分)

5000~1000030%(超出部分)

10000~40%(超出部分)

员工:

1)以工号为登录ID,密码自己设定;

2)可以查询本人的相关信息;

3)系统提供指定时间间隔的查询功能。

二需求分析

工资管理系统的功能框架图如图1所示。

 

图一(功能框架图)

(1)根据工资管理系统的要求,设计合适的数据结构。

(2)选择文件存储格式(文本或是二进制)和文件名。

(3)采用自顶向下的设计方法,设计系统的总体模块组成和数据结构。

(4)对于每项操作,设计一个函数(方法、子模块)进行实现,要明确定义函数类型。

(5)根据设计结果分布开发实现各模块,最后进行总体集成。

三、概要设计

1主要结构体

classworker

{

public:

worker()

{

}

voidshow();//职工信息显示

~worker()

{

}

doubleGetTax();//获取缴税

doubleGetAccumPay();//获取实发工资

friendclassWorkerList;

private:

stringnum,name,sex,edu,address,tel;//姓名,性别,教育程度,住址,电话

intage,salary,A;//年龄,薪水,税金

};

 

classWorkerList

{

private:

workerw[N];

intNUM;//用来计算职工数目

intcount;//用来暂时记录当前操作第几个职工

public:

voidadd();//职工信息录入

voidsort();//职工信息排序

voidsearch();//职工信息查找

voiddele();//职工信息删除

voidmodify();//职工信息修改

voidsave();//职工信息以文件形式保存

voidshowworker();//显示职工信息在屏幕上

voidread();

WorkerList()

{

NUM=0;

count=0;

}

};

 

2主要函数流程图

(1)登录函数(如图二所示)

 

 

 

NYYN

 

图二(登录函数图)

 

(2)职工信息录入如图三所示

图三(录入函数)

(3)职工信息查找(如图四所示)

 

 

 

 

 

图四(查找函数)

 

(4)职工信息统计(如图五所示)

 

图五(统计函数)

(5)职工信息修改(如图六所示)

图六(修改函数)

(6)职工信息删除(如图七所示)

图七(删除函数)

(7)职工信息保存(如图八所示)

图八

 

(8)职工信息排序(如图九所示)

 

图九

四.源代码

#include

#include

#include

#include

#include

#include"conio.h"

usingnamespacestd;

#defineN100//N作为最大职工总数

intf=0;//f作为开关

stringp;//p作为接收菜单选项的字符串

interror=0;

voidmenu();//显示菜单

classworker

{

public:

worker()

{

}

voidshow();//职工信息显示

~worker()

{

}

doubleGetTax();//获取缴税

doubleGetAccumPay();//获取实发工资

friendclassWorkerList;

private:

stringnum,name,sex,edu,address,tel;//姓名,性别,教育程度,住址,电话

intage,salary,A;//年龄,薪水,税金

};

 

classWorkerList

{

private:

workerw[N];

intNUM;//用来计算职工数目

intcount;//用来暂时记录当前操作第几个职工

public:

voidadd();//职工信息录入

voidsort();//职工信息排序

voidsearch();//职工信息查找

voiddele();//职工信息删除

voidmodify();//职工信息修改

voidsave();//职工信息以文件形式保存

voidshowworker();//显示职工信息在屏幕上

voidread();

WorkerList()

{

NUM=0;

count=0;

}

};

doubleworker:

:

GetTax()//缴税

{

if(salary<=1500)

{

returnA==0;

}

else

if(salary<=2500)

{

returnA=(salary-1500)*10/100;

}

else

if(salary<=3500)

{

returnA=(salary-2500)*15/100+100;

}

else

if(salary<=5000)

{

returnA=(salary-3500)*20/100+100+150;

}

else

if(salary<=10000)

{

returnA=(salary-5000)*30/100+100+150+300;

}

else

if(salary>10000)

{

returnA=(salary-10000)*40/100+100+150+300+1500;

}

}

doubleworker:

:

GetAccumPay()

{

returnsalary-A;

}

//登陆函数

voidlogin()

{

system("cls");

cout<<"\n\n*************************************************"<

cout<<"**请选择您所需要的模式**"<

cout<<"**1.管理员模式**"<

cout<<"**2.用户模式**"<

cout<<"*************************************************"<

}

voidmenu()

{

cout<

cout<<"**************************************************************"<

cout<<"****"<

cout<<"**===欢迎使用南京邮电大学职工工资管理系统===**"<

cout<<"****"<

cout<<"**1.职工信息添加**"<

cout<<"**2.职工信息修改**"<

cout<<"**3.职工信息删除**"<

cout<<"**4.职工信息排序**"<

cout<<"**5.职工信息查找**"<

cout<<"**6.职工信息显示**"<

cout<<"**7.职工信息保存**"<

cout<<"**8.职工信息查看**"<

cout<<"**0.退出**"<

cout<<"****"<

cout<<"**************************************************************"<

cout<

}

voidmenu1()

{

cout<

cout<<"**************************************************************"<

cout<<"****"<

cout<<"**===欢迎使用南京邮电大学职工工资管理系统===**"<

cout<<"****"<

cout<<"**1.职工信息查找**"<

cout<<"**0.退出**"<

cout<<"****"<

cout<<"**************************************************************"<

cout<

}

voiddomain()//主菜单函数实现

{

charpa[20];

intabcd;

charbefore;

WorkerListwl;

inta;

cout<<"请输入选择:

";

cin>>a;

switch(a)

{

case1:

cout<<"请输入密码:

";

intj;

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

{

before=getch();

if(before==13)

{

pa[j]='\0';

break;

}

if(before==8)

{

before=getchar();

}

else

{

pa[j]=before;

cout<<'*';

}

}

if(strcmp(pa,"123")==0||strcmp(pa,"456")==0)

{

cout<<"\n登录成功,祝您工作顺利,心情愉快!

"<

}

else

{

do

{

error++;

if(error==3)

{

cout<

cout<<"\n**************************************************"<

cout<<"**密码错误3次,系统自动退出,请稍后重新登录**"<

cout<<"**************************************************"<

for(abcd=1;abcd<=100000000;abcd++)

{

}

exit

(1);

}

cout<<"\n密码错误!

请重新输入"<

for(abcd=1;abcd<=100000000;abcd++)

{

}

login();

}

while(error<3);

}

while

(1)

{

system("cls");

menu();

cout<<"请选择数字编号0~8"<

inti1;

cin>>i1;

while(!

(i1>=0&&i1<=8))

{

cout<<"输入有误,请重新输入:

"<

cin>>i1;

}

switch(i1)

{

case1:

wl.add();//添加

break;

case2:

wl.modify();//修改

break;

case3:

wl.dele();//删除

break;

case4:

wl.sort();//排序

break;

case5:

wl.search();//查找

break;

case6:

wl.showworker();//显示

break;

case7:

wl.save();//保存

break;

case8:

wl.read();//查看

break;

case0:

cout<<"┴┬┴┬/ ̄\_/ ̄\"<

cout<<"┬┴┬┴▏▏▔▔▔▔\"<

cout<<"┴┬┴/\/﹨"<

cout<<"┬┴∕/)╭-------╮"<

cout<<"┴┬▏●▏│再│"<

cout<<"┬┴▏▔█◤╭╮│见!

│"<

cout<<"┴◢██◣\__/o╰╯╰-------╯"<

cout<<"┬█████◣/"<

cout<<"┴█████████████◣"<

cout<<"◢██████████████▆▄"<

cout<<"◢██████████████▆▄"<

cout<<"█◤◢██◣◥█████████◤\"<

cout<<"◥◢████████████◤\"<

cout<<"┴███████████◤﹨"<

cout<<"┬││█████◤▏"<

cout<<"┴││)"<

cout<<"┬∕∕/▔▔▔\∕"<

cout<<"*∕___/﹨∕\/\"<

cout<<"┬┴┬┴┬┴\\_﹨/﹨"<

cout<<"┴┬┴┬┴┬┴\___\﹨/▔\﹨"<

exit(0);

cout<<"系统退出!

"<

exit(0);

default:

break;

}

cout<<"是否返回主菜单?

Y/N"<

cin>>p;

if(p=="n"||p=="N")

{cout<<"系统退出!

"<

exit(0);

}

getchar();

}

case2:

cout<<"请输入密码:

";

intb;

for(b=0;b<10;b++)

{

before=getch();

if(before==13)

{

pa[b]='\0';

break;

}

if(before==8)

{

before=getchar();

}

else

{

pa[b]=before;

cout<<'*';

}

}

if(strcmp(pa,"123")==0||strcmp(pa,"456")==0)

{

cout<<"\n登录成功,祝您工作顺利,心情愉快!

"<

}

else

{

do

{

error++;

if(error==3)

{

cout<

cout<<"\n**************************************************"<

cout<<"**密码错误3次,系统自动退出,请稍后重新登录**"<

cout<<"**************************************************"<

for(abcd=1;abcd<=100000000;abcd++)

{

}

exit

(1);

}

cout<<"\n密码错误!

请重新输入"<

for(abcd=1;abcd<=100000000;abcd++)

{

}

login();

}

while(error<3);

}

while

(1)

{

system("cls");

menu1();

cout<<"请选择数字编号0~1"<

inti1;

cin>>i1;

while(!

(i1>=0&&i1<=7))

{

cout<<"输入有误,请重新输入:

"<

cin>>i1;

}

switch(i1)

{

case1:

wl.search();//查找

break;

case0:

cout<<"┴┬┴┬/ ̄\_/ ̄\"<

cout<<"┬┴┬┴▏▏▔▔▔▔\"<

cout<<"┴┬┴/\/﹨"<

cout<<"┬┴∕/)╭-------╮"<

cout<<"┴┬▏●▏│再│"<

cout<<"┬┴▏▔█◤╭╮│见!

│"<

cout<<"┴◢██◣\__/o╰╯╰-------╯"<

cout<<"┬█████◣/"<

cout<<"┴█████████████◣"<

cout<<"◢██████████████▆▄"<

cout<<"◢██████████████▆▄"<

cout<<"█◤◢██◣◥█████████◤\"<

cout<<"◥◢████████████◤\"<

cout<<"┴███████████◤﹨"<

cout<<"┬││█████◤▏"<

cout<<"┴││)"<

cout<<"┬∕∕/▔▔▔\∕"<

cout<<"*∕___/﹨∕\/\"<

cout<<"┬┴┬┴┬┴\\_﹨/﹨"<

cout<<"┴┬┴┬┴┬┴\___\﹨/▔\﹨"<

exit(0);

cout<<"系统退出!

"<

exit(0);

default:

break;

}

cout<<"是否返回主菜单?

Y/N"<

cin>>p;

if(p=="n"||p=="N")

{cout<<"系统退出!

"<

exit(0);

}

getchar();

}

}

}

voidWorkerList:

:

add()//职工信息添加函数实现

{

cout<<"请输入职工信息:

"<

cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<

stringnum;

cin>>num;

for(inti=0;i

while(num==w[i].num)

{

cout<<"此职工编号已存在,请重新输入:

"<

cin>>num;

}

w[NUM].num=num;

cin>>w[NUM].name>>w[NUM].sex>>w[NUM].edu>>w[NUM].age>>w[NUM].salary>>w[NUM].address>>w[NUM].tel;

++NUM;

count=NUM;

}

voidworker:

:

show()//显示职工信息函数实现

{

cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<

cout<

cout<

}

voidWorkerList:

:

modify()//职工信息修改函数实现

{

if(NUM<=0)

{

cout<<"没有职工信息存入,系统将返回主菜单"<

menu();

}

else

{cout<<"职工信息如下:

"<

cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"<

for(inti=0;i

cout<

}

cout<<"请输入需要修改信息职工的工号:

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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