版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 任務書</b></p><p><b> 一、設計題目</b></p><p><b> 高校工資管理系統(tǒng)</b></p><p><b> 二、主要內(nèi)容</b></p><p> 三、具體要求及應提交的材料</
2、p><p> 高校有五類職工:教師,實驗員,行政人員,教師兼職實驗員,行政人員兼職教師。為了實現(xiàn)工資發(fā)放的自動功能,現(xiàn)要求編寫程序來自動完成此功能。同時注意生成的相關數(shù)據(jù)結果以文件方式存放在硬盤中。程序應具備從鍵盤錄入,文件的可繼續(xù)錄入,任意職工的工資查詢(可由職工編號和職工姓名來實現(xiàn)),如若有職工由于工作調(diào)動,則可進行相對應的刪除工作。</p><p><b> 相關信息:&l
3、t;/b></p><p> 每一學期將學校職工的本學期任職情況及上學期工作的相關情況輸入計算機,則本學期職工的月工資按程序處理后的結果發(fā)放,其中職工的工資計算方法如下:</p><p> 其中工資的基本構成如下:</p><p> 教師: 基本工資+課時費;</p><p> 實驗員:
4、基本工資+實驗室補助;</p><p> 行政人員: 基本工資+行政補貼;</p><p> 教師兼職實驗員: 基本工資+課時費+實驗室補助;</p><p> 行政人員兼職教師:基本工資+行政補貼+課時費;</p><p><b> (其中:</b></p><p>
5、1.課時費:教師每一學期的基本工作量為120,實驗員每學期基本工作量為70,行政人員沒有基本工作量,每節(jié)課時費為20元;課時費=(上學期工作量-基本工作量)*20;</p><p> 注意:如果上學期基本工作量沒完成,則其(上學期工作量-基本工作量)*20為負值。</p><p> 2.基本工資:教師800元,實驗員650元,行政人員750元。</p><p>
6、 3.行政補貼:250元。</p><p> 4.實驗室補助:150元。)</p><p> 四、主要技術路線提示</p><p><b> 五、進度安排</b></p><p> 六、推薦參考資料(不少于3篇)</p><p><b> 1 引 言</b>&l
7、t;/p><p><b> 1.1 問題的提出</b></p><p> 隨著高等學校的快速發(fā)展,高校規(guī)模越來越大,教職工的數(shù)量也越來越多,高校工資管理更加的復雜化,兒工資管理是一項瑣碎、復雜而又十分細致的工作,工資計算、發(fā)放、核算的工作量很大,這就會耗費工作人員大量的時間和精力,計算機進行工資發(fā)放工作,不僅能夠保證工資核算準確無誤,而且還可以利用計算機對有關工資的各
8、種信息進行統(tǒng)計,服務于財政部門其他發(fā)面的核算和財務處理,同時計算機具有著手工管理嗦無法比擬的優(yōu)點。高校工資管理系統(tǒng)便是以計算機為工具,通過對工資管理所需的信息管理,優(yōu)化了管理體系,使其高效化、智能化,也提高了透明度和互動性。</p><p><b> 程序的主要功能</b></p><p><b> 2.1添加功能</b></p>
9、<p> 可以從鍵盤或文件錄入職工的相應信息。</p><p><b> 2.2刪除功能</b></p><p> 能夠?qū)χ付ǖ穆毠ば畔⑦M行刪除。</p><p><b> 2.3 顯示功能</b></p><p> 能夠顯示職工編號、姓名、類別、本學期任職情況和工資等信息。
10、</p><p><b> 2.4查找功能</b></p><p> 根據(jù)你鍵入的職工編號,顯示其詳細信息。</p><p><b> 2.5計算功能</b></p><p> 根據(jù)你鍵入的職工相關信息自動計算其工資功能。</p><p><b> 3 程
11、序運行平臺</b></p><p><b> 4 總體設計</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-實驗員,2-行政人員,3-教師兼實驗員,4-行政兼教師]:\n"; </p><p> cin>>ch; </p><p> Teacher *pt; //創(chuàng)建新結點,錄入數(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<<"編號 姓名 崗位 課時 收入情況\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> 首先由用戶輸入要刪除的單個職員姓名,然后調(diào)用刪除函數(shù),刪除該
25、名職員的資料。</p><p> int College::Find(int ID,Person **p1,Person **p2) //查找職工結點</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<<"編號:"; 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) //查找職工結點</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<<"編號:"; </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<<"編號 姓名 崗位 課時 收入情況\
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> 結論</b></p><p> 通過這次課程設計,我對C++又有了更深一步的了解,尤其是關于指針、鏈表等數(shù)據(jù)結構,還有類的使用,基本上可以靈活運用指針數(shù)組了。類
41、與對象的使用使程序更加模塊化,與客觀世界的聯(lián)系也更為緊密。在編寫程序之前對自己所要編寫的程序所要實現(xià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; //編號</p><p> char name[20]; //姓名</p><p> int duty; //人員類別:0-教師,1-實驗員,2-行政人員,3-教師兼實驗員,4-行政兼教師</p><p> int hours; //基本工作量</p><
45、p> Person *next; //指針域</p><p><b> public:</b></p><p> Person() //構造基類</p><p><b> {</b></p><p> next=0; //指針域設為空</p>
46、<p><b> }</b></p><p> virtual ~Person() //基類虛析構</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; //計算收入</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() //構造函數(shù),初始化部分數(shù)據(jù)</p><p><b> {</b></p><p><b>
50、 duty=0; </b></p><p><b> }</b></p><p> void Input() //鍵盤補充輸入其它數(shù)據(jù)</p><p><b> {</b></p><p> cout<<"編號:"
51、;; cin>>no;</p><p> cout<<"姓名:"; cin>>name;</p><p> cout<<"教師上學期課時:"; </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、//計算教師工資</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 //實驗員類</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<<"編號:"; </p><
59、;p><b> cin>>no;</b></p><p> cout<<"姓名:"; </p><p> cin>>name;</p><p> cout<<"實驗員上學期課時:"; </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<<"編號:";</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 //教師兼實驗員類</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<<"編號:"; </p><p><b
75、> cin>>no;</b></p><p> cout<<"姓名:"; </p><p> cin>>name;</p><p> cout<<"教師兼職實驗員上學期實驗課時:"; </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() //計算工資</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<<"編號:"; </p><p><b> cin>>no;</b></p><p> cout<<"姓名:"; </p><p> cin>>name;
84、</p><p> cout<<"行政人員兼職教師上學期課時:"; </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() //計算工資</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(); //構造函數(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(); //析構函數(shù)<
93、;/p><p><b> };</b></p><p> College::College() //構造函數(shù)(創(chuàng)建1個頭結點的鏈表)</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() //析構函數(shù)(僅保留1個頭結點)</p><p><b> {</b></p>
95、;<p> Person *p=PL;</p><p> while(p) //逐個刪除結點,包括頭結點</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-實驗員,2-行政人員,3-教師兼實驗員,4-行政兼教師]:\n"; </p><p> cin>>ch; </p><p> Teacher *pt; //創(chuàng)建新結點,錄入數(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() //清除職工結點,僅保留頭結點</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) //查找職工結點</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<<"編號:"; 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;編號:"; </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<<"編號 姓名 崗位 課時 收入情況\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<<"編號 姓名 崗位 課時 收入情況\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(); //關閉文件</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]; //臨時空間</p><p> int duty; //人員類型</p><p> Person *p2; //新建結點的指針</p><p> long t; //讀寫位置 </p><p> Clear(); //清除現(xiàn)有結點(保留頭結點)</p><
127、;p> ifstream f("Person.dat",ios::in); //打開文件</p><p> Person *p=PL; //尾結點指針</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)建新結點</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(); //關閉文件</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; //定義大學對
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-結束"<<endl;</p><p> cout<<"|---------------------------------------------------|"<<endl;<
137、/p><p> cout<<"輸入1~4應的操作 ,輸入0 結束"<<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<<"請輸入需要增加的職工數(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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設計-----高校工資管理系統(tǒng)
- c++課程設計報告--高校工資管理系統(tǒng)
- c++課程設計報告---高校工資管理系統(tǒng)
- 高校工資管理系統(tǒng)課程設計
- 高校工資管理系統(tǒng)課程設計
- 課程設計--c++企業(yè)工資管理系統(tǒng)
- c++企業(yè)工資管理系統(tǒng)課程設計
- c++課程設計--高校職工工資管理系統(tǒng)
- c++企業(yè)工資管理系統(tǒng)課程設計
- 高校工資管理系統(tǒng)課程設計報告
- c++課程設計--小型公司工資管理系統(tǒng)
- ”小型公司工資管理系統(tǒng)設計“c++課程設計
- 小型公司工資管理系統(tǒng)設計 c++課程設計
- c++課程設計---職工工資管理系統(tǒng)
- c++課程設計---職工工資管理系統(tǒng)
- 數(shù)據(jù)庫課程設計--高校工資管理系統(tǒng)
- 數(shù)據(jù)庫課程設計--高校工資管理系統(tǒng)
- c++課程設計-職工工資管理系統(tǒng)設計
- c++課程設計---企業(yè)員工工資管理系統(tǒng)
- 課程設計c++之職工工資管理系統(tǒng)
評論
0/150
提交評論