高校工资管理系统.docx
- 文档编号:5175220
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:28
- 大小:281.20KB
高校工资管理系统.docx
《高校工资管理系统.docx》由会员分享,可在线阅读,更多相关《高校工资管理系统.docx(28页珍藏版)》请在冰豆网上搜索。
高校工资管理系统
高校工资管理系统
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
<
int
<
int
<
int
<
int
<
int
<
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; vector voidsave(GUANLI*p)//保存到文件 { fstreamfs; fs.open("资料.txt",ios: : out|ios: : app); fs<<"\n"<<"编号: "< "< "< fs<<"出生日期"<<"年: "< "< "< "< fs<<"身份证号: "< "< "< "< fs<<"工资: "< 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<<"请输入该职工的编号: "<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高校 工资管理 系统