版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 任務(wù)書</b></p><p><b> 一、設(shè)計(jì)題目</b></p><p><b> 高校工資管理系統(tǒng)</b></p><p><b> 二、主要內(nèi)容</b></p><p> 三、具體要求及應(yīng)提交的材料</
2、p><p> 高校有五類職工:教師,實(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)和職工姓名來實(shí)現(xiàn)),如若有職工由于工作調(diào)動(dòng),則可進(jìn)行相對(duì)應(yīng)的刪除工作。</p><p><b> 相關(guān)信息:&l
3、t;/b></p><p> 每一學(xué)期將學(xué)校職工的本學(xué)期任職情況及上學(xué)期工作的相關(guān)情況輸入計(jì)算機(jī),則本學(xué)期職工的月工資按程序處理后的結(jié)果發(fā)放,其中職工的工資計(jì)算方法如下:</p><p> 其中工資的基本構(gòu)成如下:</p><p> 教師: 基本工資+課時(shí)費(fèi);</p><p> 實(shí)驗(yàn)員:
4、基本工資+實(shí)驗(yàn)室補(bǔ)助;</p><p> 行政人員: 基本工資+行政補(bǔ)貼;</p><p> 教師兼職實(shí)驗(yàn)員: 基本工資+課時(shí)費(fèi)+實(shí)驗(yàn)室補(bǔ)助;</p><p> 行政人員兼職教師:基本工資+行政補(bǔ)貼+課時(shí)費(fèi);</p><p><b> (其中:</b></p><p>
5、1.課時(shí)費(fèi):教師每一學(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.基本工資:教師800元,實(shí)驗(yàn)員650元,行政人員750元。</p><p>
6、 3.行政補(bǔ)貼:250元。</p><p> 4.實(shí)驗(yàn)室補(bǔ)助:150元。)</p><p> 四、主要技術(shù)路線提示</p><p><b> 五、進(jìn)度安排</b></p><p> 六、推薦參考資料(不少于3篇)</p><p><b> 1 引 言</b>&l
7、t;/p><p><b> 1.1 問題的提出</b></p><p> 隨著高等學(xué)校的快速發(fā)展,高校規(guī)模越來越大,教職工的數(shù)量也越來越多,高校工資管理更加的復(fù)雜化,兒工資管理是一項(xiàng)瑣碎、復(fù)雜而又十分細(xì)致的工作,工資計(jì)算、發(fā)放、核算的工作量很大,這就會(huì)耗費(fèi)工作人員大量的時(shí)間和精力,計(jì)算機(jī)進(jìn)行工資發(fā)放工作,不僅能夠保證工資核算準(zhǔn)確無誤,而且還可以利用計(jì)算機(jī)對(duì)有關(guān)工資的各
8、種信息進(jìn)行統(tǒng)計(jì),服務(wù)于財(cái)政部門其他發(fā)面的核算和財(cái)務(wù)處理,同時(shí)計(jì)算機(jī)具有著手工管理嗦無法比擬的優(yōu)點(diǎn)。高校工資管理系統(tǒng)便是以計(jì)算機(jī)為工具,通過對(duì)工資管理所需的信息管理,優(yōu)化了管理體系,使其高效化、智能化,也提高了透明度和互動(dòng)性。</p><p><b> 程序的主要功能</b></p><p><b> 2.1添加功能</b></p>
9、<p> 可以從鍵盤或文件錄入職工的相應(yīng)信息。</p><p><b> 2.2刪除功能</b></p><p> 能夠?qū)χ付ǖ穆毠ば畔⑦M(jìn)行刪除。</p><p><b> 2.3 顯示功能</b></p><p> 能夠顯示職工編號(hào)、姓名、類別、本學(xué)期任職情況和工資等信息。
10、</p><p><b> 2.4查找功能</b></p><p> 根據(jù)你鍵入的職工編號(hào),顯示其詳細(xì)信息。</p><p><b> 2.5計(jì)算功能</b></p><p> 根據(jù)你鍵入的職工相關(guān)信息自動(dòng)計(jì)算其工資功能。</p><p><b> 3 程
11、序運(yùn)行平臺(tái)</b></p><p><b> 4 總體設(shè)計(jì)</b></p><p><b> 5 模塊分析</b></p><p><b> 5.1 添加模塊</b></p><p> 系統(tǒng)將提示用戶輸入新添加的職員的信息,插入在鏈表中。</p>
12、<p> void College::Add() //增加職工</p><p><b> {</b></p><p> Person *p=PL;</p><p> while(p->next)p=p->next;</p><p><b> int ch;</b&g
13、t;</p><p> cout<<"輸入職工分類碼[0-教師,1-實(shí)驗(yàn)員,2-行政人員,3-教師兼實(shí)驗(yàn)員,4-行政兼教師]:\n"; </p><p> cin>>ch; </p><p> Teacher *pt; //創(chuàng)建新結(jié)點(diǎn),錄入數(shù)據(jù),連接到鏈表</p><p>
14、 Assistant *pa;</p><p> Manager *pm;</p><p> Teacher_Assistant *pta;</p><p> Manager_Teacher *pmt;</p><p> switch(ch)</p><p><b> {</b><
15、/p><p><b> case 0: </b></p><p> pt=new Teacher; </p><p> pt->Input();</p><p> p->next=pt; </p><p><b> break;</b></p>
16、;<p><b> case 1: </b></p><p> pa=new Assistant; </p><p> pa->Input();</p><p> p->next=pa; </p><p><b> break;</b></p>
17、<p><b> case 2: </b></p><p> pm=new Manager; </p><p> pm->Input();</p><p> p->next=pm; </p><p><b> break;</b></p><p&
18、gt;<b> case 3: </b></p><p> pta=new Teacher_Assistant;</p><p> pta->Input();</p><p> p->next=pta; </p><p><b> break;</b></p>&
19、lt;p><b> case 4: </b></p><p> pmt=new Manager_Teacher; </p><p> pmt->Input();</p><p> p->next=pmt;</p><p><b> break;</b></p>
20、<p><b> default: </b></p><p><b> return;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 5.2 顯示模塊<
21、/b></p><p> 顯示模塊將輸出所有職員的主要資料 。</p><p> void College::Print() //顯示輸出職工信息</p><p><b> {</b></p><p> cout<<"\n** 職工信息表 **\n";</p>
22、;<p> cout<<"編號(hào) 姓名 崗位 課時(shí) 收入情況\n";</p><p> Person *p=PL->next;</p><p><b> if(!p)</b></p><p><b> {</b></p><p>
23、cout<<"無職工記錄!\n"; return;</p><p><b> }</b></p><p> while(p) //找到并輸出職工信息</p><p><b> {</b></p><p> p->Output();</
24、p><p> p=p->next;</p><p><b> }</b></p><p><b> }</b></p><p><b> 5.3 刪除模塊</b></p><p> 首先由用戶輸入要?jiǎng)h除的單個(gè)職員姓名,然后調(diào)用刪除函數(shù),刪除該
25、名職員的資料。</p><p> int College::Find(int ID,Person **p1,Person **p2) //查找職工結(jié)點(diǎn)</p><p><b> {</b></p><p> *p1=PL->next;</p><p><b> *p2=PL;</b&g
26、t;</p><p> while(*p1)</p><p><b> {</b></p><p> if((*p1)->no==ID)</p><p> break; //找到</p><p><b> else </b></p><p
27、><b> {</b></p><p> *p2=*p1; //繼續(xù)查找</p><p> *p1=(*p1)->next;</p><p><b> }</b></p><p><b> }</b></p><p> retu
28、rn *p1?1:0;</p><p><b> }</b></p><p> void College::Delete() //刪除職工</p><p><b> {</b></p><p> cout<<"\n** 刪除職工 **\n";</p&
29、gt;<p><b> int no;</b></p><p> Person *p1,*p2;</p><p> cout<<"編號(hào):"; cin>>no;</p><p> if(!Find(no,&p1,&p2))</p><p>
30、<b> {</b></p><p> cout<<"指定的人員沒有找到!\n";</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p
31、><p> p2->next=p1->next; //連接</p><p> delete p1;</p><p> cout<<"正確刪除!\n";</p><p><b> }</b></p><p><b> }</b>
32、;</p><p><b> 5.4 查找模塊</b></p><p> 首先由用戶輸入要查找的職員姓名,然后系統(tǒng)用查找函數(shù)查找,然后系統(tǒng)就調(diào)用輸出函數(shù),輸出所查找的職員資料。</p><p> int College::Find(int ID,Person **p1,Person **p2) //查找職工結(jié)點(diǎn)</p>
33、<p><b> {</b></p><p> *p1=PL->next;</p><p><b> *p2=PL;</b></p><p> while(*p1)</p><p><b> {</b></p><p> i
34、f((*p1)->no==ID)</p><p> break; //找到</p><p><b> else </b></p><p><b> {</b></p><p> *p2=*p1; //繼續(xù)查找</p><p> *p1=(*p1)->
35、next;</p><p><b> }</b></p><p><b> }</b></p><p> return *p1?1:0;</p><p><b> }</b></p><p> void College::Find1()
36、 //查詢職工信息</p><p><b> {</b></p><p> cout<<"\n** 查詢職工 **\n";</p><p><b> int no;</b></p><p> Person *p1,*p2;</p><p&
37、gt; cout<<"編號(hào):"; </p><p><b> cin>>no;</b></p><p> if(!Find(no,&p1,&p2))</p><p><b> {</b></p><p> cout<<
38、;"指定的人員沒有找到!\n";</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> cout<<"編號(hào) 姓名 崗位 課時(shí) 收入情況\
39、n";</p><p> cout<<setw(4)<<p1->no<<setw(6)<<p1->name<<setw(4)<<p1->duty<<setw(8)<<p1->hours<<setw(8)<<p1->Incoming()<<en
40、dl;</p><p><b> }</b></p><p><b> }</b></p><p><b> 結(jié)論</b></p><p> 通過這次課程設(shè)計(jì),我對(duì)C++又有了更深一步的了解,尤其是關(guān)于指針、鏈表等數(shù)據(jù)結(jié)構(gòu),還有類的使用,基本上可以靈活運(yùn)用指針數(shù)組了。類
41、與對(duì)象的使用使程序更加模塊化,與客觀世界的聯(lián)系也更為緊密。在編寫程序之前對(duì)自己所要編寫的程序所要實(shí)現(xiàn)的功能,使用什么結(jié)構(gòu)等要有大致的構(gòu)思,這樣在編寫時(shí)思路才會(huì)更清晰,程序出錯(cuò)的幾率降低,程序總體上的考慮也能更周全、運(yùn)行更順暢。</p><p><b> 附 錄</b></p><p> 附錄1 源程序代碼</p><p> #in
42、clude <iostream.h></p><p> #include <iomanip.h></p><p> #include <stdlib.h></p><p> #include <string.h></p><p> #include <conio.h><
43、/p><p> #include <fstream.h></p><p> const int P=20;</p><p> class Person //定義抽象類</p><p><b> {</b></p><p> protected:</p>
44、<p> int no; //編號(hào)</p><p> char name[20]; //姓名</p><p> int duty; //人員類別:0-教師,1-實(shí)驗(yàn)員,2-行政人員,3-教師兼實(shí)驗(yàn)員,4-行政兼教師</p><p> int hours; //基本工作量</p><
45、p> Person *next; //指針域</p><p><b> public:</b></p><p> Person() //構(gòu)造基類</p><p><b> {</b></p><p> next=0; //指針域設(shè)為空</p>
46、<p><b> }</b></p><p> virtual ~Person() //基類虛析構(gòu)</p><p><b> {}</b></p><p> virtual void Input()=0; //從鍵盤輸入數(shù)據(jù)</p><p>
47、 virtual void Input(ifstream& ifs)=0; //從文件輸入數(shù)據(jù)</p><p> virtual void Output()=0; //向屏幕輸出數(shù)據(jù)</p><p> virtual void Output(ofstream& ofs)=0; //向文件輸出數(shù)據(jù)</p><
48、p> virtual int Incoming()=0; //計(jì)算收入</p><p> friend class College;</p><p><b> };</b></p><p> class Teacher:virtual public Person //教師類</p>&l
49、t;p><b> {</b></p><p><b> public: </b></p><p> Teacher() //構(gòu)造函數(shù),初始化部分?jǐn)?shù)據(jù)</p><p><b> {</b></p><p><b>
50、 duty=0; </b></p><p><b> }</b></p><p> void Input() //鍵盤補(bǔ)充輸入其它數(shù)據(jù)</p><p><b> {</b></p><p> cout<<"編號(hào):"
51、;; cin>>no;</p><p> cout<<"姓名:"; cin>>name;</p><p> cout<<"教師上學(xué)期課時(shí):"; </p><p> cin>>hours;</p><p><b> } &l
52、t;/b></p><p> void Input(ifstream& ifs) //從文件輸入數(shù)據(jù)</p><p><b> {</b></p><p> ifs>>no>>name>>duty>>hours;</p><p><b>
53、; } </b></p><p> void Output()</p><p><b> {</b></p><p> cout<<setw(4)<<no<<setw(6)<<name<<setw(4)<<duty<<setw(8)<&
54、lt;hours<<setw(8)<<Incoming()<<endl;</p><p><b> }</b></p><p> void Output(ofstream& ofs)</p><p><b> {</b></p><p> ofs&
55、lt;<setw(4)<<no<<setw(6)<<name<<setw(4)<<duty<<setw(8)<<hours<<setw(8)<<endl;</p><p><b> }</b></p><p> int Incoming()
56、//計(jì)算教師工資</p><p><b> {</b></p><p> return hours*P-1600; </p><p><b> }</b></p><p><b> };</b></p><p> class Assistan
57、t:virtual public Person //實(shí)驗(yàn)員類</p><p><b> {</b></p><p><b> public:</b></p><p> Assistant()</p><p><b> {</b></p><p>
58、;<b> duty=1; </b></p><p><b> } </b></p><p> void Input()</p><p><b> {</b></p><p> cout<<"編號(hào):"; </p><
59、;p><b> cin>>no;</b></p><p> cout<<"姓名:"; </p><p> cin>>name;</p><p> cout<<"實(shí)驗(yàn)員上學(xué)期課時(shí):"; </p><p> cin>
60、;>hours;</p><p><b> }</b></p><p> void Input(ifstream& ifs) </p><p><b> {</b></p><p> ifs>>no>>name>>duty>>h
61、ours;</p><p><b> } </b></p><p> void Output()</p><p><b> {</b></p><p> cout<<setw(4)<<no<<setw(6)<<name<<setw(
62、4)<<duty<<setw(8)<<hours<<setw(8)<<Incoming()<<endl;</p><p><b> }</b></p><p> void Output(ofstream& ofs)</p><p><b> {<
63、;/b></p><p> ofs<<setw(4)<<no<<setw(6)<<name<<setw(4)<<duty<<setw(8)<<hours<<setw(8)<<endl;</p><p><b> }</b></p>
64、;<p> int Incoming()</p><p><b> {</b></p><p> return hours*P-600;</p><p><b> }</b></p><p><b> };</b></p><p>
65、; class Manager:virtual public Person //行政人員類</p><p><b> {</b></p><p><b> public:</b></p><p><b> Manager()</b></p><p><b>
66、 {</b></p><p><b> duty=2;</b></p><p><b> hours=0;</b></p><p><b> }</b></p><p> void Input()</p><p><b>
67、 {</b></p><p> cout<<"編號(hào):";</p><p><b> cin>>no;</b></p><p> cout<<"姓名:"; </p><p> cin>>name;</p>
68、;<p><b> }</b></p><p> void Input(ifstream& ifs) </p><p><b> {</b></p><p> ifs>>no>>name>>duty;</p><p><b&g
69、t; } </b></p><p> void Output()</p><p><b> {</b></p><p> cout<<setw(4)<<no<<setw(6)<<name<<setw(4)<<duty<<setw(8)<
70、<hours<<setw(8)<<Incoming()<<endl;</p><p><b> }</b></p><p> void Output(ofstream& ofs)</p><p><b> {</b></p><p> o
71、fs<<setw(4)<<no<<setw(6)<<name<<setw(4)<<duty<<hours<<setw(8)<<endl;</p><p><b> }</b></p><p> int Incoming()</p><p&
72、gt;<b> {</b></p><p> return 1000;</p><p><b> }</b></p><p><b> };</b></p><p> class Teacher_Assistant:public Teacher,public Assi
73、stant //教師兼實(shí)驗(yàn)員類</p><p><b> {</b></p><p><b> public:</b></p><p> Teacher_Assistant()</p><p><b> {</b></p><p><b&g
74、t; duty=3;</b></p><p><b> }</b></p><p> void Input()</p><p><b> {</b></p><p> cout<<"編號(hào):"; </p><p><b
75、> cin>>no;</b></p><p> cout<<"姓名:"; </p><p> cin>>name;</p><p> cout<<"教師兼職實(shí)驗(yàn)員上學(xué)期實(shí)驗(yàn)課時(shí):"; </p><p> cin>>
76、Teacher::hours;</p><p><b> }</b></p><p> void Input(ifstream& ifs) </p><p><b> {</b></p><p> ifs>>no>>name>>duty>&
77、gt;Teacher::hours;</p><p><b> } </b></p><p> void Output()</p><p><b> {</b></p><p> cout<<setw(4)<<no<<setw(6)<<name
78、<<setw(4)<<duty<<setw(8)<<Teacher::hours<<setw(8)<<Incoming()<<endl;</p><p><b> }</b></p><p> void Output(ofstream& ofs)</p>&l
79、t;p><b> {</b></p><p> ofs<<setw(4)<<no<<setw(6)<<name<<setw(4)<<duty<<setw(8)<<Teacher::hours<<setw(8)<<endl;</p><p>
80、<b> }</b></p><p> int Incoming() //計(jì)算工資</p><p><b> {</b></p><p> return 1450+Teacher::hours*P;</p><p><b> }</b></p>&l
81、t;p><b> };</b></p><p> class Manager_Teacher:public Manager,public Teacher //行政人員兼教師類</p><p><b> {</b></p><p><b> public:</b></p>&
82、lt;p> Manager_Teacher()</p><p><b> {</b></p><p><b> duty=4;</b></p><p><b> }</b></p><p> void Input()</p><p>&l
83、t;b> {</b></p><p> cout<<"編號(hào):"; </p><p><b> cin>>no;</b></p><p> cout<<"姓名:"; </p><p> cin>>name;
84、</p><p> cout<<"行政人員兼職教師上學(xué)期課時(shí):"; </p><p> cin>>Manager::hours;</p><p><b> }</b></p><p> void Input(ifstream& ifs) </p>
85、<p><b> {</b></p><p> ifs>>no>>name>>duty>>Manager::hours;</p><p><b> } </b></p><p> void Output()</p><p><
86、b> {</b></p><p> cout<<setw(4)<<no<<setw(6)<<name<<setw(4)<<duty<<setw(8)<<Manager::hours<<setw(8)<<Incoming()<<endl;</p>&
87、lt;p><b> }</b></p><p> void Output(ofstream& ofs)</p><p><b> {</b></p><p> ofs<<setw(4)<<no<<setw(6)<<name<<setw(4)&
88、lt;<duty<<setw(8)<<Manager::hours<<setw(8)<<endl;</p><p><b> }</b></p><p> int Incoming() //計(jì)算工資</p><p><b> {</b></p&g
89、t;<p> return 1000+Manager::hours*P;</p><p><b> }</b></p><p><b> };</b></p><p> class College</p><p><b> {</b></p>
90、<p><b> private:</b></p><p> Person *PL;</p><p> void Clear();</p><p> int College::Find(int ID,Person **p1,Person **p2);</p><p><b> publi
91、c:</b></p><p> College(); //構(gòu)造函數(shù)</p><p> void Add(); //增加職工函數(shù)</p><p> void Delete(); //刪除職工函數(shù)</p><p> void Modify(); //修改職工函數(shù)</p><p>
92、 void Print(); //輸出職工信息函數(shù)</p><p> void Save(); //職工信息存盤函數(shù)</p><p> void Load(); //職工信息裝入函數(shù)</p><p> void Find1(); //查找職工信息函數(shù)</p><p> ~College(); //析構(gòu)函數(shù)<
93、;/p><p><b> };</b></p><p> College::College() //構(gòu)造函數(shù)(創(chuàng)建1個(gè)頭結(jié)點(diǎn)的鏈表)</p><p><b> {</b></p><p> Person *p=new Teacher;</p><p><b>
94、 PL=p;</b></p><p><b> Load();</b></p><p><b> }</b></p><p> College::~College() //析構(gòu)函數(shù)(僅保留1個(gè)頭結(jié)點(diǎn))</p><p><b> {</b></p>
95、;<p> Person *p=PL;</p><p> while(p) //逐個(gè)刪除結(jié)點(diǎn),包括頭結(jié)點(diǎn)</p><p><b> {</b></p><p> PL=p->next;</p><p><b> delete p;</b></p><
96、;p><b> p=PL;</b></p><p><b> }</b></p><p><b> PL=0;</b></p><p><b> }</b></p><p> void College::Add() //增加職工</
97、p><p><b> {</b></p><p> Person *p=PL;</p><p> while(p->next)p=p->next;</p><p><b> int ch;</b></p><p> cout<<"輸入
98、職工分類碼[0-教師,1-實(shí)驗(yàn)員,2-行政人員,3-教師兼實(shí)驗(yàn)員,4-行政兼教師]:\n"; </p><p> cin>>ch; </p><p> Teacher *pt; //創(chuàng)建新結(jié)點(diǎn),錄入數(shù)據(jù),連接到鏈表</p><p> Assistant *pa;</p><p> Manager
99、*pm;</p><p> Teacher_Assistant *pta;</p><p> Manager_Teacher *pmt;</p><p> switch(ch)</p><p><b> {</b></p><p><b> case 0: </b>
100、</p><p> pt=new Teacher; </p><p> pt->Input();</p><p> p->next=pt; </p><p><b> break;</b></p><p><b> case 1: </b><
101、/p><p> pa=new Assistant; </p><p> pa->Input();</p><p> p->next=pa; </p><p><b> break;</b></p><p><b> case 2: </b></p&g
102、t;<p> pm=new Manager; </p><p> pm->Input();</p><p> p->next=pm; </p><p><b> break;</b></p><p><b> case 3: </b></p>&l
103、t;p> pta=new Teacher_Assistant;</p><p> pta->Input();</p><p> p->next=pta; </p><p><b> break;</b></p><p><b> case 4: </b></p>
104、;<p> pmt=new Manager_Teacher; </p><p> pmt->Input();</p><p> p->next=pmt;</p><p><b> break;</b></p><p><b> default: </b></
105、p><p><b> return;</b></p><p><b> }</b></p><p><b> }</b></p><p> void College::Clear() //清除職工結(jié)點(diǎn),僅保留頭結(jié)點(diǎn)</p><p><b>
106、 {</b></p><p> Person *p=PL->next;</p><p><b> while(p)</b></p><p><b> { </b></p><p> PL->next=p->next;</p><p>&
107、lt;b> delete p;</b></p><p> p->next=PL->next;</p><p><b> }</b></p><p><b> }</b></p><p> int College::Find(int ID,Person **p1
108、,Person **p2) //查找職工結(jié)點(diǎn)</p><p><b> {</b></p><p> *p1=PL->next;</p><p><b> *p2=PL;</b></p><p> while(*p1)</p><p><b>
109、 {</b></p><p> if((*p1)->no==ID)</p><p> break; //找到</p><p><b> else </b></p><p><b> {</b></p><p> *p2=*p1; //繼續(xù)查找&
110、lt;/p><p> *p1=(*p1)->next;</p><p><b> }</b></p><p><b> }</b></p><p> return *p1?1:0;</p><p><b> }</b></p>
111、<p> void College::Delete() //刪除職工</p><p><b> {</b></p><p> cout<<"\n** 刪除職工 **\n";</p><p><b> int no;</b></p><p> P
112、erson *p1,*p2;</p><p> cout<<"編號(hào):"; cin>>no;</p><p> if(!Find(no,&p1,&p2))</p><p><b> {</b></p><p> cout<<"指定的
113、人員沒有找到!\n";</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> p2->next=p1->next; //連接</p><p&g
114、t; delete p1;</p><p> cout<<"正確刪除!\n";</p><p><b> }</b></p><p><b> }</b></p><p> void College::Find1() //查詢職工信息</p>
115、<p><b> {</b></p><p> cout<<"\n** 查詢職工 **\n";</p><p><b> int no;</b></p><p> Person *p1,*p2;</p><p> cout<<&qu
116、ot;編號(hào):"; </p><p><b> cin>>no;</b></p><p> if(!Find(no,&p1,&p2))</p><p><b> {</b></p><p> cout<<"指定的人員沒有找到!\n&
117、quot;;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> cout<<"編號(hào) 姓名 崗位 課時(shí) 收入情況\n";</p>
118、<p> cout<<setw(4)<<p1->no<<setw(6)<<p1->name<<setw(4)<<p1->duty<<setw(8)<<p1->hours<<setw(8)<<p1->Incoming()<<endl;</p><p
119、><b> }</b></p><p><b> }</b></p><p> void College::Print() //輸出職工信息</p><p><b> {</b></p><p> cout<<"\n** 職工信息表
120、**\n";</p><p> cout<<"編號(hào) 姓名 崗位 課時(shí) 收入情況\n";</p><p> Person *p=PL->next;</p><p><b> if(!p)</b></p><p><b> {</b><
121、;/p><p> cout<<"無職工記錄!\n";</p><p><b> return;</b></p><p><b> }</b></p><p> while(p) //找到并輸出職工信息</p><p><b>
122、 {</b></p><p> p->Output();</p><p> p=p->next;</p><p><b> }</b></p><p> void College::Save() //職工信息存盤</p><p><b> {&l
123、t;/b></p><p> ofstream f("Person.dat",ios::out); //打開文件</p><p><b> //遍歷輸出至文件</b></p><p> Person *p=PL->next;</p><p> while(p) </p&g
124、t;<p><b> {</b></p><p> p->Output(f);</p><p> p=p->next;</p><p><b> }</b></p><p> f.close(); //關(guān)閉文件</p><p>
125、 cout<<"職工信息已經(jīng)保存在Person.dat.\n";</p><p><b> }</b></p><p> void College::Load() //職工信息裝入</p><p><b> { </b></p><p> char b
126、uf[81]; //臨時(shí)空間</p><p> int duty; //人員類型</p><p> Person *p2; //新建結(jié)點(diǎn)的指針</p><p> long t; //讀寫位置 </p><p> Clear(); //清除現(xiàn)有結(jié)點(diǎn)(保留頭結(jié)點(diǎn))</p><
127、;p> ifstream f("Person.dat",ios::in); //打開文件</p><p> Person *p=PL; //尾結(jié)點(diǎn)指針</p><p><b> while(1)</b></p><p><b> {</b></
128、p><p> t=f.tellg() //讀取人員類型</p><p> f>>buf>>buf>>duty;</p><p><b> if(f)</b></p><p><b> {</b></p><
129、;p> switch(duty) //根據(jù)人員類型創(chuàng)建新結(jié)點(diǎn)</p><p><b> {</b></p><p> case 0: p2=new Teacher; break;</p><p> case 1: p2=new Assistant; break;</p><p> case 2:
130、p2=new Manager; break;</p><p> case 3: p2=new Teacher_Assistant; break;</p><p> case 4: p2=new Manager_Teacher; break;</p><p> default: f.close(); return;</p><p>
131、;<b> }</b></p><p> p->next=p2;</p><p> p=p->next;</p><p> f.seekg(t);</p><p> p->Input(f); </p><p><b> }</b><
132、/p><p><b> else</b></p><p><b> break; </b></p><p><b> }</b></p><p> f.close(); //關(guān)閉文件</p><p><b> }</b>
133、;</p><p> void main()</p><p><b> {</b></p><p><b> int i,j;</b></p><p><b> char ch;</b></p><p> College c; //定義大學(xué)對(duì)
134、象</p><p> do //顯示主菜單</p><p><b> {</b></p><p> cout<<"|-------------------------菜單----------------------|\n";</p><p> cout<&l
135、t;"1-增加教職工信息\n";</p><p> cout<<"2-刪除教職工信息\n";</p><p> cout<<"3-輸出教職工信息\n";</p><p> cout<<"4-查詢教職工信息\n";</p><p
136、> cout<<"5-數(shù)據(jù)存盤\n";</p><p> cout<<"0-結(jié)束"<<endl;</p><p> cout<<"|---------------------------------------------------|"<<endl;<
137、/p><p> cout<<"輸入1~4應(yīng)的操作 ,輸入0 結(jié)束"<<endl;</p><p><b> cin>>ch; </b></p><p> system("cls");</p><p> switch(ch)</p>
138、<p><b> {</b></p><p><b> case '1':</b></p><p><b> {</b></p><p> cout<<"\n** 增加職工 **\n";</p><p>
139、cout<<"請(qǐng)輸入需要增加的職工數(shù):";</p><p><b> cin>>i;</b></p><p> for(j=1;j<=i;j++)</p><p><b> { </b></p><p> c.Add(); </p&
140、gt;<p><b> } </b></p><p><b> break;}</b></p><p> case '2':c.Delete();break;</p><p> case '3':c.Print();break;</p><p>
141、 case '4':c.Find1();break;</p><p> case '5':c.Save();break;</p><p> default :break}</p><p> }while(ch!='0');</p><p><b> }</b>&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ì)報(bào)告--高校工資管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告---高校工資管理系統(tǒng)
- 高校工資管理系統(tǒng)課程設(shè)計(jì)
- 高校工資管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)--c++企業(yè)工資管理系統(tǒng)
- c++企業(yè)工資管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)--高校職工工資管理系統(tǒng)
- c++企業(yè)工資管理系統(tǒng)課程設(shè)計(jì)
- 高校工資管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)--小型公司工資管理系統(tǒng)
- ”小型公司工資管理系統(tǒng)設(shè)計(jì)“c++課程設(shè)計(jì)
- 小型公司工資管理系統(tǒng)設(shè)計(jì) c++課程設(shè)計(jì)
- c++課程設(shè)計(jì)---職工工資管理系統(tǒng)
- c++課程設(shè)計(jì)---職工工資管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--高校工資管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--高校工資管理系統(tǒng)
- c++課程設(shè)計(jì)-職工工資管理系統(tǒng)設(shè)計(jì)
- c++課程設(shè)計(jì)---企業(yè)員工工資管理系統(tǒng)
- 課程設(shè)計(jì)c++之職工工資管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論