简单的工资管理系统程序设计报告

简单的工资管理系统程序设计报告

ID:8484055

大小:744.00 KB

页数:44页

时间:2018-03-29

上传者:U-5649
简单的工资管理系统程序设计报告_第1页
简单的工资管理系统程序设计报告_第2页
简单的工资管理系统程序设计报告_第3页
简单的工资管理系统程序设计报告_第4页
简单的工资管理系统程序设计报告_第5页
资源描述:

《简单的工资管理系统程序设计报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

程序设计报告(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)职工信息修改(如图六所示) 请输入数字21学历2电话3姓名4工号5工资6年龄7地址8性别输入您要修改的学历输入您要修改的的电话输入您要修改的姓名输入您要修改的工号输入您要修改的工资输入您要修改的年龄输入您要修改的地址输入您要修改的性别修改信息已保存现返回主菜单图六(修改函数)(6)职工信息删除(如图七所示) 请输入要删除职工的工号请输入数字3显示所删除职工信息确认请输入Y返回菜单请输入N图七(删除函数)请输入数字编号职工信息保存(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;}elseif(salary<=2500){returnA=(salary-1500)*10/100; }elseif(salary<=3500){returnA=(salary-2500)*15/100+100;}elseif(salary<=5000){returnA=(salary-3500)*20/100+100+150;}elseif(salary<=10000){returnA=(salary-5000)*30/100+100+150+300;}elseif(salary>10000){returnA=(salary-10000)*40/100+100+150+300+1500;}}doubleworker::GetAccumPay(){returnsalary-A;}//登陆函数voidlogin(){system("cls");cout<<" *************************************************"<>a;switch(a){case1:cout<<"请输入密码:";intj;for(j=0;j<10;j++){before=getch();if(before==13){pa[j]='';break;}if(before==8){before=getchar();}else{pa[j]=before;cout<<'*';}}if(strcmp(pa,"123")==0||strcmp(pa,"456")==0){cout<<" 登录成功,祝您工作顺利,心情愉快!"<>i1;while(!(i1>=0&&i1<=8)){cout<<"输入有误,请重新输入:"<>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:exit(0);cout<<"系统退出!!"<>p;if(p=="n"||p=="N"){cout<<"系统退出!!"<>i1;while(!(i1>=0&&i1<=7)){cout<<"输入有误,请重新输入:"<>i1;}switch(i1){case1:wl.search();//查找break;case0:exit(0);cout<<"系统退出!!"<>p;if(p=="n"||p=="N"){cout<<"系统退出!!"<>num;for(inti=0;i>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电话"<>num1;intj=0,k;intflag=1;while(flag){for(;j>num1;}}cout<<"你选择的职工的信息为:"<>i3;while(i3<0||i3>8){cout<<"输入有误,请重新输入:"<>i3;}switch(i3){case1:cout<<"请输入新的职工工号:";cin>>w[k].num;cout<<"修改信息已保存,现返回主菜单:"<>w[k].name;cout<<"修改信息已保存,现返回主菜单:"<>w[k].sex;cout<<"修改信息已保存,现返回主菜单:"<>w[k].edu;cout<<"修改信息已保存,现返回主菜单:"<>w[k].age;cout<<"修改信息已保存,现返回主菜单:"<>w[k].salary;cout<<"修改信息已保存,现返回主菜单:"<>w[k].address;cout<<"修改信息已保存,现返回主菜单:"<>w[k].tel;cout<<"修改信息已保存,现返回主菜单:"<>p;while(1){if(p=="y"||p=="Y"){menu();}elseif(p=="n"||p=="N"){cout<<"系统退出!!"<>p;}}}voidWorkerList::search(){if(NUM<=0){cout<<"没有职工信息存入,系统将返回主菜单"<>i4;while(i4<0||i4>4){cout<<"输入有误,请重新输入:"<>i4;}if(i4==1){stringnum2;cout<<"请输入要查询的职工的工号:"<>num2;intj=0,k;intflag=1;while(flag){for(;j>name2;intj2=0,k2;intflag2=1;while(flag2){for(;j2>salary2;intj3=0,k3;intflag3=1;while(flag3) {for(;j3>edu2;intj4=0,k4;intflag4=1;while(flag4){for(;j4>i5;while(i5<0||i5>6){cout<<"输入有误,请重新输入:"<>i5;}if(i5==1) {inti,j;for(i=0;iw[j+1].num){stringtemp;temp=w[j].num;w[j].num=w[j+1].num;w[j+1].num=temp;}cout<<"按工号升序后的信息如下:"<w[j+1].name) {stringtemp;temp=w[j].name;w[j].name=w[j+1].name;w[j+1].name=temp;}cout<<"按姓名升序后的信息如下:"<w[j+1].salary){inttemp; temp=w[j].salary;w[j].salary=w[j+1].salary;w[j+1].salary=temp;}cout<<"按工资升序后的信息如下:"<>num3;intj=0,k;intflag=1;while(flag){for(;j>num3;}}cout<<"你选择的职工的信息为:"<>p;while(1){if(p=="y"||p=="Y"){cout<<"员工信息已删除!"<>p;}}}voidWorkerList::save(){inti;if(NUM<=0){cout<<"没有职工信息存入,系统将返回主菜单"<>w[i].num>>w[i].name>>w[i].sex>>w[i].edu>>w[i].age>>w[i].salary>>w[i].address>>w[i].tel;cout<>w[i].num>>w[i].name>>w[i].sex>>w[i].edu>>w[i].age>>w[i].salary>>w[i].address>>w[i].tel;cout<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭