版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計報告</b></p><p> ****************************</p><p> 課 程 面向?qū)ο笳n程設(shè)計</p><p> 姓 名 </p><p><b> 院 (系) </b></p>
2、;<p><b> 專業(yè)年級 </b></p><p> 學(xué) 號 </p><p><b> 指導(dǎo)教師 </b></p><p> 日 期 </p><p><b> 目 錄</b></p><
3、;p> 1 需求與功能分析1</p><p><b> 2 系統(tǒng)框架圖2</b></p><p> 3 類的設(shè)計與分析2</p><p> 4 非成員函數(shù)的設(shè)計與分析4</p><p> 5 特色算法分析4</p><p> 6 存在的問題及對策8</p>
4、<p> 7 用戶手冊及測試結(jié)果8</p><p> 7.1 用戶手冊8</p><p> 7.2 測試結(jié)果8</p><p><b> 8 心得體會11</b></p><p> 9 附:程序源代碼11</p><p><b> 1 需求與功能分析&
5、lt;/b></p><p> 在信息技術(shù)高速發(fā)展的今天,傳統(tǒng)的數(shù)據(jù)統(tǒng)計方式在處理龐大繁雜的信息量時顯得力不從心,于是,人們對于運用計算機來輔助和管理工作的需求正在逐步提高。</p><p> 隨著各個企業(yè)業(yè)務(wù)的逐步擴展,企業(yè)的員工人數(shù)也在迅速增加,由于管理人員水平有限,導(dǎo)致某些員工紀(jì)錄管理并不完善,特別是繁雜的員工工資管理紀(jì)錄,不易查詢、修改,極易導(dǎo)致錯誤,而落后的員工管理方法
6、隨著社會的日益競爭,必將被淘汰。</p><p> 由計算機來管理龐大而繁雜的企業(yè)員工紀(jì)錄是非常合適的,不僅查詢和修改方便,并且效率高,速度快,完全能夠滿足現(xiàn)代化企業(yè)管理的需要,同時也更利于實現(xiàn)全面辦公自動化。因此開發(fā)一套企業(yè)員工工資管理系統(tǒng)軟件勢在必行。</p><p> 企業(yè)員工工資管理系統(tǒng)是企業(yè)管理系統(tǒng)中的一個重要組成部分,它為企業(yè)合理的員工調(diào)配與編制,以及有關(guān)問題的決策能夠提供
7、各種必要的基礎(chǔ)數(shù)據(jù),是公司管理現(xiàn)代化的一個重要方面。利用微機對龐雜而繁鎖的員工工資系統(tǒng)實現(xiàn)自動化管理,是計算機公司信息管理系統(tǒng)的重要內(nèi)容。我在陳勇老師指導(dǎo)下開發(fā)了《企業(yè)員工工資管理系統(tǒng)》。</p><p> 《企業(yè)員工工資管理系統(tǒng)》旨在為商業(yè)人士及在社會團體、機構(gòu)中負責(zé)管理關(guān)系的人士提供一個功能全面、使用方便的工資管理系統(tǒng),以替代傳統(tǒng)的手工管理工資紀(jì)錄,同時利用先進信息技術(shù)為用戶提供一些更為方便實用的功能。 &
8、lt;/p><p> 本系統(tǒng)實現(xiàn)五種基本功能:輸入員工工資信息、刪除員工工資信息、修改員工工資信息、查找員工工資信息、列出所有員工工資信息。所以該工資管理系統(tǒng)可以分為5個模塊,分別為輸入模塊、刪除模塊、修改模塊、查找模塊、列表模塊,每個模塊都有其對應(yīng)的功能以及其設(shè)計。</p><p><b> ?。?)輸入模塊</b></p><p> 輸入模
9、塊的功能是創(chuàng)建存儲職工工資信息的存儲系統(tǒng)以及添加某職工的工資信息。為實現(xiàn)輸入的功能,有兩個方面的任務(wù):定義結(jié)構(gòu)體以及建立鏈表。</p><p><b> ?。?)刪除模塊</b></p><p> 刪除模塊的功能是刪除某職工的工資信息。</p><p><b> (3)修改模塊</b></p><p
10、> 修改模塊的功能是修改某職工的部分工資信息。</p><p><b> ?。?)查找模塊</b></p><p> 查找模塊的功能就是輸出指定編號職工的工資信息。</p><p><b> ?。?)列表模塊</b></p><p> 列表模塊的功能是輸出當(dāng)月全體職工的工資信息。<
11、/p><p><b> 2 系統(tǒng)框架圖</b></p><p><b> 圖1 系統(tǒng)框架圖</b></p><p><b> 3 類的設(shè)計與分析</b></p><p> class Worker</p><p><b> {</b
12、></p><p> protected:</p><p> Worker_pay * head; //鏈表的頭結(jié)點指針</p><p><b> public:</b></p><p> Worker(){head=NULL;} //構(gòu)造函數(shù)</p&
13、gt;<p> void Display(Worker_pay *); //輸出函數(shù) </p><p> Worker_pay * Find(int); //查找函數(shù)</p><p> int ListCount(); //統(tǒng)計員工人數(shù)函數(shù) </p>&l
14、t;p> void AddItem(int,string,int,string,string,string,float,float); //創(chuàng)建鏈表并鏈表的插入</p><p> void RemoveItem(int); //刪除函數(shù)</p><p> void ReplaceItem(int); //修改函數(shù)</p>
15、<p> void ListL(); //遍歷函數(shù) </p><p> void Search(int); //查找并輸出某個員工信息函數(shù)</p><p> void Real_wage(float,float); //計算函數(shù)</p><
16、;p> void Recordinfo(int,string,int,string,string,string,float,float,float,float); //存儲函數(shù)</p><p><b> };</b></p><p> 表1 Worker類說明表</p><p> 4 非成員函數(shù)的設(shè)計與分析</p>
17、<p> 表2 非成員函數(shù)說明表</p><p><b> 5 特色算法分析</b></p><p> Worker類中的成員函數(shù)void AddItem(int,···float,float)</p><p> (1)功能:創(chuàng)建存儲職工工資信息的存儲系統(tǒng)以及添加某職工的工資信息。</p&g
18、t;<p> 算法思路:先定義一個結(jié)構(gòu)體Worker_pay,通過從表尾插入的方法來建立鏈表。首先要先設(shè)立一個頭指針(head)來存放鏈表的首地址,然后,不斷用new運算符生成一個新的結(jié)點,將這個結(jié)點鏈入已有的鏈表尾部;如果鏈表中還沒有結(jié)點,則這個新結(jié)點將是首結(jié)點,否則,將新結(jié)點的地址賦給原有鏈表的尾結(jié)點的next指針。</p><p><b> ?。?)流程圖:</b>&l
19、t;/p><p><b> 圖2 流程圖</b></p><p><b> ?。?)代碼:</b></p><p> void Worker::AddItem(int num1,string name1,int age1,string sex1,string department1,string title1,float
20、wage1,float allowance1)</p><p><b> {</b></p><p><b> if(!head)</b></p><p><b> {</b></p><p> head=new Worker_pay;</p><p
21、> head->num=num1;</p><p> head->name=name1;</p><p> head->age=age1;</p><p> head->sex=sex1;</p><p> head->department=department1;</p><
22、p> head->title=title1;</p><p> head->wage=wage1;</p><p> head->allowance=allowance1;</p><p> head->next=NULL;</p><p><b> return;</b><
23、/p><p><b> }</b></p><p> Worker_pay * t=head;</p><p> while(t&&t->num!=num1)</p><p> t=t->next;</p><p><b> if(t)</b>
24、;</p><p><b> {</b></p><p> cout<<"操作失??;員工編號為"<<num1<<"的信息已經(jīng)存在!!!"<<endl;</p><p><b> return;</b></p><
25、;p><b> }</b></p><p> Worker_pay * p=head;</p><p> while(p->next)</p><p> p=p->next;</p><p> Worker_pay * p1=new Worker_pay;</p><p&g
26、t; p1->num=num1;</p><p> p1->name=name1;</p><p> p1->age=age1;</p><p> p1->sex=sex1;</p><p> p1->department=department1;</p><p> p1-&g
27、t;title=title1;</p><p> p1->wage=wage1;</p><p> p1->allowance=allowance1;</p><p> p1->next=NULL;</p><p> p->next=p1;</p><p><b> retu
28、rn;</b></p><p><b> }</b></p><p> 6 存在的問題及對策</p><p> (1)設(shè)計初期,先完成初步構(gòu)思,寫出主函數(shù)。然后對主函數(shù)所涉及的各個模塊進行編程,將各個模塊利用指針和鏈表聯(lián)系起來。在環(huán)境中進行調(diào)試,應(yīng)一邊編譯,一邊調(diào)試,并且要一個模塊一個模塊的調(diào)試。直至此模塊完全沒有錯誤時,在進
29、入下一模塊的調(diào)試。不能直接輸入全部的代碼一次性調(diào),這樣錯誤會很多,并且不易找出和修改。在完成程序的編譯鏈接后,要用多組數(shù)據(jù)進行審查,確保做到系統(tǒng)無誤。</p><p> 設(shè)計過程中,不應(yīng)忽視環(huán)境提示的警告,有時程序運行不正確與警告也有很大的關(guān)系。這次設(shè)計中遇到很多問題都是提示類型不匹配,這時就要認真檢查前面的代碼,及時改正并且認真仔細,杜絕此類錯再次發(fā)生。</p><p> 編寫代碼時
30、應(yīng)該少用全局變量,全局變量在編寫試看似定義次數(shù)少,很方便。但全局變量出錯幾率較大,且不易修改,每次修改時都要全面考慮,所以應(yīng)避免用到。</p><p> 程序調(diào)試中碰到的錯誤可以使自己學(xué)到知識。養(yǎng)成良好的編程習(xí)慣,可以節(jié)省很多時間,避免很多不必要的錯誤。</p><p> ?。?)在編輯完整個程序后,進行調(diào)試階段總是會數(shù)顯head無定義。</p><p> 解決
31、辦法:再類的定義是忘記聲明指針Worker_pay *head;。</p><p> 7 用戶手冊及測試結(jié)果</p><p><b> 7.1 用戶手冊</b></p><p> 運行程序時,界面剛開始出現(xiàn)一個主菜單及提示信息,用戶通過在鍵盤上輸入來選擇某個功能。當(dāng)用戶選擇了某個功能,系統(tǒng)將跳轉(zhuǎn)到所選擇的功能界面,用戶將可以根據(jù)提示信息來
32、使用該功能,當(dāng)用戶通過鍵盤輸入編號為-1時,系統(tǒng)將返回主界面。</p><p><b> 7.2 測試結(jié)果</b></p><p><b> 圖3 系統(tǒng)主界面</b></p><p> 圖4 輸入員工信息測試圖</p><p> 圖5 刪除員工信息測試圖</p><p&g
33、t; 圖6 修改員工信息測試圖</p><p> 圖7 查找員工信息測試圖</p><p> 圖8 輸出全體員工信息測試圖</p><p> 圖9 退出系統(tǒng)測試圖</p><p><b> 8 心得體會</b></p><p> 經(jīng)過兩周的C++課程設(shè)計,我對C++語言設(shè)計有了一個更深
34、、更全面的了解,尤其體會到了C++面向?qū)ο蟛僮鲗喕绦虻闹匾饔?。下面是我的幾點體會:</p><p> ①剛拿到課題時,我一臉的茫然,看到如此龐大的工程,不知如何下手。這個工資管理系統(tǒng)中職工子信息竟然包含15條,以前從來沒有遇到過如此多的變量。和同學(xué)討論很久好,我發(fā)現(xiàn)其實可以化繁為簡的,信息中15條不一定全都要,因為其中本身就有重復(fù)的,例如津貼和補貼。并且可以有一個pay的數(shù)組來處理數(shù)據(jù)。所以做任何事情都必
35、須要開動腦筋,積極思考,有時還要學(xué)會化繁為簡。</p><p> ?、谠诰幊虝r條理清晰是至關(guān)重要的。主函數(shù),函數(shù),成員函數(shù)之間的層次關(guān)系,調(diào)用關(guān)系一定要有一個全面的把握,尤其要體會類的封裝性。另外很重要的一點就是一定要對鏈表的五種操作熟練的掌握。</p><p> ?、墼诰幾g,鏈接,調(diào)試的過程中一定要有耐心。因為一個程序中會有很多小的錯誤,甚至有的問題要幾個小時才能解決。遇到問題,一定要全
36、面分析,有時候還要向同學(xué)請教??偟脕碚f,編程時極需要耐心的。</p><p> 總之,C++課程設(shè)計為我們提供了一個綜合應(yīng)用所學(xué)知識,解決實際問題的平臺,增強了我們實踐動手的能力和工程實踐能力,并且鍛煉和培養(yǎng)了我們的自學(xué)能力,讓我們對C++有了一個更全面的了解。</p><p><b> 9 附:程序源代碼</b></p><p> /*
37、****************************************************/</p><p> #include<iostream></p><p> #include<string></p><p> #include<fstream></p><p> #inclu
38、de<iomanip></p><p> using namespace std;</p><p> /*****************************************************/</p><p> /*定義一個員工信息的結(jié)構(gòu)體Worker_pay*/</p><p> struct Wor
39、ker_pay</p><p><b> {</b></p><p> int num; //員工編號</p><p> string name; //員工姓名</p><p> int age; //年齡</p><p&g
40、t; string sex; //性別</p><p> string department; //部門</p><p> string title; //職務(wù)</p><p> float wage; //工資</p><p> float allowance;
41、 //津貼</p><p> float tax; //個人所得稅</p><p> float real_wage; //實發(fā)數(shù)</p><p> Worker_pay * next; //鏈表結(jié)點的指針域</p><p><b> };</b></p>&
42、lt;p> /*****************************************************/</p><p> /*定義一個員工類Worker*/</p><p> class Worker</p><p><b> {</b></p><p> protected:<
43、/p><p> Worker_pay * head; //鏈表的頭結(jié)點指針</p><p><b> public:</b></p><p> Worker(){head=NULL;} //構(gòu)造函數(shù)</p><p> void Display(Worker_pa
44、y *); //輸出函數(shù) </p><p> Worker_pay * Find(int); //查找函數(shù)</p><p> int ListCount(); //統(tǒng)計員工人數(shù)函數(shù) </p><p> void AddItem(int,string,int,s
45、tring,string,string,float,float); //創(chuàng)建鏈表并鏈表的插入</p><p> void RemoveItem(int); //刪除函數(shù)</p><p> void ReplaceItem(int); //修改函數(shù)</p><p> void ListL();
46、 //遍歷函數(shù) </p><p> void Search(int); //查找并輸出某個員工信息函數(shù)</p><p> void Real_wage(float,float); //計算函數(shù)</p><p> void Recordinfo(int,string,
47、int,string,string,string,float,float,float,float); //存儲函數(shù)</p><p><b> };</b></p><p> /*****************************************************/</p><p> //功能:用于統(tǒng)計員工人數(shù)</
48、p><p> int Worker::ListCount()</p><p><b> {</b></p><p> if(!head) </p><p><b> return 0;</b></p><p> Worker_pay * p=head;</p>
49、;<p><b> int n=0;</b></p><p><b> while(p)</b></p><p><b> {</b></p><p><b> n++;</b></p><p> p=p->next;<
50、/p><p><b> }</b></p><p><b> return n;</b></p><p><b> }</b></p><p> /*****************************************************/</p>
51、;<p> //功能:在鏈表中查找員工的編號</p><p> Worker_pay * Worker::Find(int num)</p><p><b> {</b></p><p> if(ListCount==0)</p><p><b> {</b></p&g
52、t;<p> cout<<"列表為空,請先輸入數(shù)據(jù)!!!"<<endl;</p><p> return NULL;</p><p><b> }</b></p><p> Worker_pay * p=head;</p><p><b> w
53、hile(p)</b></p><p><b> {</b></p><p> if(p->num==num) </p><p><b> break;</b></p><p> p=p->next;</p><p><b> }&
54、lt;/b></p><p><b> if(!p)</b></p><p><b> {</b></p><p> cout<<"錯誤,找不到該信息!!!"<<endl;</p><p> return NULL;</p>&
55、lt;p><b> }</b></p><p><b> return p;</b></p><p><b> }</b></p><p> /*****************************************************/</p><p&
56、gt; //功能:創(chuàng)建鏈表及鏈表的插入</p><p> void Worker::AddItem(int num1,string name1,int age1,string sex1,string department1,string title1,float wage1,float allowance1)</p><p><b> {</b></p&g
57、t;<p><b> if(!head)</b></p><p><b> {</b></p><p> head=new Worker_pay;</p><p> head->num=num1;</p><p> head->name=name1;</p&
58、gt;<p> head->age=age1;</p><p> head->sex=sex1;</p><p> head->department=department1;</p><p> head->title=title1;</p><p> head->wage=wage1;&l
59、t;/p><p> head->allowance=allowance1;</p><p> head->next=NULL;</p><p><b> return;</b></p><p><b> }</b></p><p> Worker_pay *
60、 t=head;</p><p> while(t&&t->num!=num1)</p><p> t=t->next;</p><p><b> if(t)</b></p><p><b> {</b></p><p> cout<
61、;<"操作失??;員工編號為"<<num1<<"的信息已經(jīng)存在!!!"<<endl;</p><p><b> return;</b></p><p><b> }</b></p><p> Worker_pay * p=head;<
62、;/p><p> while(p->next)</p><p> p=p->next;</p><p> Worker_pay * p1=new Worker_pay;</p><p> p1->num=num1;</p><p> p1->name=name1;</p>&
63、lt;p> p1->age=age1;</p><p> p1->sex=sex1;</p><p> p1->department=department1;</p><p> p1->title=title1;</p><p> p1->wage=wage1;</p><p&
64、gt; p1->allowance=allowance1;</p><p> p1->next=NULL;</p><p> p->next=p1;</p><p><b> return;</b></p><p><b> }</b></p><p&
65、gt; /*****************************************************/</p><p> //功能:從鏈表中刪除一個結(jié)點</p><p> void Worker::RemoveItem(int num)</p><p><b> {</b></p><p> W
66、orker_pay * t=Find(num);</p><p><b> if(!t)</b></p><p><b> return;</b></p><p> Worker_pay * p=head;</p><p> if(head=t)</p><p>&l
67、t;b> {</b></p><p> head=head->next;</p><p><b> delete p;</b></p><p> cout<<"成功刪除員工編號為"<<num<<"的信息!"<<endl;<
68、;/p><p><b> return;</b></p><p><b> }</b></p><p> while(p->next!=t)</p><p> p=p->next;</p><p> Worker_pay * p1=p->next;&l
69、t;/p><p> p->next=p1->next;</p><p> delete p1;</p><p> cout<<"成功刪除員工編號為"<<num<<"的信息!"<<endl;</p><p><b> return;
70、</b></p><p><b> }</b></p><p> /*****************************************************/</p><p> //功能:修改員工信息</p><p> void Worker::ReplaceItem(int num
71、)</p><p><b> {</b></p><p> Worker_pay * p=Find(num);</p><p><b> if(!p)</b></p><p><b> return;</b></p><p> cout<
72、<"請重新輸入相應(yīng)信息"<<endl;</p><p> cout<<"員工編號:";</p><p> cin>>p->num;</p><p> cout<<"員工姓名:";</p><p> cin>&g
73、t;p->name;</p><p> cout<<"年齡:";</p><p> cin>>p->age;</p><p> cout<<"性別:";</p><p> cin>>p->sex;</p><p
74、> cout<<"部門:";</p><p> cin>>p->department;</p><p> cout<<"職務(wù):";</p><p> cin>>p->title;</p><p> cout<<&qu
75、ot;工資(元):";</p><p> cin>>p->wage;</p><p> cout<<"津貼(元):";</p><p> cin>>p->allowance;</p><p><b> return;</b></p
76、><p><b> }</b></p><p> /*****************************************************/</p><p> //功能:輸出員工信息</p><p> void Worker::Display(Worker_pay * p)</p>
77、<p><b> {</b></p><p> cout<<p->num<<setw(8)<<p->name<<setw(8)<<p->age<<setw(8)<<p->sex<<setw(8)<<p->department<<s
78、etw(8)</p><p> <<p->title<<setw(8)<<p->wage<<setw(8)<<p->allowance<<setw(8)<<p->tax<<setw(8)<<p->real_wage<<endl;</p><p&
79、gt;<b> return;</b></p><p><b> }</b></p><p> /*****************************************************/</p><p><b> //功能:遍歷鏈表</b></p><p
80、> void Worker::ListL()</p><p><b> {</b></p><p> float sum=0;</p><p> float aver=0;</p><p><b> int n=0;</b></p><p> if(List
81、Count==0)</p><p><b> {</b></p><p> cout<<"當(dāng)前列表為空,請先輸入數(shù)據(jù)!"<<endl;</p><p><b> return;</b></p><p><b> }</b>&l
82、t;/p><p> Worker_pay * p=head;</p><p> cout<<"**********************************員工信息**************************************"<<endl;</p><p> cout<<"共有
83、"<<ListCount()<<"個員工信息"<<endl;</p><p> cout<<"員工編號 員工姓名 年齡 性別 部門 職務(wù) 工資 津貼 個稅 實發(fā)數(shù)"<<endl;</p><p><b> while(p)&l
84、t;/b></p><p><b> {</b></p><p> Display(p);</p><p><b> n++;</b></p><p> sum+=p->wage;</p><p> p=p->next;</p>&l
85、t;p><b> }</b></p><p> aver=sum/n;</p><p> cout<<"員工平均薪水:"<<aver<<endl;</p><p><b> return;</b></p><p><b>
86、; }</b></p><p> /*****************************************************/</p><p> //功能:查找并輸出指定員工信息</p><p> void Worker::Search(int num)</p><p><b> {</
87、b></p><p> cout<<"Search......"<<endl;</p><p> Worker_pay * p=Find(num);</p><p><b> if(p)</b></p><p><b> {</b></
88、p><p> cout<<"員工編號為"<<num<<"的員工工資信息:"<<endl;</p><p> cout<<"員工編號 員工姓名 年齡 性別 部門 職務(wù) 工資 津貼 個稅 實發(fā)數(shù)"<<endl;</p
89、><p> Display(p);</p><p><b> }</b></p><p> cout<<endl;</p><p><b> return;</b></p><p><b> }</b></p><p
90、> /*****************************************************/</p><p> //功能:程序內(nèi)部函數(shù)計算的信息例如個人所得稅,實發(fā)數(shù)</p><p> void Worker::Real_wage(float tax,float real_wage)</p><p><b> {<
91、/b></p><p> if(ListCount()==0)</p><p><b> {</b></p><p> cout<<"當(dāng)前列表為空,請先輸入數(shù)據(jù)!"<<endl;</p><p><b> return;</b></p&
92、gt;<p><b> }</b></p><p> Worker_pay * p=head;</p><p><b> while(p)</b></p><p><b> {</b></p><p> if(p->wage<=2000)&l
93、t;/p><p><b> p->tax=0;</b></p><p> else if(p->wage>2000&&p->wage<=2500)</p><p> p->tax=p->wage*0.05;</p><p> else if(p->wag
94、e>2500&&p->wage<=4000)</p><p> p->tax=p->wage*0.1-25;</p><p> else if(p->wage>4000&&p->wage<=7000)</p><p> p->tax=p->wage*0.15-12
95、5;</p><p> else if(p->wage>7000&&p->wage<=22000)</p><p> p->tax=p->wage*0.2-375;</p><p> else if(p->wage>22000&&p->wage<=42000)</
96、p><p> p->tax=p->wage*0.25-1375;</p><p> else if(p->wage>42000&&p->wage<=62000)</p><p> p->tax=p->wage*0.3-3375;</p><p> else if(p->
97、wage>62000&&p->wage<=82000)</p><p> p->tax=p->wage*0.35-6375;</p><p> else if(p->wage>82000&&p->wage<=102000)</p><p> p->tax=p->w
98、age*0.4-10375;</p><p> else p->tax=p->wage*0.45-15375;</p><p> p->real_wage=p->wage+p->allowance-p->tax;</p><p> p=p->next;</p><p><b> }&
99、lt;/b></p><p><b> return;</b></p><p><b> }</b></p><p> /*****************************************************/</p><p> //功能:存儲員工信息</p&
100、gt;<p> void Worker::Recordinfo(int num1,string name1,int age1,string sex1,string department1,string title1,float wage1,float allowance1,float tax1,float real_wage1)</p><p><b> { </b>&
101、lt;/p><p> ofstream file1("info1.txt",ios::app);</p><p> file1<<"員工編號:"<<num1<<" 員工姓名:"<<name1<<" 年齡:"<<age1<<&qu
102、ot; 性別:"<<sex1<<" 部門:"<<department1<<" 職務(wù):"<<title1</p><p> <<" 工資(元):"<<wage1<<" 津貼(元):"<<allowance1<&l
103、t;" 個人所得稅(元):"<<tax1<<" 實發(fā)數(shù)(元):"<<real_wage1<<endl;</p><p> file1.close();</p><p><b> } </b></p><p> /********************
104、*********************************/</p><p> /*定義一個對象Worker1*/</p><p> Worker Worker1; </p><p> /*****************************************************/ </p><p> /*主
105、菜單函數(shù)*/ </p><p> int Menu() </p><p><b> {</b></p><p> cout<<"\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
106、~\t"<<endl;</p><p> cout<<"\t\t~ 企業(yè)員工工資管理系統(tǒng) \t~"<<endl;</p><p> cout<<"\t\t~ *******主菜單******* \t~"<<en
107、dl;</p><p> int n=1,select=-1;</p><p> cout<<"\t\t~ "<<n++<<".輸入員工信息 \t\t~"<<endl;</p><p> cout<<"\t\t~
108、 "<<n++<<".刪除指定員工編號信息\t\t~"<<endl;</p><p> cout<<"\t\t~ "<<n++<<".修改指定員工編號信息\t\t~"<<endl;</p><p>
109、cout<<"\t\t~ "<<n++<<".查找指定員工編號信息\t\t~"<<endl;</p><p> cout<<"\t\t~ "<<n++<<".輸出全體員工信息\t\t\t~"<<
110、endl;</p><p> cout<<"\t\t~ 0.退出\t\t\t\t~"<<endl;</p><p> cout<<"\t\t~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\t\t"<<endl;</p&g
111、t;<p> cout<<"[請選擇0—5(輸入相應(yīng)數(shù)字)]:";</p><p> cin>>select;</p><p> return select;</p><p><b> }</b></p><p> /******************
112、***********************************/</p><p><b> //功能:退出程序</b></p><p> char Exit() </p><p><b> {</b></p><p><b> char
113、s;</b></p><p> cout<<"確定要退出程序嗎?[Y/N]:";</p><p><b> cin>>s;</b></p><p><b> return s;</b></p><p><b> }</b
114、></p><p> /*****************************************************/</p><p> //功能:輸入員工信息</p><p> void Input(int * num,string * name,int * age,string * sex,string * department,str
115、ing * title,float * wage,float * allowance) </p><p><b> {</b></p><p> cout<<"現(xiàn)在輸入員工信息!"<<endl;</p><p> cout<<"員工編號:";
116、</p><p> cin>>* num;</p><p> if(* num==-1)return;</p><p> cout<<"員工姓名:";</p><p> cin>>* name;</p><p> cout<<"年齡
117、:";</p><p> cin>>* age;</p><p> cout<<"性別:";</p><p> cin>>* sex;</p><p> cout<<"部門:";</p><p> cin>
118、>* department;</p><p> cout<<"職務(wù):";</p><p> cin>>* title;</p><p> cout<<"工資(元):";</p><p> cin>>* wage;</p><
119、;p> cout<<"津貼(元):";</p><p> cin>>* allowance;</p><p><b> return;</b></p><p><b> }</b></p><p> /*******************
120、**********************************/</p><p> //功能:把員工信息插入到鏈表中</p><p> void AddNew() </p><p><b> {</b></p><p> int num=0;</p>&l
121、t;p> string name;</p><p> int age=0;</p><p> string sex;</p><p> string department;</p><p> string title;</p><p> float wage=0;</p><p&g
122、t; float allowance=0;</p><p> float tax=0;</p><p> float real_wage=0;</p><p> cout<<"當(dāng)輸入的員工編號為-1是表示結(jié)束輸入"<<endl;</p><p> Input(&num,&n
123、ame,&age,&sex,&department,&title,&wage,&allowance);</p><p> while(num!=-1)</p><p><b> {</b></p><p> Worker1.AddItem(num,name,age,sex,departmen
124、t,title,wage,allowance);</p><p> Worker1.Real_wage(tax,real_wage);</p><p> Worker1.Recordinfo(num,name,age,sex,department,title,wage,allowance,tax,real_wage);</p><p> Input(&
125、num,&name,&age,&sex,&department,&title,&wage,&allowance);</p><p><b> }</b></p><p> cout<<"員工工資信息已成功存儲!!!"<<endl;</p><p&
126、gt;<b> return;</b></p><p><b> }</b></p><p> /*****************************************************/</p><p> //功能:查找指定員工編號信息</p><p> void Do
127、Find() </p><p><b> {</b></p><p><b> int num;</b></p><p> cout<<"當(dāng)輸入的員工編號為-1是表示結(jié)束輸入"<<endl;</p><p><b>
128、; do{</b></p><p> cout<<"請輸入要查找的員工的編號:";</p><p><b> cin>>num;</b></p><p> if(num==-1)continue;</p><p> Worker1.Search(num);
129、</p><p> }while(num!=-1);</p><p><b> return;</b></p><p><b> }</b></p><p> /*****************************************************/</p>
130、<p> //功能:刪除指定員工編號信息</p><p> void DoDelete() </p><p><b> {</b></p><p> cout<<"當(dāng)輸入的員工編號為-1是表示結(jié)束輸入"<<endl;</p><p&g
131、t;<b> int num;</b></p><p><b> do</b></p><p><b> {</b></p><p> cout<<"請輸入要刪除的員工的編號:";</p><p><b> cin>&g
132、t;num;</b></p><p> if(num==-1)continue;</p><p> Worker1.RemoveItem(num);</p><p> cout<<"已成功刪除該員工信息!!!"<<endl;</p><p> }while(num!=-1);&l
133、t;/p><p><b> return;</b></p><p><b> }</b></p><p> /*****************************************************/</p><p> //功能:修改指定員工編號信息</p>&l
134、t;p> void DoMotify() </p><p><b> {</b></p><p> cout<<"當(dāng)輸入的員工編號為-1是表示結(jié)束輸入"<<endl;</p><p><b> int num;</b></p>&
135、lt;p><b> do</b></p><p><b> {</b></p><p> cout<<"請輸入要修改的員工的編號:";</p><p><b> cin>>num;</b></p><p> if(nu
136、m==-1)continue;</p><p> Worker1.ReplaceItem(num);</p><p> }while(num!=-1);</p><p> cout<<"已成功修改該員工信息!!!"<<endl;</p><p><b> return;</b
137、></p><p><b> }</b></p><p> /*****************************************************/</p><p> //功能:輸出全體員工信息</p><p> void List() </p>
138、<p><b> {</b></p><p> Worker1.ListL();</p><p><b> }</b></p><p> /*****************************************************/</p><p><b&
139、gt; /*主函數(shù)*/</b></p><p> int main() </p><p><b> {</b></p><p> int select;</p><p><b> char s;</b></p><p>
140、;<b> while(1)</b></p><p><b> {</b></p><p> select=Menu();</p><p> switch(select)</p><p><b> {</b></p><p><b>
141、 case 0:</b></p><p><b> s=Exit();</b></p><p> if(s=='y'||s=='Y')return 0;</p><p><b> break;</b></p><p><b> case
142、 1:</b></p><p><b> AddNew();</b></p><p><b> break;</b></p><p><b> case 2:</b></p><p> DoDelete();</p><p><
143、b> break;</b></p><p><b> case 3:</b></p><p> DoMotify();</p><p><b> break;</b></p><p><b> case 4:</b></p><p
144、><b> DoFind();</b></p><p><b> break;</b></p><p><b> case 5:</b></p><p><b> List();</b></p><p><b> break;&l
145、t;/b></p><p><b> default:</b></p><p> cout<<"無效輸入!"<<endl;</p><p><b> }</b></p><p><b> }</b></p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計_企業(yè)員工工資管理系統(tǒng)
- c課程設(shè)計企業(yè)員工工資管理系統(tǒng)
- c 課程設(shè)計-企業(yè)員工工資管理系統(tǒng)
- c課程設(shè)計企業(yè)員工工資管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(企業(yè)員工工資管理系統(tǒng))
- 員工工資管理信息系統(tǒng)課程設(shè)計
- c++課程設(shè)計---職工工資管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計--員工工資管理系統(tǒng)
- 軟件工程課程設(shè)計--員工工資管理系統(tǒng)
- 員工工資管理系統(tǒng)
- c++課程設(shè)計---職工工資管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計——員工工資管理系統(tǒng)
- c++課程設(shè)計-職工工資管理系統(tǒng)設(shè)計
- 課程設(shè)計--c++企業(yè)工資管理系統(tǒng)
- c++企業(yè)工資管理系統(tǒng)課程設(shè)計
- 課程設(shè)計c++之職工工資管理系統(tǒng)
- c++課程設(shè)計--高校職工工資管理系統(tǒng)
- c++企業(yè)工資管理系統(tǒng)課程設(shè)計
- 員工工資管理系統(tǒng)(1)
- 員工工資管理規(guī)程
評論
0/150
提交評論