




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、教師工資管理系統(tǒng)一、設(shè)計(jì)任務(wù)與目標(biāo)隨著計(jì)算機(jī)及網(wǎng)絡(luò)的普及,越來(lái)越多的公司企業(yè)對(duì)員工的各種信息用計(jì)算機(jī) 處理,學(xué)校對(duì)教師工資信息的管理也是如此, 這樣既方便了學(xué)校管理人員對(duì)教師 工資信息的管理,也大大減少了出錯(cuò)的可能。我會(huì)使此系統(tǒng)在操作上更加方便簡(jiǎn) 單,以便無(wú)論是否計(jì)算機(jī)能力強(qiáng)弱都能使用。具體目標(biāo)有一下幾條:1、界面美觀大方;2、實(shí)現(xiàn)教師工資信息的輸入及瀏覽;3、實(shí)現(xiàn)教師工資信息的修改及刪除;4、操作方便簡(jiǎn)捷。二、方案設(shè)計(jì)與論證做這個(gè)教師工資管理系統(tǒng)是為了更好的管理教師的工資信息。我在經(jīng)過(guò)具體構(gòu)思后,確定了 Teacher()和RTeacher()兩個(gè)類,來(lái)聲明各數(shù)據(jù)成員并實(shí)現(xiàn)各成 員函數(shù)的功能
2、。Teacher()類中有教師工資信息個(gè)數(shù)據(jù)成員的定義和構(gòu)造,clear() 是刪除功能,output()是顯示功能。RTeacher()類主要負(fù)責(zé)將教師工資信息寫(xiě)入 文件并保存,以及查找和修改功能。三、程序框圖或流程圖,程序清單或調(diào)用關(guān)系流程圖:程序清單與調(diào)用關(guān)系:class Teacher():成員函數(shù)clear()刪除addTeacher()增加output()顯示數(shù)據(jù)成員int tag標(biāo)簽,用于刪除信息int number教師號(hào)char name20姓名char sex10性別char workn70單位名稱char locat70家庭住址char tel11聯(lián)系電話double ba
3、s基本工資double hel津貼double lifh生活補(bǔ)貼double shm應(yīng)發(fā)工資double tem電話費(fèi)double wem水電費(fèi)double hmm房租double hin所得稅double clm衛(wèi)生費(fèi)double phm公積金double tlo合計(jì)扣款double rem實(shí)發(fā)工資class RTeacher()數(shù)據(jù)成員成員函數(shù)addTeacher()查找是否存在*equal()按編號(hào)查找RTeacher()析構(gòu)函數(shù),將信息寫(xiě)到Teacher.txt文件中int top最新增加的信息在Teacher中的位置Teacher readMax所有Teacher對(duì)象組成的數(shù)組類圖:
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;/ 標(biāo)簽int number;/ 教師號(hào)char name20;char sex10;char workn40;/ 單位名稱 char locat70;/家庭住址char tel11;/ 聯(lián)系電話 double bas;/ 基本工資 double hel;/ 津貼 double lifh;/ 生活補(bǔ)貼 double shm;/應(yīng)發(fā)工資 double tem;/ 電話費(fèi) double wem;/ 水電費(fèi) d
8、ouble hmm;/ 房租 double hin;/ 所得稅 double clm;/ 衛(wèi)生費(fèi) double phm;/ 公積金 double tlo;/ 合計(jì)扣款 double rem;/ 實(shí)發(fā)工資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教師號(hào):number 姓名:name 性別: sexendl;cout單位地址:worknendl;cout家庭住址:locatendl;cout聯(lián)系電話:vvtelvvendl;cout 應(yīng)發(fā)工資: getshm()元 合計(jì)扣款: gettlo()元“vv” 實(shí)發(fā)工資:getrem()元vvendl;cout詳細(xì)說(shuō)明:endl;cout基本工資:bas元vvendl;cout津貼:hel元vvendl;cout生活補(bǔ)貼:lifh元vvendl;cout
14、電話費(fèi):temxendl;cout水電費(fèi):wem元endl;cout房租:hmm無(wú):endl;cout所得稅:hin元endl;cout衛(wèi)生費(fèi):clm元endl;cout公積金:phm元endl;);class RTeacherprivate:int top;/最新增加的信息在Teacher中的位置Teacher readMax;public:RTeacher()Teacher t;打開(kāi)一個(gè)輸入文件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)/按編號(hào)查找(for (int i=0;i=top;i+)if (readi.getnumber()=Teacherid & readi.gettag()=0)(return &readi;return NULL;RTeacher() / 析構(gòu)函數(shù),將 read寫(xiě)到 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;/聯(lián)系電話double rbas;/ 基本工資double rhel;/ 津貼double rlifh;/生活補(bǔ)貼double rtem;/ 電話費(fèi)double rwem;/ 水電費(fèi)double rhmm;/ 房租double rhin;/ 所得稅doub
18、le rclm;/ 衛(wèi)生費(fèi)double rphm;/ 公積金Teacher *r;while (choice!=0)(cout1n;cout|教師工資系統(tǒng)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該教師號(hào)已存在endl;break;case 2:cout Teacherid;r=RTeacherDB.equ
20、al(Teacherid);if (r=NULL) (cout 該教師號(hào)不存在output();break;case 3:cout Teacherid;r=RTeacherDB.equal(Teacherid);if (r=NULL)(cout 該教師號(hào)不存在clear();cout教師號(hào)為T(mén)eacherid的教師工資信息已刪除 endl;break;case 4:cout Teacherid;r=RTeacherDB.equal(Teacherid);if (r=NULL)(cout 該教師號(hào)不存在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教師號(hào)為T(mén)eacherid的教師
22、工資信息修改成 功”endl;break;default:cout 請(qǐng)輸入 0-4 之間的數(shù)字:n;system(cls);break;五、程序運(yùn)行結(jié)果測(cè)試與分析1、將程序進(jìn)行初始化。2、進(jìn)入主菜單,界面如下圖:界面顯示的事一個(gè)“教師工資管理系統(tǒng)”,有五種操作供選擇:(1)增加,即教師工資信息的錄入(系統(tǒng)自動(dòng)以文件形式保存);(2)查詢,即查找已有教師工資信息,并顯示在屏幕上;(3)刪除,即刪除已有教師工資信息(系統(tǒng)將文件中相關(guān)內(nèi)容刪除);(4)修改,即對(duì)已有教師工資信息進(jìn)行修改(系統(tǒng)將新內(nèi)容覆蓋原內(nèi)容,并自動(dòng)以文件形式保存);(5)退出,即退出程序系統(tǒng)。并且提示用戶進(jìn)行選擇。3、增加教師工資
23、信息:在鍵盤(pán)上輸入1,并按Enter鍵進(jìn)入此選擇,系統(tǒng)會(huì)提示 用戶輸入教師號(hào),界面如下圖:如果輸入的教師號(hào)已經(jīng)存在,系統(tǒng)會(huì)提示用戶“該教師號(hào)已存在”,并返回主菜單,界面如下圖:如果輸入的教師號(hào)未建立,則按照提示輸入信息,界面如下圖:教師工資信息輸入完成后,系統(tǒng)會(huì)自動(dòng)返回到主菜單,界面如下圖:4、查詢教師工資信息:在鍵盤(pán)上輸入 2,并按Enter鍵進(jìn)入此選擇,然后按照提示輸入教師號(hào),界面如下圖:如果輸入的教師號(hào)不存在,系統(tǒng)會(huì)提示用戶“該教師號(hào)不存在”,并自動(dòng)返回主菜單,界面如下圖:如果輸入的教師號(hào)存在,該教師的工資信息將會(huì)顯示在屏幕上, 并且系統(tǒng)自動(dòng)返 回主菜單,界面如下圖:5、刪除教師工資信息:在鍵盤(pán)上輸入 3,并按Enter鍵進(jìn)入此選擇,然后按照 提示輸入教師號(hào),界面如下圖:如果輸入的教師號(hào)不存在,系統(tǒng)會(huì)提示用戶“該教師號(hào)不存在”,并自動(dòng)返回主菜單,界面如下圖:如果輸入的教師號(hào)存在,系統(tǒng)將刪除該教師的工資信息,且提示用戶此教師號(hào)的 教師工資信息已刪除,并自動(dòng)返回到主菜單,界面如下圖:測(cè)試是否已刪除成功:通
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 墻繪施工合同范本(2025版)
- 離婚協(xié)議離婚協(xié)議書(shū)2025年
- 2025年藥qc考試試題及答案
- 凌柏的離婚協(xié)議書(shū)(2025版)
- 售后承諾服務(wù)協(xié)議書(shū)2025年
- 軟件項(xiàng)目合作開(kāi)發(fā)協(xié)議書(shū)范本2025年
- 2025跨平臺(tái)主播線上線下互動(dòng)活動(dòng)方案實(shí)施合同
- 2025文化產(chǎn)業(yè)戰(zhàn)略聯(lián)盟一致行動(dòng)合同:藝術(shù)創(chuàng)意產(chǎn)業(yè)深度合作
- 2025年新型高效太陽(yáng)能光伏電站建設(shè)施工合同
- 2025年智慧工廠云服務(wù)合同-能源消耗分析與優(yōu)化管理協(xié)議
- 倫敦的城市規(guī)劃
- 中醫(yī)學(xué)理論體系的基本特點(diǎn)
- 發(fā)債平臺(tái)營(yíng)銷方案
- 三輪車租賃合同范本簡(jiǎn)單
- 低代碼開(kāi)發(fā)平臺(tái)研究
- DLT741-2023年架空送電線路運(yùn)行規(guī)程
- 2023版押品考試題庫(kù)必考點(diǎn)含答案
- DB14∕T 1953-2019 地面無(wú)機(jī)磨石材料應(yīng)用技術(shù)規(guī)范
- 土石比調(diào)查報(bào)告
- 建筑工程工程量清單項(xiàng)目及計(jì)算規(guī)則
- YY/T 1160-2021癌胚抗原(CEA)測(cè)定試劑盒
評(píng)論
0/150
提交評(píng)論