版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 課 程 設(shè) 計(jì) 報(bào) 告</p><p> 課程名稱 面向?qū)ο蟪绦蛟O(shè)計(jì) </p><p> 課題名稱 高校工資管理系統(tǒng) </p><p> 專 業(yè) 通信工程 </p><p> 一、設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求</p>
2、<p><b> 1.課程設(shè)計(jì)目的:</b></p><p> 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)是集中實(shí)踐性環(huán)節(jié)之一,是學(xué)習(xí)完《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程后進(jìn)行的一次全面的綜合練習(xí)。要求學(xué)生達(dá)到熟練掌握C++語言的基本知識(shí)和技能;基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的思想和方法;能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題,從而提高動(dòng)手編程解決實(shí)際問題的能力。</p>
3、<p><b> 2.課題題目</b></p><p><b> ⑴公司考勤管理系統(tǒng)</b></p><p><b> ?、聘咝W(xué)籍管理系統(tǒng)</b></p><p><b> ?、歉咝9べY管理系統(tǒng)</b></p><p><b>
4、?、雀咝H耸鹿芾硐到y(tǒng)</b></p><p><b> ⑸文件加密管理系統(tǒng)</b></p><p><b> 3.設(shè)計(jì)要求:</b></p><p> ?、旁O(shè)計(jì)課題題目:第5個(gè)課題是擴(kuò)展課題,有能力完成的同學(xué)可以選擇。其余每位同學(xué)根據(jù)自己學(xué)號(hào)除以4所得的余數(shù)加一選擇相應(yīng)題號(hào)的課題。換題者不記成績(jī)。</
5、p><p> ?、聘鶕?jù)自己對(duì)應(yīng)的課題完成以下主要工作:①完成系統(tǒng)需求分析:包括系統(tǒng)設(shè)計(jì)目的與意義;系統(tǒng)功能需求(系統(tǒng)流程圖);輸入輸出的要求。②完成系統(tǒng)總體設(shè)計(jì):包括系統(tǒng)功能分析;系統(tǒng)功能模塊劃分與設(shè)計(jì)(系統(tǒng)功能模塊圖)。③完成系統(tǒng)詳細(xì)設(shè)計(jì):包括數(shù)據(jù)庫需求分析;類層次圖;界面設(shè)計(jì)與各功能模塊實(shí)現(xiàn)。④系統(tǒng)調(diào)試:調(diào)試出現(xiàn)的主要問題,編譯語法錯(cuò)誤及修改,重點(diǎn)是運(yùn)行邏輯問題修改和調(diào)整。⑤使用說明書及編程體會(huì):說明如何使用你編
6、寫的程序,詳細(xì)列出每一步的操作步驟。⑥關(guān)鍵源程序(帶注釋)</p><p> ?、前匆?guī)定格式完成課程設(shè)計(jì)報(bào)告,將其打印稿(A4紙)上交給老師存檔。</p><p> ?、炔坏贸u他人程序、課程設(shè)計(jì)報(bào)告,每個(gè)人應(yīng)體現(xiàn)自己的個(gè)性設(shè)計(jì)。</p><p><b> 二、進(jìn)度安排</b></p><p> 第 周 星期
7、 時(shí):分——時(shí):分</p><p> 星期 時(shí):分——時(shí):分</p><p> 星期 時(shí):分——時(shí):分</p><p> 星期 時(shí):分——時(shí):分</p><p> 課題3:高校工資管理系統(tǒng) </p><p> ?。ㄒ唬?、課程設(shè)計(jì)題目:</p><p><b> 高校工資
8、管理系統(tǒng)</b></p><p> ?。ǘ⒛康呐c要求: </p><p><b> 1、目的: </b></p><p> ?。?)要求學(xué)生達(dá)到熟練掌握C++語言的基本知識(shí)和技能; </p><p> ?。?)基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法; </p><p> ?。?
9、)能夠利用所學(xué)的基本知識(shí)和技能,解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題。 </p><p><b> 2、基本要求: </b></p><p> ?。?)要求利用面向?qū)ο蟮姆椒ㄒ约癈++的編程思想來完成系統(tǒng)的設(shè)計(jì); </p><p> ?。?)要求在設(shè)計(jì)的過程中,建立清晰的類層次; </p><p> (3)在系統(tǒng)中至少要定
10、義四個(gè)類,每個(gè)類中要有各自的屬性和方法; </p><p> (4)在系統(tǒng)的設(shè)計(jì)中,至少要用到面向?qū)ο蟮囊环N機(jī)制。 </p><p><b> 3、創(chuàng)新要求: </b></p><p> 在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計(jì),如根據(jù)查找結(jié)果進(jìn)行修改的功能。 </p><p> 4、寫出設(shè)計(jì)說明書 </p>
11、<p> (三)、設(shè)計(jì)方法和基本原理: </p><p> 1、問題描述(功能要求): </p><p> 現(xiàn)一高校有五類職工:教師,實(shí)驗(yàn)員,行政人員,教師兼職實(shí)驗(yàn)員,行政人員兼職教師。為了實(shí)現(xiàn)工資發(fā)放的自動(dòng)功能,現(xiàn)要求編寫程序來自動(dòng)完成此功能。同時(shí)注意生成的相關(guān)數(shù)據(jù)結(jié)果以文件方式存放在硬盤中。程序應(yīng)具備從鍵盤錄入,文件的可繼續(xù)錄入,任意職工的工資查詢(可由職工編號(hào)和職
12、工姓名來實(shí)現(xiàn)),如若有職工由于工作調(diào)動(dòng),則可進(jìn)行相對(duì)應(yīng)的刪除動(dòng)作。</p><p><b> 相關(guān)信息:</b></p><p> 每一學(xué)期將學(xué)校職工的本學(xué)期任職情況及上學(xué)期工作的相關(guān)情況輸入計(jì)算機(jī),則本學(xué)期職工的月工資按程序處理后的結(jié)果發(fā)放,其中職工的工資計(jì)算方法如下:</p><p> 其中工資的基本構(gòu)成如下:</p>
13、<p> 教師: 基本工資+課時(shí)費(fèi);</p><p> 實(shí)驗(yàn)員: 基本工資+實(shí)驗(yàn)室補(bǔ)助;</p><p> 行政人員: 基本工資+行政補(bǔ)貼;</p><p> 教師兼職實(shí)驗(yàn)員: 基本工資+課時(shí)費(fèi)+實(shí)驗(yàn)室補(bǔ)助;</p><p> 行政人員兼職教師:基本工資+行政補(bǔ)貼+課
14、時(shí)費(fèi);</p><p> 其中課時(shí)費(fèi)計(jì)算:教師每一學(xué)期的基本工作量為120,教師兼職實(shí)驗(yàn)員每學(xué)期基本工作量為70,行政人員沒有基本工作量,若每節(jié)課時(shí)費(fèi)為20元;課時(shí)費(fèi)=(上學(xué)期工作量-基本工作量)*20;</p><p> 注意:如果上學(xué)期基本工作量沒完成,則其(上學(xué)期工作量-基本工作量)*20為負(fù)值。</p><p> 2、問題的解決方案: </p&g
15、t;<p> 根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟: </p><p> ?。?)寫出需求分析(做什么);</p><p> (2)分析系統(tǒng)中的各個(gè)實(shí)體之間的關(guān)系及其屬性和行為; </p><p> ?。?)根據(jù)問題描述,設(shè)計(jì)系統(tǒng)的類層次; </p><p> ?。?)完成類層次中各個(gè)類的描述(包括屬性和方法); &
16、lt;/p><p> (5)完成類中各個(gè)成員函數(shù)的定義; </p><p> (6)用戶界面的設(shè)計(jì); </p><p> (7)分析系統(tǒng)功能模塊(系統(tǒng)流程圖);</p><p> (8)代碼編寫 ,功能調(diào)試;</p><p> ?。?)完成系統(tǒng)總結(jié)報(bào)告以及系統(tǒng)使用說明書。</p><p>&
17、lt;b> 目 錄</b></p><p> 1.系統(tǒng)需求分析1</p><p><b> 2.總體設(shè)計(jì)1</b></p><p><b> 3.詳細(xì)設(shè)計(jì)3</b></p><p> 4.系統(tǒng)調(diào)試11</p><p> 5.結(jié)
18、果分析21</p><p><b> 6.總結(jié)21</b></p><p><b> 系統(tǒng)需求分析</b></p><p> 我的課題為高校職工工資管理系統(tǒng),隨著高等學(xué)校教學(xué)實(shí)驗(yàn)行政管理的分工不同而實(shí)行的不同的工資分配方式,為對(duì)工資發(fā)放實(shí)現(xiàn)智能化管理,特設(shè)計(jì)此系統(tǒng)來實(shí)現(xiàn)。本系統(tǒng)可以對(duì)職工的信息(工號(hào),名字,基本
19、工資,課時(shí),實(shí)驗(yàn)補(bǔ)助,行政補(bǔ)助等)進(jìn)行錄入,顯示,查找修改,刪除,保存和讀取,可以根據(jù)工號(hào)和名字來查找相對(duì)應(yīng)的職工信息,并實(shí)現(xiàn)拓展功能,即根據(jù)查找進(jìn)行修改功能,如果職工進(jìn)行調(diào)動(dòng),則可根據(jù)工號(hào)或名字進(jìn)行刪除,錄入的相關(guān)數(shù)據(jù)以文件的方式存放在硬盤上,可以繼續(xù)錄入和讀取。</p><p><b> 總體設(shè)計(jì)</b></p><p> 該程序采用類,繼承,多態(tài)和文件來處理
20、職工所有信息,具體如下:</p><p><b> 包含的庫函數(shù)有:</b></p><p> #include<iostream> iostream是輸入輸出流頭文件;</p><p> #include<fstream> fstream是文件流頭文件;</p><p>&l
21、t;b> 包含的類有:</b></p><p> class employee(員工) class teacher (教師) </p><p> class shiyanyuan (實(shí)驗(yàn)員) class xingzhengrenyuan(行政人員) </p><p
22、> class tshiyanyuan (教師兼職實(shí)驗(yàn)員) class xteacher(行政人員兼職教師</p><p><b> 包含的函數(shù)有:</b></p><p> 主函數(shù) int main()</p><p> 運(yùn)行函數(shù) void run()</p>
23、<p> 錄入函數(shù) void luru()</p><p> 尋找函數(shù) int search(int number,int &i) </p><p> int search(char *name1,int &i)</p><p> 顯示函數(shù) void
24、display()</p><p> 查找與修改函數(shù) void change()</p><p> 刪除函數(shù) void shanchu()</p><p> 文件讀取和保存函數(shù) void fileload() void filesave()</p><p><b> 系統(tǒng)功能模塊圖
25、</b></p><p><b> 詳細(xì)設(shè)計(jì)</b></p><p> (1)class employee(員工) </p><p> 基類 包含工號(hào)num,名字name,基本工資信息salay等基本信息,同時(shí)帶有</p><p> virtual void set(int
26、 n) </p><p> n用來接收每一次調(diào)用此函數(shù)時(shí)總?cè)藬?shù)自加前的值,然后賦給此對(duì)象的工號(hào)。</p><p> virtual void save(fstream &f) </p><p> &f此處為引用,將對(duì)此f的操作和在外對(duì)f操作保存一致性。</p><p> virtual void load(fstre
27、am &f)</p><p> &f此處也為引用,將對(duì)此f的操作和在外對(duì)f操作保存一致性。</p><p> virtual 的使用方便于子類的相關(guān)函數(shù)的使用,此為多態(tài)帶給程序的方便之處。</p><p> ?。?)class teacher (教師) </p><p> 子類 繼承emplo
28、yee類 增有屬性 課時(shí)。</p><p> 繼承基類的屬性,并且有自己的函數(shù)對(duì)課時(shí)等的輸入和保存。</p><p> (3)class shiyanyuan (實(shí)驗(yàn)員) </p><p> 子類 繼承employee類 增有屬性 實(shí)驗(yàn)補(bǔ)助。</p><p> 繼承基類的屬性,并且有自己的函數(shù)對(duì)實(shí)驗(yàn)補(bǔ)助等的輸入和保存。
29、</p><p> (4)class xingzhengrenyuan(行政人員) </p><p> 子類 繼承employee類 增有屬性 行政補(bǔ)助。</p><p> 繼承基類的屬性,并且有自己的函數(shù)對(duì)行政補(bǔ)助等的輸入和保存。</p><p> ?。?)class tshiyanyuan (教師兼職實(shí)驗(yàn)員)</p>
30、<p> 子類 繼承employee類 增有屬性 課時(shí)和實(shí)驗(yàn)補(bǔ)助。</p><p> 繼承基類的屬性,并且有自己的函數(shù)對(duì)課時(shí)和實(shí)驗(yàn)補(bǔ)助等的輸入和保存。</p><p> ?。?)class xteacher(行政人員兼職教師</p><p> 子類 繼承employee類 增有屬性 課時(shí)和行政補(bǔ)助。</p><p> 繼
31、承基類的屬性,并且有自己的函數(shù)對(duì)課時(shí)和行政補(bǔ)助等的輸入和保存。</p><p><b> 包含的函數(shù)有:</b></p><p> 1.主函數(shù)int main()</p><p> 進(jìn)入主函數(shù)后首先打開fileload()函數(shù),將以前保存好的數(shù)據(jù)讀取出來,若以前未保存數(shù)據(jù)則讀取全部為初始值。然后運(yùn)行run()函數(shù)進(jìn)入系統(tǒng),進(jìn)行信息錄入,顯
32、示,查詢修改,刪除等的操作。</p><p><b> 返回值:無</b></p><p> 2.運(yùn)行函數(shù)void run()</p><p> 顯示一個(gè)主菜單界面,可根據(jù)提示選擇相應(yīng)的功能代碼,然后用一個(gè)switch語句根據(jù)輸入的代碼調(diào)用對(duì)應(yīng)的功能函數(shù)。</p><p><b> 返回值:無</
33、b></p><p><b> 流程如下:</b></p><p> switch(c) </p><p> 1 2 3 4 5 6 </p><p> 3.錄入函數(shù) void luru()<
34、/p><p> 根據(jù)不同的功能代碼調(diào)用不同類里面的set()函數(shù),以達(dá)到對(duì)這五類職工的錄入。</p><p><b> 返回值:無</b></p><p><b> 流程如下:</b></p><p> switch(c) </p><p> 1 2
35、 3 4 5 6 </p><p> 4.尋找函數(shù)(兩個(gè),運(yùn)用函數(shù)重載分別實(shí)現(xiàn)按工號(hào)和名字尋找功能)</p><p> int search(int number,int &i) int search(char *name1,int &i)</p><p>
36、 形參number,name為要查找的工號(hào)和名字,int &i,此處用到了引用,將在另一個(gè)函數(shù)的i與在此i進(jìn)行等同,方便于在外函數(shù)中也能讀出在此尋找函數(shù)中找著的數(shù)據(jù)。根據(jù)search()不同的返回值來判斷找到的數(shù)據(jù)的對(duì)象屬于哪種職工。</p><p> 返回值:0,1,2,3,4,5</p><p> 返回0則表示沒找著任何數(shù)據(jù)符合尋找條件,</p><p
37、> 返回1則說明在教師中找著符合尋找條件的數(shù)據(jù),</p><p> 返回2則說明在實(shí)驗(yàn)員中找著符合尋找條件的數(shù)據(jù),</p><p> 返回3則說明在行政人員中找著符合尋找條件的數(shù)據(jù),</p><p> 返回4則說明在教師兼實(shí)驗(yàn)員中找著符合尋找條件的數(shù)據(jù),</p><p> 返回5則說明在行政人員兼教師中找著符合尋找條件的數(shù)據(jù)。
38、</p><p><b> 流程如下:</b></p><p><b> N</b></p><p><b> Y</b></p><p> 5.顯示函數(shù) void display()</p><p> 在程序中用t1,s1,x1,ts1,xt
39、1來記錄教師,實(shí)驗(yàn)員,行政人員,教師兼實(shí)驗(yàn)員,行政人員兼教師的五個(gè)類對(duì)象各自的總數(shù),用switch()來確定輸出顯示的對(duì)象的類型,在顯示函數(shù)中分別用for循環(huán)來輸出每種類的對(duì)象,輸出顯示用調(diào)用每個(gè)對(duì)象的show()函數(shù)來實(shí)現(xiàn)。</p><p><b> 返回值:無</b></p><p><b> 流程如下:</b></p>&
40、lt;p><b> switch(c)</b></p><p> 1 2 3 4 5</p><p><b> Y</b></p><p><b> N</b></p><p>
41、6.查找與修改函數(shù) void change()</p><p> 查找可根據(jù)工號(hào)和名字進(jìn)行查找,首先選擇查詢方式,然后輸入查詢方式所要求的內(nèi)容,然后根據(jù)內(nèi)容分別調(diào)用重載尋找函數(shù),找著后進(jìn)行顯示,提示是否修改,如需修改則重新調(diào)用一次此對(duì)象的set()函數(shù)一次,則可重新輸入新的數(shù)據(jù)。</p><p><b> 返回值:無</b></p><p>
42、;<b> 流程如下:</b></p><p><b> Y</b></p><p><b> N</b></p><p> 7.刪除函數(shù) void shanchu()</p><p> 首先輸入要?jiǎng)h除的工號(hào)或名字,找著后進(jìn)行顯示確認(rèn),刪除方式采用讓要?jiǎng)h除的編號(hào)的后面
43、的收據(jù)前移一個(gè)位置使要?jiǎng)h除的編號(hào)被前一個(gè)數(shù)據(jù)所覆蓋,之后的數(shù)據(jù)對(duì)前一個(gè)進(jìn)行覆蓋則達(dá)到刪除要求。</p><p><b> 返回值:無</b></p><p><b> 流程如下:</b></p><p><b> Y</b></p><p><b> N<
44、;/b></p><p> 8.文件讀取和保存函數(shù) void fileload() void filesave()</p><p> 保存時(shí)用到ios::out若文件為空則創(chuàng)建文件,若文件不為空則覆蓋,讀取時(shí)用到ios::in從第一個(gè)數(shù)據(jù)開始讀取,不能改變數(shù)據(jù),</p><p><b> 返回值:無</b></p>
45、<p><b> 系統(tǒng)調(diào)試</b></p><p> 信息錄入時(shí),系統(tǒng)根據(jù)錄入的數(shù)據(jù)進(jìn)行處理,安照不同的工資分配方案計(jì)算出總工資并顯示出來,所以總工資是不需要輸入的。</p><p><b> 教師錄入</b></p><p><b> 實(shí)驗(yàn)員錄入</b></p>&
46、lt;p><b> 行政人員錄入</b></p><p><b> 教師兼實(shí)驗(yàn)員錄入</b></p><p><b> 行政人員兼教師錄入</b></p><p> 教師 實(shí)驗(yàn)員 行政人員 教師實(shí)驗(yàn)員 行政人員兼教師的顯示:</p><p> 根據(jù)工號(hào)和名字進(jìn)行
47、查找與修改</p><p><b> 根據(jù)工號(hào)查找</b></p><p><b> 進(jìn)行修改</b></p><p><b> 修改結(jié)果</b></p><p><b> 根據(jù)名字進(jìn)行查找</b></p><p><
48、b> 進(jìn)行修改</b></p><p><b> 修改結(jié)果顯示</b></p><p><b> 刪除功能</b></p><p><b> 根據(jù)工號(hào)進(jìn)行刪除</b></p><p><b> 刪除結(jié)果</b></p>
49、;<p><b> 根據(jù)名字進(jìn)行刪除</b></p><p><b> 刪除結(jié)果</b></p><p> 進(jìn)行一系列操作后內(nèi)存保存數(shù)據(jù)顯示</p><p><b> 結(jié)果分析</b></p><p> 獨(dú)到之處:工號(hào)不用手動(dòng)輸入,自動(dòng)根據(jù)錄入的對(duì)象生成
50、,能夠在一個(gè)文件里面存放不同類的數(shù)據(jù),并能一一對(duì)號(hào)讀取出來,刪除模塊采用后者覆蓋前者的方法用得恰當(dāng)。</p><p> 不足之處:還是定義一個(gè)數(shù)組來存放對(duì)象,沒能用鏈表進(jìn)行編程。編程水平有待提高。</p><p><b> 總結(jié)</b></p><p> 在這次課程設(shè)計(jì)中我編寫了兩個(gè)程序,這是第二個(gè),第一個(gè)因?yàn)椴荒苁咕幪?hào)唯一而放棄,在老師
51、指導(dǎo)下終于知道怎樣讓編號(hào)不會(huì)重復(fù),然后在這個(gè)程序里集合了第一個(gè)程序里的優(yōu)點(diǎn),再加以改善,使得這個(gè)程序更加簡(jiǎn)潔實(shí)用,在編寫的過程中,雖然遇到了各種各樣的問題,但我都一一化解,把一個(gè)個(gè)錯(cuò)誤解決后心情都是非常暢快的,通過這次課程設(shè)計(jì),讓我真正地把學(xué)到的知識(shí)應(yīng)用于實(shí)踐,從而使得自己對(duì)知識(shí)的掌握程度得以加深加固,另外也增強(qiáng)了自己的邏輯思維能力,在寫程序的過程中,通過解決一個(gè)個(gè)小問題使得自己對(duì)C++這門課程的興趣得以大大的加強(qiáng),因?yàn)槲野l(fā)現(xiàn)C++其實(shí)
52、非常有趣。</p><p> 總而言之,這次課程設(shè)計(jì)使我受益匪淺,同時(shí)也非常感謝老師的耐心細(xì)致的解疑。</p><p><b> 源代碼:</b></p><p> #include <iostream></p><p> #include <fstream></p><
53、;p> using namespace std; </p><p> class employee</p><p><b> {</b></p><p><b> public:</b></p><p><b> int num;</b><
54、/p><p> char name[10];</p><p> int salay;</p><p> virtual void show()</p><p><b> {</b></p><p> cout<<"編號(hào):"<<num<<
55、endl;</p><p> cout<<"姓名:"<<name<<endl;</p><p> cout<<"基本工資:"<<salay<<endl;</p><p><b> }</b></p><p&g
56、t; virtual void set(int n)</p><p><b> {</b></p><p><b> num=n;</b></p><p> cout<<"請(qǐng)輸入姓名:"<<endl;</p><p> cin>>na
57、me;</p><p> cout<<"請(qǐng)輸入基本工資:"<<endl;</p><p> cin>>salay;</p><p><b> }</b></p><p> virtual void save(fstream &f)</p>
58、<p><b> {</b></p><p> f<<num<<" "<<name<<" "<<salay<<" ";</p><p><b> }</b></p><p>
59、; virtual void load(fstream &f)</p><p><b> {</b></p><p> f>>num>>name>>salay;</p><p><b> }</b></p><p><b> };<
60、;/b></p><p> class teacher:public employee</p><p><b> {</b></p><p><b> public:</b></p><p><b> int less;</b></p><p&
61、gt; void show()</p><p><b> {</b></p><p> if(num!=0)</p><p><b> {</b></p><p> employee::show();</p><p> cout<<"課時(shí):&
62、quot;<<less<<endl;</p><p> cout<<"總工資=\n基本工資+(課時(shí)-120)*20="<<salay+(less-120)*20<<endl<<endl;</p><p><b> }</b></p><p><
63、b> }</b></p><p> void set(int n)</p><p><b> {</b></p><p> employee::set(n);</p><p> cout<<"請(qǐng)輸入課時(shí)"<<endl;</p><
64、p> cin>>less;</p><p> cout<<"總工資=\n基本工資+(課時(shí)-120)*20="<<salay+(less-120)*20<<endl<<endl;</p><p><b> }</b></p><p> void save
65、(fstream &f)</p><p><b> {</b></p><p> employee::save(f);</p><p> f<<less<<endl;</p><p><b> }</b></p><p> void
66、load(fstream &f)</p><p><b> {</b></p><p> employee::load(f);</p><p><b> f>>less;</b></p><p><b> }</b></p><p
67、><b> };</b></p><p> class shiyanyuan:public employee</p><p><b> {</b></p><p><b> public:</b></p><p> int buzhu;</p>&
68、lt;p> void show()</p><p><b> {</b></p><p> if(num!=0)</p><p><b> {</b></p><p> employee::show();</p><p> cout<<"
69、;實(shí)驗(yàn)室補(bǔ)助:"<<buzhu<<endl;</p><p> cout<<"總工資=\n基本工資+實(shí)驗(yàn)室補(bǔ)助="<<salay+buzhu<<endl<<endl;</p><p><b> }</b></p><p><b>
70、 }</b></p><p> void set(int n)</p><p><b> {</b></p><p> employee::set(n);</p><p> cout<<"請(qǐng)輸入實(shí)驗(yàn)室補(bǔ)助:"<<endl;</p><p
71、> cin>>buzhu;</p><p> cout<<"總工資=\n基本工資+實(shí)驗(yàn)室補(bǔ)助="<<salay+buzhu<<endl<<endl;</p><p><b> }</b></p><p> void save(fstream &
72、f)</p><p><b> {</b></p><p> employee::save(f);</p><p> f<<buzhu<<endl;</p><p><b> }</b></p><p> void load(fstream
73、&f)</p><p><b> {</b></p><p> employee::load(f);</p><p><b> f>>buzhu;</b></p><p><b> }</b></p><p><b>
74、; };</b></p><p> class xingzhengrenyuan:public employee</p><p><b> {</b></p><p><b> public:</b></p><p> int buzhu;</p><p&g
75、t; void show()</p><p><b> {</b></p><p> if(num!=0)</p><p><b> {</b></p><p> employee::show();</p><p> cout<<"行政補(bǔ)助:
76、"<<buzhu<<endl;</p><p> cout<<"總工資=\n基本工資+行政補(bǔ)助="<<salay+buzhu<<endl<<endl;</p><p><b> }</b></p><p><b> }</
77、b></p><p> void set(int n)</p><p><b> {</b></p><p> employee::set(n);</p><p> cout<<"請(qǐng)輸入行政補(bǔ)助:"<<endl;</p><p> cin
78、>>buzhu;</p><p> cout<<"總工資=\n基本工資+行政補(bǔ)助="<<salay+buzhu<<endl<<endl;</p><p><b> }</b></p><p> void save(fstream &f)</p&g
79、t;<p><b> {</b></p><p> employee::save(f);</p><p> f<<buzhu<<endl;</p><p><b> }</b></p><p> void load(fstream &f)<
80、;/p><p><b> {</b></p><p> employee::load(f);</p><p><b> f>>buzhu;</b></p><p><b> }</b></p><p><b> };</
81、b></p><p> class tshiyanyuan:public employee</p><p><b> {</b></p><p><b> public:</b></p><p> int buzhu;</p><p><b> in
82、t less;</b></p><p> void show()</p><p><b> {</b></p><p> if(num!=0)</p><p><b> {</b></p><p> employee::show();</p>
83、<p> cout<<"課時(shí):"<<less<<endl;</p><p> cout<<"實(shí)驗(yàn)室補(bǔ)助:"<<buzhu<<endl;</p><p> cout<<"總工資=\n基本工資+(課時(shí)-120)*20+實(shí)驗(yàn)室補(bǔ)助="
84、<<salay+(less-120)*20+buzhu<<endl<<endl;</p><p><b> }</b></p><p><b> }</b></p><p> void set(int n)</p><p><b> {</
85、b></p><p> employee::set(n);</p><p> cout<<"請(qǐng)輸入課時(shí):"<<endl;</p><p> cin>>less;</p><p> cout<<"請(qǐng)輸入實(shí)驗(yàn)室補(bǔ)助:"<<endl;&
86、lt;/p><p> cin>>buzhu;</p><p> cout<<"總工資=\n基本工資+(課時(shí)-120)*20+實(shí)驗(yàn)室補(bǔ)助="<<salay+(less-120)*20+buzhu<<endl<<endl;</p><p><b> }</b><
87、/p><p> void save(fstream &f)</p><p><b> {</b></p><p> employee::save(f);</p><p> f<<less<<" "<<buzhu<<endl;</p>
88、;<p><b> }</b></p><p> void load(fstream &f)</p><p><b> {</b></p><p> employee::load(f);</p><p> f>>less>>buzhu;<
89、/p><p><b> }</b></p><p><b> };</b></p><p> class xteacher:public employee</p><p><b> {</b></p><p><b> public:&l
90、t;/b></p><p> int buzhu;</p><p><b> int less;</b></p><p> void show()</p><p><b> {</b></p><p> if(num!=0)</p><p&
91、gt;<b> {</b></p><p> employee::show();</p><p> cout<<"課時(shí):"<<less<<endl;</p><p> cout<<"行政補(bǔ)助:"<<buzhu<<endl;&l
92、t;/p><p> cout<<"總工資=\n基本工資+(課時(shí)-120)*20+行政補(bǔ)助="<<salay+(less-120)*20+buzhu<<endl<<endl;</p><p><b> }</b></p><p><b> }</b><
93、;/p><p> void set(int n)</p><p><b> {</b></p><p> employee::set(n);</p><p> cout<<"請(qǐng)輸入課時(shí):"<<endl;</p><p> cin>>le
94、ss;</p><p> cout<<"請(qǐng)輸入行政補(bǔ)貼:"<<endl;</p><p> cin>>buzhu;</p><p> cout<<"總工資=\n基本工資+(課時(shí)-120)*20+行政補(bǔ)助="<<salay+(less-120)*20+buzhu&
95、lt;<endl<<endl;</p><p><b> }</b></p><p> void save(fstream &f)</p><p><b> {</b></p><p> employee::save(f);</p><p>
96、 f<<less<<" "<<buzhu<<endl;</p><p><b> }</b></p><p> void load(fstream &f)</p><p><b> {</b></p><p> e
97、mployee::load(f);</p><p> f>>less>>buzhu;</p><p><b> }</b></p><p><b> };</b></p><p> teacher t[100];</p><p> shiya
98、nyuan s[100];</p><p> xingzhengrenyuan x[100]; </p><p> tshiyanyuan ts[100];</p><p> xteacher xt[100];</p><p> void filesave();</p><p> void run();<
99、;/p><p> void fileload();</p><p> int t1=0,s1=0,x1=0,ts1=0,xt1=0,num=1;</p><p> //*********************查詢***************************</p><p> int search(int number,int
100、&i)</p><p><b> {</b></p><p> for(i=0;i<t1;i++)</p><p><b> {</b></p><p> if(t[i].num==number)</p><p><b> return 1;
101、</b></p><p><b> }</b></p><p> for(i=0;i<s1;i++)</p><p><b> {</b></p><p> if(s[i].num==number)</p><p><b> return
102、 2;</b></p><p><b> }</b></p><p> for(i=0;i<x1;i++)</p><p><b> {</b></p><p> if(x[i].num==number)</p><p><b> ret
103、urn 3;</b></p><p><b> }</b></p><p> for(i=0;i<ts1;i++)</p><p><b> {</b></p><p> if(ts[i].num==number)</p><p><b>
104、 return 4;</b></p><p><b> }</b></p><p> for(i=0;i<xt1;i++)</p><p><b> {</b></p><p> if(xt[i].num==number)</p><p><
105、b> return 5;</b></p><p><b> }</b></p><p><b> return 0;</b></p><p><b> }</b></p><p> int search(char *name1,int &i)
106、</p><p><b> {</b></p><p> for(i=0;i<t1;i++)</p><p><b> {</b></p><p> if(strcmp(t[i].name,name1)==0)</p><p><b> return
107、 1;</b></p><p><b> }</b></p><p> for(i=0;i<s1;i++)</p><p><b> {</b></p><p> if(strcmp(s[i].name,name1)==0)</p><p><
108、b> return 2;</b></p><p><b> }</b></p><p> for(i=0;i<x1;i++)</p><p><b> {</b></p><p> if(strcmp(x[i].name,name1)==0)</p>
109、<p><b> return 3;</b></p><p><b> }</b></p><p> for(i=0;i<ts1;i++)</p><p><b> {</b></p><p> if(strcmp(ts[i].name,name1)=
110、=0)</p><p><b> return 4;</b></p><p><b> }</b></p><p> for(i=0;i<xt1;i++)</p><p><b> {</b></p><p> if(strcmp(xt[
111、i].name,name1)==0)</p><p><b> return 5;</b></p><p><b> }</b></p><p><b> return 0;</b></p><p><b> }</b></p>&l
112、t;p> //***********************顯示**********************</p><p> void display()</p><p><b> {</b></p><p><b> int i;</b></p><p><b> wh
113、ile(1)</b></p><p><b> {</b></p><p> system("cls");</p><p> cout<<endl;</p><p> cout<<"*********************職工信息顯示******
114、*********************"<<endl;</p><p> cout<<endl;</p><p> cout<<" 1:教師信息顯示 "<<endl;</p><p> cout<<endl;</p><p&g
115、t; cout<<" 2:實(shí)驗(yàn)員信息顯示 "<<endl;</p><p> cout<<endl;</p><p> cout<<" 3:行政人員信息顯示 "<<endl;</p><p> cout<&
116、lt;endl;</p><p> cout<<" 4:教師兼職實(shí)驗(yàn)員信息顯示 "<<endl;</p><p> cout<<endl;</p><p> cout<<" 5:行政人員兼職教師信息顯示"<<endl;
117、</p><p> cout<<endl;</p><p> cout<<" 6:退出信息信息顯示 "<<endl;</p><p> cout<<endl;</p><p> cout<<"****************
118、****************************************** "<<endl;</p><p> cout<<"請(qǐng)選擇功能代碼:";</p><p><b> int c;</b></p><p><b> cin>>c;</b>
119、;</p><p><b> switch(c)</b></p><p><b> {</b></p><p> case 1:{for(i=0;i<t1;i++){t[i].show();}system("pause");}break;</p><p> case
120、 2:{for(i=0;i<s1;i++){s[i].show();}system("pause");}break;</p><p> case 3:{for(i=0;i<x1;i++){x[i].show();}system("pause");}break;</p><p> case 4:{for(i=0;i<ts1;i++
121、){ts[i].show();}system("pause");}break;</p><p> case 5:{for(i=0;i<xt1;i++){xt[i].show();}system("pause");}break;</p><p> case 6:run();break;</p><p> defaul
122、t:{cout<<"輸入錯(cuò)誤!"<<endl;system("pause");}break;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p>&
123、lt;p> //****************************錄入***********************</p><p> void luru()</p><p><b> { </b></p><p><b> while(1)</b></p><p>
124、<b> {</b></p><p> system("cls");</p><p> cout<<endl;</p><p> cout<<"*********************職工信息錄入***************************"<<en
125、dl;</p><p> cout<<endl;</p><p> cout<<" 1:教師錄入 "<<endl;</p><p> cout<<endl;</p><p> cout<<" 2:實(shí)驗(yàn)員
126、錄入 "<<endl;</p><p> cout<<endl;</p><p> cout<<" 3:行政人員錄入 "<<endl;</p><p> cout<<endl;</p><p> cout<<
127、" 4:教師兼職實(shí)驗(yàn)員錄入 "<<endl;</p><p> cout<<endl;</p><p> cout<<" 5:行政人員兼職教師錄入 "<<endl;</p><p> cout<<endl;</p
128、><p> cout<<" 6:退出信息錄入 "<<endl;</p><p> cout<<endl;</p><p> cout<<"********************************************************** "
129、;<<endl;</p><p> cout<<"請(qǐng)選擇功能代碼:";</p><p><b> int c;</b></p><p><b> cin>>c;</b></p><p><b> switch(c)</b
130、></p><p><b> {</b></p><p> case 1:{t[t1].set(num++);t1++;}break;</p><p> case 2:{s[s1].set(num++);s1++;}break;</p><p> case 3:{x[x1].set(num++); x1++
131、;}break;</p><p> case 4:{ts[ts1].set(num++);ts1++;}break;</p><p> case 5:{ xt[xt1].set(num++); xt1++;}break;</p><p> case 6:run();break;</p><p> default:{cout<&l
132、t;"輸入錯(cuò)誤!無對(duì)應(yīng)代碼!"<<endl;}break;</p><p><b> }</b></p><p> cout<<" 輸入成功\n繼續(xù)輸入請(qǐng)按1,退出請(qǐng)按2"<<endl;</p><p><b> int x;</b><
133、;/p><p><b> cin>>x;</b></p><p> switch (x)</p><p><b> {</b></p><p> case 1:luru();break;</p><p> case 2:run();break;</p&
134、gt;<p> default:{cout<<"輸入錯(cuò)誤!無對(duì)應(yīng)代碼!"<<endl;}break;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p>
135、<p> //****************************刪除************************</p><p> void shanchu()</p><p><b> {</b></p><p> system("cls");</p><p><
136、b> int i;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p><b> int c;</b></p><p> cout<<endl;</p><
137、p> cout<<"*******************刪除方式*****************"<<endl<<endl;</p><p> cout<<" 1.直接輸入編號(hào)刪除"<<endl<<endl;</p><p> cout<<
138、" 2.輸入名字進(jìn)行刪除"<<endl<<endl;</p><p> cout<<"********************************************"<<endl;</p><p> cout<<"請(qǐng)選擇功能代碼:"<<
139、;endl;</p><p><b> cin>>c;</b></p><p> if(c!=1&&c!=2)</p><p><b> {</b></p><p> cout<<"輸入錯(cuò)誤!"<<endl;</p
140、><p> system("pause");</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> if(c==2)</
141、b></p><p><b> {</b></p><p> cout<<"請(qǐng)選擇要?jiǎng)h除的名字:";</p><p> char name1[10];</p><p> cin>>name1;</p><p> int test=sear
142、ch(name1,i);</p><p> switch(test)</p><p><b> {</b></p><p> case 0: {cout<<"沒有此人!"<<endl;system("pause");}break;</p><p>
143、case 1:{t[i].show();cout<<"確定刪除請(qǐng)按1,取消請(qǐng)按其他任意鍵"<<endl;int m;cin>>m;if(m==1){for(int j=i;j<t1;j++)t[j]=t[j+1];filesave(); cout<<"姓名:"<<name1<<"被刪除!"<&l
144、t;endl;}else{cout<<name1<<"未被刪除!"<<endl;}}break;</p><p> case 2:{s[i].show();cout<<"確定刪除請(qǐng)按1,取消請(qǐng)按其他任意鍵"<<endl;int m;cin>>m;if(m==1){for(int j=i;j<s1
145、;j++)s[j]=s[j+1];filesave(); cout<<"姓名:"<<name1<<"被刪除!"<<endl;}else{cout<<name1<<"未被刪除!"<<endl;}}break;</p><p> case 3:{x[i].show();co
146、ut<<"確定刪除請(qǐng)按1,取消請(qǐng)按其他任意鍵"<<endl;int m;cin>>m;if(m==1){for(int j=i;j<x1;j++)x[j]=x[j+1];filesave(); cout<<"姓名:"<<name1<<"被刪除!"<<endl;}else{cout<&
147、lt;name1<<"未被刪除!"<<endl;}}break;</p><p> case 4:{ts[i].show();cout<<"確定刪除請(qǐng)按1,取消請(qǐng)按其他任意鍵"<<endl;int m;cin>>m;if(m==1){for(int j=i;j<ts1;j++)ts[j]=ts[j+1];f
148、ilesave(); cout<<"姓名:"<<name1<<"被刪除!"<<endl;}else{cout<<name1<<"未被刪除!"<<endl;}}break;</p><p> case 5:{xt[i].show();cout<<"確
149、定刪除請(qǐng)按1,取消請(qǐng)按其他任意鍵"<<endl;int m;cin>>m;if(m==1){for(int j=i;j<xt1;j++)xt[j]=xt[j+1];filesave(); cout<<"姓名:"<<name1<<"被刪除!"<<endl;}else{cout<<name1<&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計(jì)---職工工資管理系統(tǒng)
- c++課程設(shè)計(jì)---職工工資管理系統(tǒng)
- c++課程設(shè)計(jì)-職工工資管理系統(tǒng)設(shè)計(jì)
- 課程設(shè)計(jì)c++之職工工資管理系統(tǒng)
- c語言職工工資管理系統(tǒng)課程設(shè)計(jì)
- c語言課程設(shè)計(jì)——職工工資管理
- c語言課程設(shè)計(jì)——職工工資管理
- 課程設(shè)計(jì)--職工工資管理系統(tǒng)
- 課程設(shè)計(jì)---職工工資管理系統(tǒng)
- 課程設(shè)計(jì)---職工工資管理系統(tǒng)
- 職工工資管理系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)
- c語言課程設(shè)計(jì)報(bào)告---職工工資管理系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告--職工工資管理系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告---職工工資管理系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告職工工資管理系統(tǒng)
- 課程設(shè)計(jì)報(bào)告--職工工資管理系統(tǒng)設(shè)計(jì)
- 職工工資管理系統(tǒng)設(shè)計(jì)的課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)---職工工資管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--職工工資管理
- c語言 職工工資管理系統(tǒng)設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論