




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、教师工资管理系统一、设计任务与目标随着计算机及网络的普及,越来越多的公司企业对员工的各种信息用计算机 处理,学校对教师工资信息的管理也是如此, 这样既方便了学校管理人员对教师 工资信息的管理,也大大减少了出错的可能。我会使此系统在操作上更加方便简 单,以便无论是否计算机能力强弱都能使用。具体目标有一下几条:1、界面美观大方;2、实现教师工资信息的输入及浏览;3、实现教师工资信息的修改及删除;4、操作方便简捷。二、方案设计与论证做这个教师工资管理系统是为了更好的管理教师的工资信息。我在经过具体构思后,确定了 Teacher()和RTeacher()两个类,来声明各数据成员并实现各成 员函数的功能
2、。Teacher()类中有教师工资信息个数据成员的定义和构造,clear() 是删除功能,output()是显示功能。RTeacher()类主要负责将教师工资信息写入 文件并保存,以及查找和修改功能。三、程序框图或流程图,程序清单或调用关系流程图:程序清单与调用关系:class Teacher():成员函数clear()删除addTeacher()增加output()显示数据成员int tag标签,用于删除信息int number教师号char name20姓名char sex10性别char workn70单位名称char locat70家庭住址char tel11联系电话double ba
3、s基本工资double hel津贴double lifh生活补贴double shm应发工资double tem电话费double wem水电费double hmm房租double hin所得税double clm卫生费double phm公积金double tlo合计扣款double rem实发工资class RTeacher()数据成员成员函数addTeacher()查找是否存在*equal()按编号查找RTeacher()析构函数,将信息写到Teacher.txt文件中int top最新增加的信息在Teacher中的位置Teacher readMax所有Teacher对象组成的数组类图:
4、RTeacherpublicprivateRTeacher() int addTeacher() Teacher *equal() RTeacher()int topTeacher readMaxTeacherpublicprivateTeacher() int gettag() char *getname() char *getsex() char *getworkn() char *getlocat() int getnumber() char *gettel() double getbas() double gethel() double getlifh() double getshm(
5、) double gettem() double getwem() double gethmm() double gethin() double getclm() double getphm() double gettlo() double getrem() void setname() void setsex() void setworkn() void setlocat() void settel() void setbas() void sethel() void setlifh() void settem() void setwem() void sethmm() void sethi
6、n() void setclm() void setphm() void clear() void addTeacher() void output()int tag int numberchar name20 char sex10char workn40 char locat70char tel11 double bas double heldouble lifh double shm double tem double wem double hmm double hin double clm double phm double tlo double rem四、全部源程序清单#include
7、 #include #include #include using namespace std;const int Max=2000;class Teacherprivate:int tag;/ 标签int number;/ 教师号char name20;char sex10;char workn40;/ 单位名称 char locat70;/家庭住址char tel11;/ 联系电话 double bas;/ 基本工资 double hel;/ 津贴 double lifh;/ 生活补贴 double shm;/应发工资 double tem;/ 电话费 double wem;/ 水电费 d
8、ouble hmm;/ 房租 double hin;/ 所得税 double clm;/ 卫生费 double phm;/ 公积金 double tlo;/ 合计扣款 double rem;/ 实发工资public:Teacher。;int gettag()(return tag;)char *getname()(return name;)char *getsex()(return sex;)char *getworkn()(return workn;)char *getlocat()(return locat;)int getnumber()(return number;)char *get
9、tel()(return tel;)double getbas()return bas;)double gethel()(return hel;)double getlifh()(return lifh;)double getshm()(shm=bas+hel+lifh;return shm;)double gettem()(return tem;)double getwem()(return wem;)double gethmm()(return hmm;)double gethin()return hin;)double getclm()(return clm;)double getphm
10、()(return phm;)double gettlo()(tlo=tem+wem+hmm+hin+clm+phm;return tlo;)double getrem()(rem=getshm()-gettlo();return rem;)void setname(char *na)(strcpy(name,na);)void setsex(char *se)(strcpy(sex,se);void setworkn(char *wo)(strcpy(workn,wo);)void setlocat(char *lo)(strcpy(locat,lo);)void settel(char *
11、tell)(strcpy(tel,tell);)void setbas(double ba)(bas=ba;)void sethel(double he)(hel=he;)void setlifh(double li)(lifh=li;)void settem(double temm)(tem=temm;)void setwem(double we)wem=we;)void sethmm(double hm)(hmm=hm;)void sethin(double hi)(hin=hi;)void setclm(double cl)(clm=cl;)void setphm(double ph)(
12、phm=ph;)void clear()(tag=1;)void addTeacher(int n,char *na,char *se,char *wo,char *lo,char *tell,double ba,double he,double li,double temm,double we,double hm,double hi,double cl,double ph)(tag=0;number=n;strcpy(name,na);strcpy(sex,se);strcpy(workn,wo);strcpy(locatjo);strcpy(tel,tell);bas=ba;hel=he;
13、lifh=li;tem=temm;wem=we;hmm=hm;hin=hi;clm=cl;phm=ph;)void output()(cout教师号:number 姓名:name 性别: sexendl;cout单位地址:worknendl;cout家庭住址:locatendl;cout联系电话:vvtelvvendl;cout 应发工资: getshm()元 合计扣款: gettlo()元“vv” 实发工资:getrem()元vvendl;cout详细说明:endl;cout基本工资:bas元vvendl;cout津贴:hel元vvendl;cout生活补贴:lifh元vvendl;cout
14、电话费:temxendl;cout水电费:wem元endl;cout房租:hmm无:endl;cout所得税:hin元endl;cout卫生费:clm元endl;cout公积金:phm元endl;);class RTeacherprivate:int top;/最新增加的信息在Teacher中的位置Teacher readMax;public:RTeacher()Teacher t;打开一个输入文件top=-1;fstream file(Teacher.txt,ios:in);/ while (1)file.read(char *)&t,sizeof(t);if (!file)break;to
15、p+;readtop=t;file.close();intaddTeacher(int n,char *na,char *se,char *wo,char*lo,char*te,double ba,double he,double li,double temm,double we,double hm,double查找是否存在hi,double cl,double ph)/(Teacher *p=equal(n);if (p=NULL)(top+;readtop.addTeacher(n,na,se,wo,lo,te,ba,he,li,temm,we,hm,hi,cl,p h);return 1
16、;return 0;Teacher *equal(int Teacherid)/按编号查找(for (int i=0;i=top;i+)if (readi.getnumber()=Teacherid & readi.gettag()=0)(return &readi;return NULL;RTeacher() / 析构函数,将 read写到 Teacher.txt 文件中(fstream file(Teacher.txt,ios二out);for (int i=0;i=top;i+)if (readi.gettag()=0)file.write(char *)&readi,sizeof(re
17、adi);file.close(););void main()(char choice;Teacher TeacherDB;RTeacher RTeacherDB;char rname20;int Teacherid;char rsex10;char rworkn40;/单位名称char rlocat70;/ 家庭住址char rtel11;/联系电话double rbas;/ 基本工资double rhel;/ 津贴double rlifh;/生活补贴double rtem;/ 电话费double rwem;/ 水电费double rhmm;/ 房租double rhin;/ 所得税doub
18、le rclm;/ 卫生费double rphm;/ 公积金Teacher *r;while (choice!=0)(cout1n;cout|教师工资系统I n;cout|n;cout11.增加I ncout1-|ncout12.查询I ncout1-|ncout13.删除I ncout1-|ncout14.修改I ncout1-|ncout10.退出I ncout1ncout choice;switch (choice)(case 1:cout Teacherid;r=RTeacherDB.equal(Teacherid);if (r=NULL)(cout rname;cout rsex;c
19、out rworkn;cout rlocat;cout rtel;cout rbas;cout rhel;cout rlifh;cout rtem;cout rwem;cout rhmm;cout rhin;cout rclm;cout rphm;RTeacherDB.addTeacher(Teacherid,rname,rsex,rworkn,rlocat,rtel,rbas,rh el,rlifh,rtem,rwem,rhmm,rhin,rclm,rphm);break;cout该教师号已存在endl;break;case 2:cout Teacherid;r=RTeacherDB.equ
20、al(Teacherid);if (r=NULL) (cout 该教师号不存在output();break;case 3:cout Teacherid;r=RTeacherDB.equal(Teacherid);if (r=NULL)(cout 该教师号不存在clear();cout教师号为Teacherid的教师工资信息已删除 endl;break;case 4:cout Teacherid;r=RTeacherDB.equal(Teacherid);if (r=NULL)(cout 该教师号不存在endl;break;)cout rworkn;r-setworkn(rworkn);cout
21、 rlocat;r-setlocat(rlocat);cout rtel;r-settel(rtel);cout rbas;r-setbas(rbas);cout rhel;r-sethel(rhel);cout rlifh;r-setlifh(rlifh);cout rtem;r-settem(rtem);cout rwem;r-setwem(rwem);cout rhmm;r-sethmm(rhmm);cout rhin;r-sethin(rhin);cout rclm;r-setclm(rclm);cout rphm;r-setphm(rphm);cout教师号为Teacherid的教师
22、工资信息修改成 功”endl;break;default:cout 请输入 0-4 之间的数字:n;system(cls);break;五、程序运行结果测试与分析1、将程序进行初始化。2、进入主菜单,界面如下图:界面显示的事一个“教师工资管理系统”,有五种操作供选择:(1)增加,即教师工资信息的录入(系统自动以文件形式保存);(2)查询,即查找已有教师工资信息,并显示在屏幕上;(3)删除,即删除已有教师工资信息(系统将文件中相关内容删除);(4)修改,即对已有教师工资信息进行修改(系统将新内容覆盖原内容,并自动以文件形式保存);(5)退出,即退出程序系统。并且提示用户进行选择。3、增加教师工资
23、信息:在键盘上输入1,并按Enter键进入此选择,系统会提示 用户输入教师号,界面如下图:如果输入的教师号已经存在,系统会提示用户“该教师号已存在”,并返回主菜单,界面如下图:如果输入的教师号未建立,则按照提示输入信息,界面如下图:教师工资信息输入完成后,系统会自动返回到主菜单,界面如下图:4、查询教师工资信息:在键盘上输入 2,并按Enter键进入此选择,然后按照提示输入教师号,界面如下图:如果输入的教师号不存在,系统会提示用户“该教师号不存在”,并自动返回主菜单,界面如下图:如果输入的教师号存在,该教师的工资信息将会显示在屏幕上, 并且系统自动返 回主菜单,界面如下图:5、删除教师工资信息:在键盘上输入 3,并按Enter键进入此选择,然后按照 提示输入教师号,界面如下图:如果输入的教师号不存在,系统会提示用户“该教师号不存在”,并自动返回主菜单,界面如下图:如果输入的教师号存在,系统将删除该教师的工资信息,且提示用户此教师号的 教师工资信息已删除,并自动返回到主菜单,界面如下图:测试是否已删除成功:通
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村畜牧业生产与疫情防控责任合同
- 固定支架租赁合同
- 石油化工行业生产安全规范指南
- 药物治疗基础复习测试卷含答案
- 新能源汽车租凭合同协议书
- 3 《自己之歌》公开课一等奖创新教案统编版高中语文选择性必修中册
- 《世界经济的全球化》战后世界格局的演变课件-3
- 上海店铺合租合同范本
- 办公集装购买合同范本
- 房车大白转让合同范本
- 术中获得性压力性损伤预防
- 孟万金编制的中国大学生积极心理品质量表+评分方式
- 助理医师结业考试真题与答案
- 部编版语文一年级下册第八单元大单元教学任务群设计-
- JGT 486-2015 混凝土用复合掺合料
- 2024上海市奉贤区中考初三二模物理试题及答案
- 2023年版《安宁疗护实践指南(试行)》解读课件
- 浙江省2024年中考英语模拟试卷(含答案)
- 2024甘肃陇南市公安局交警支队高速公路大队警务辅助人员招聘笔试参考题库含答案解析
- 2024年洛阳职业技术学院单招职业适应性测试题库及参考答案
- 合作协议(国外开矿甲乙双方合同范本)
评论
0/150
提交评论