高校工资管理系统.docx

上传人:b****5 文档编号:5175220 上传时间:2022-12-13 格式:DOCX 页数:28 大小:281.20KB
下载 相关 举报
高校工资管理系统.docx_第1页
第1页 / 共28页
高校工资管理系统.docx_第2页
第2页 / 共28页
高校工资管理系统.docx_第3页
第3页 / 共28页
高校工资管理系统.docx_第4页
第4页 / 共28页
高校工资管理系统.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

高校工资管理系统.docx

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

高校工资管理系统.docx

高校工资管理系统

高校工资管理系统

1.系统化需求分析

学校有对职工具体信息操作,对职工信息的查询,修改,增加和删除,工资的计算和发放需求

这个系统可以保存员工信息,根据输入的数据自动实现工资发放功能,也可以查询该职工所有信息,也可以按职工在编号或姓名来实现职工在修改,增加和删除功能,实现了任意职工的工资查询。

职工信息保存在文件里,实现文件保存功能

2.总体设计

3.详细设计

GUANLI

-name:

string

-sex:

string

-address:

string

-id:

string

-job:

string

-number:

int

-classhour:

int

-newclsshour:

int

-pay:

int

-year:

int

-month:

int

-day:

int

<>-laoshiji:

int

<>-shiyanji:

int

<>-xingzhengji:

int

<>-shiyanbu:

int

<>-xingzhengbu:

int

<>-classpay:

int

+GUANLI()

+outname():

string

+outsex():

string

+outaddress():

string

+outid():

string

+outjob():

string

+outnumber():

int

+outclasshour():

int

+outnewclasshour():

int

+outpay():

int

+outyear():

int

+outmonth():

int

+outday():

int

+changejob():

void

+pay():

void

+display():

void

+newpay():

void

+shanpay():

void

4.系统调试

1.图1.1:

进入主菜单:

 

2.图1.2:

选1,输入职工信息:

 

 

3.图1.3:

输入”y”,继续输入

 

4.图1.4:

输入”n”,结束职工信息输入,图1.5:

再输入”y”,返回主菜单

 

 

5..图1.6:

选项2,

(1)新学期工资计算

 

(2)职工工资发放,选个别发放

图1.8:

选择1,按编号发放,输入1号

 

选择”n”,不继续发放,再输入“y“返回主菜单进行查询

6.图1.9:

键入3选项,输入相应的数字选项进行工资查询

 

7.图2.0:

返回主菜单,键入4选项,执行职工信息查询,查询方法为按编号查询

 

图2.1:

4选项的分功能,修改功能,键入1号,图2.2:

进行资料修改输入

 

8.图2.3:

职工信息已经修改,查询确认:

 

 

9.图2.4:

返回主菜单后,键入5选项,增加和删除职工

选增加职工:

 

图2.5:

选删除职工:

 

10.返回主菜单,退出程序

5.结果分析

这个设计的独到指出就是,操作简单,实现方便,基本实现了员工基本资料的查询和修改,对工资的操作也很简洁方便。

不足之处是挺多的功能都未实现,比如整个系统,职工资料对外都是全部开放的,任何人都可对系统进行操作,员工的资料还没进行保密和封锁工作,系统还有很多需要完善的地方,系统的实用性和灵活性都还很缺乏,不完善之处还需继续努力的修改……

6.总结

这次的课程设计总体感觉就是比去年的困难了好多,也终于了解到当初老师讲的c++比上学期学的c要难要深奥很多,的确,因为c++的知识面和深度都比c大很多,学起来相对也比较吃力。

而这次的课设,把我在学这门课程存在的弊端全部暴露出来了,原来对于这门课,我学到的仅仅是一些皮毛而已,在做程序的过程中,发现好多功能我都无法用我脑中的知识去实现它,必须翻开课本依葫芦画瓢才能把程序写出来,还有遇到的一些要求根本没遇到过,比如用文件保存的方式保存,这就得用到c++里的文件流来输入输出,并保存到指定的文件里,这些知识点老实虽然没讲,但是作为一个大学生,并不是老师不讲就不看的,应该自己去看,因为后边的只是点反而是最重要的,在我们班,有了好几个同学都已经把后边的知识看了几遍了,所以他们用起来就得心应手了,而我,也来不及去好好看书了,只能厚着脸皮去问他们,让他们列个模版给我,然后再由自己去想程序的具体实行部分,这直接导致的结果就是浪费了好多时间,要是自己早把那知识学了,还会那么被动么?

就是呢,这学期太懒了,上学期还时不时的编下程序,而这学期,都是偶尔才来一次的。

下学期就要学数据结构了,如果还是这样子的话,肯定不行,所以我必须改变,改变自己的惰性……

7.源程序

//Means.h

#ifndefMEANS_H

#defineMEANS_H

#include"iostream"

#include"string"

usingnamespacestd;

classPay;

classGUANLI

{

private:

intnumber;

intclasshour;//课时//

intnewclasshour;//新课时//

intpay;

stringname;

stringsex;

stringaddress;

stringid;

stringjob;

intyear;

intmonth;

intday;

staticintlaoshiji;

staticintshiyanji;

staticintxingzhengji;//基本工资//

staticintshiyanbu;//实验补助//

staticintxingzhengbu;//行政补助//

staticintclasspay;//课时费//

public:

GUANLI();

stringoutname(){returnname;}

stringoutjob(){returnjob;}

stringoutsex(){returnsex;}

stringoutaddress(){returnaddress;}

stringoutid(){returnid;}

intoutnumber(){returnnumber;}

intoutclasshour(){returnclasshour;}

intoutnewclasshour(){returnnewclasshour;}

intoutpay(){returnpay;}

intoutyear(){returnyear;}

intoutmonth(){returnmonth;}

intoutday(){returnday;}

voidchangejob();//工作改变//

voidPay();

voiddisplay();

voidshanpay();

voidnewpay();

};

#endif

//Means.cpp

#include"Means.h"

#include"iostream"

#include"fstream"

#include"string"

usingnamespacestd;

stringa="teacher";

stringb="laboratory";

stringc="adminofficer";

stringL="teacherandlaboratory";

stringe="adminofficerandlaboratory";

GUANLI:

:

GUANLI()

{

intkl;

cout<<"编号:

";cin>>number;

cout<<"姓名:

";cin>>name;

cout<<"性别:

";cin>>sex;

cout<<"出生日期:

";

cout<<"年:

";cin>>year;

cout<<"月:

";cin>>month;

cout<<"日:

";cin>>day;

cout<<"地址:

";cin>>address;

cout<<"身份证号:

";cin>>id;

do

{

cout<<"职称:

(职称:

teacher/laboratory/adminofficer/teacherandlaboratory/adminofficerandlaboratory)";cin>>job;

if(job!

=a&&job!

=b&&job!

=c&&job!

=L&&job!

=e)

{

kl=0;

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

"<

kl=1;

}

else

kl=0;

}while(kl==1);

cout<<"上学期课时:

";cin>>classhour;

cout<<"本学期课时:

";cin>>newclasshour;

}

voidGUANLI:

:

shanpay()

{

pay=0;newclasshour=0;classhour=newclasshour;

}

voidGUANLI:

:

display()

{

cout<<"\n"<<"号码:

"<

"<

cout<<"性别:

"<

"<

cout<<"地址:

"<

"<

"<

cout<<"上学期课时:

"<

"<

"<

}

voidGUANLI:

:

changejob()

{

intz,x,v,d,f,y;

stringg;

stringh;

stringk;

stringn;

stringE;

intkv;

cout<<"该职工信息为:

";

display();

cout<<"请输入职工的新资料:

"<

cout<<"新编号:

";cin>>z;number=z;

cout<<"新姓名:

";cin>>g;name=g;

cout<<"新性别:

";cin>>h;sex=h;

cout<<"新出生日期:

";

cout<<"年:

";cin>>x;year=x;

cout<<"月:

";cin>>v;month=v;

cout<<"日:

";cin>>d;day=d;

cout<<"新地址:

";cin>>k;address=k;

cout<<"新身份证号:

";cin>>E;id=E;

do

{

cout<<"新职称:

(职称:

teacher/laboratory/adminofficer/teacherandlaboratory/adminofficerandlaboratory)"<

cin>>n;

if(n!

=a&&n!

=b&&n!

=c&&n!

=L&&n!

=e)

{

kv=0;

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

"<

kv=1;

}

else

kv=0;

}while(kv==1);

job=n;

cout<<"上学期课时:

";cin>>f;classhour=f;

cout<<"本学期课时:

";cin>>y;newclasshour=y;

cout<<"\n"<<"该职工新信息为";

display();

}

intGUANLI:

:

laoshiji=800;

intGUANLI:

:

shiyanji=650;

intGUANLI:

:

xingzhengji=750;

intGUANLI:

:

shiyanbu=150;

intGUANLI:

:

xingzhengbu=250;

intGUANLI:

:

classpay=20;

voidGUANLI:

:

Pay()

{

if(newclasshour==0)

pay=0;

else

{

if(job==a)

pay=laoshiji+classpay*(newclasshour-classhour);

elseif(job==b)

pay=shiyanji+shiyanbu+(newclasshour-classhour)*classpay;

elseif(job==c)

pay=xingzhengji+xingzhengbu;

elseif(job==L)

pay=laoshiji+classpay*(newclasshour-classhour)+shiyanji+shiyanbu+(newclasshour-classhour)*classpay;

elseif(job==e)

pay=xingzhengji+xingzhengbu+shiyanji+shiyanbu+(newclasshour-classhour)*classpay;

}

}

voidGUANLI:

:

newpay()

{

inthb;

classhour=newclasshour;

cout<<"编号:

"<

"<

"<

cin>>hb;

newclasshour=hb;

}

//main.cpp

#include"string"

#include"iostream"

#include"Means.h"

#include"fstream"

#include"windows.h"

#include"vector"

usingnamespacestd;

vectorarr;

voidsave(GUANLI*p)//保存到文件

{

fstreamfs;

fs.open("资料.txt",ios:

:

out|ios:

:

app);

fs<<"\n"<<"编号:

"<outnumber()<<"\n"<<"姓名:

"<outname()<<"\n"<<"性别:

"<outsex()<<"\n";

fs<<"出生日期"<<"年:

"<outyear()<<""<<"月:

"<outmonth()<<""<<"日:

"<outday()<<""<<"\n"<<"地址:

"<outaddress()<<"\n";

fs<<"身份证号:

"<outid()<<"\n"<<"职称:

"<outjob()<<"\n"<<"上学期课时:

"<outclasshour()<<"\n"<<"本学期课时:

"<outnewclasshour()<<"\n";

fs<<"工资:

"<outpay()<

fs.close();

}

voidqingchu()//原数据清除

{

ofstreamfout;

stringstr="";

fout.open("资料.txt");

fout<

fout.close();

}

voidread(GUANLI*P)//文件读取

{

fstreamfc;

fc.open("资料.txt",ios:

:

in);

P->display();

fc.close();

}

intmain()

{

inti,n,c,g,a,e,j;

charcmd,cm,cn,cnd,ch,ck,hn;

do

{//菜单

system("cls");

cout<<"-----------欢迎进入本校工资管理系统----------"<<"\n"<

cout<<"-----------1.职工信息录入----------"<

cout<<"-----------2.职工工资统计和发放----------"<

cout<<"-----------3.职工工资查询----------"<

cout<<"-----------4.职工信息查询和修改----------"<

cout<<"-----------5.增加/删除职工信息----------"<

cout<<"-----------6.退出----------"<

cout<<"请输入对应的数字"<

cin>>n;

switch(n)

{

case1:

do//信息录入

{system("cls");//刷屏

GUANLI*p;

p=newGUANLI();

arr.push_back(p);

cout<<"是否继续输入?

(y/n)"<

cin>>cm;

}while(cm=='y');

for(i=0;i

{

arr[i]->Pay();//工资计算

save(arr[i]);//文件保存

}

system("cls");

cout<<"职工资料如下:

"<

for(i=0;i

read(arr[i]);//资料读取

break;

case2:

system("cls");

inthg;

cout<<"1.新学期工资计算(工资统计)2.工资发放"<

cin>>hg;

if(hg==1)//新学期工资计算

for(i=0;i

{

arr[i]->newpay();

arr[i]->Pay();

}

else

{

charok;//工资发放

cout<<"全部发放?

(y/n)"<

cin>>ok;

if(ok=='y')

for(i=0;i

arr[i]->shanpay();//工资清零

else

{

stringju;

intd,v;

cout<<"\n"<<"1.按编号个别发放2.按姓名个别发放"<

cin>>d;

if(d==1)

{

chart;

do

{system("cls");

cout<<"请输入职工编号:

"<

cin>>v;

for(i=0;i

if(arr[i]->outnumber()==v)

arr[i]->shanpay();//工资清零

cout<<"工资已发放"<

cout<<"是否继续发放?

(y/n)"<

cin>>t;

}while(t=='y');

}

else

{

chart;

do

{system("cls");

cout<<"请输入职工名字:

"<

cin>>ju;

for(i=0;i

if(arr[i]->outname()==ju)

arr[i]->shanpay();

cout<<"工资已发放"<

cout<<"是否继续发放?

(y/n)"<

cin>>t;

}while(t=='y');

}

}

}

qingchu();//清除文件中之前的数据

for(i=0;i

{

arr[i]->Pay();

save(arr[i]);//文件保存

}

break;

case3:

//工资查询

do

{system("cls");

cout<<"\n"<<"1.按编号查询2.按姓名查询"<

cin>>a;

if(a==1)

{

cout<<"请输入职工的编号"<

cin>>j;

for(i=0;i

if(arr[i]->outnumber()==j)

read(arr[i]);

}

else

{

stringk;

cout<<"请输入职工的姓名:

"<

cin>>k;

for(i=0;i

if(arr[i]->outname()==k)

read(arr[i]);

}

cout<<"是否继续查询?

(y/n)"<

cin>>cn;

}while(cn=='y');

break;

case4:

//职工信息查询和修改

into;

cout<<"1.查询2.修改"<

cin>>o;

if(o==1)

do

{system("cls");

intR;

cout<<"1.全部查询2.按编号查询3.按姓名查询"<

cin>>R;

if(R==1)

for(i=0;i

read(arr[i]);

elseif(R==2)

{

intV;

cout<<"请输入该职工的编号:

"<

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

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1