c++課程設(shè)計(jì)--人員管理系統(tǒng)公司 - 副本_第1頁(yè)
c++課程設(shè)計(jì)--人員管理系統(tǒng)公司 - 副本_第2頁(yè)
c++課程設(shè)計(jì)--人員管理系統(tǒng)公司 - 副本_第3頁(yè)
c++課程設(shè)計(jì)--人員管理系統(tǒng)公司 - 副本_第4頁(yè)
c++課程設(shè)計(jì)--人員管理系統(tǒng)公司 - 副本_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精品文檔課程設(shè)計(jì)報(bào)告 課程設(shè)計(jì)題目: 人員管理系統(tǒng)公司 學(xué)生姓名:曾宏誠(chéng)班 級(jí):10210301學(xué) 號(hào):1021030102專(zhuān) 業(yè):信息管理與信息系統(tǒng)指導(dǎo)教師:黃國(guó)輝2021年11月10日目錄第一章 緒論3第二章 需求分析4第三章 總體設(shè)計(jì)5第四章 詳細(xì)設(shè)計(jì)個(gè)人負(fù)責(zé)的模塊6第五章 程序代碼個(gè)人負(fù)責(zé)的局部8第六章 系統(tǒng)程序結(jié)果11第七章 課程設(shè)計(jì)總結(jié)13第九章 參考文獻(xiàn)14 第一章 緒 論本章簡(jiǎn)單介紹公司員工管理系統(tǒng)的有關(guān)根底理論知識(shí),這是深入了解后續(xù)內(nèi)容的必要準(zhǔn)備。1公司員工管理系統(tǒng)概述1.1 管理信息系統(tǒng)的概念管理信息系統(tǒng)Management Information Systems,簡(jiǎn)稱(chēng)MI

2、S,是一個(gè)不斷開(kāi)展的新型學(xué)科,MIS的定義隨著計(jì)算機(jī)技術(shù)和通信技術(shù)的進(jìn)步也在不斷更新,在現(xiàn)階段普遍認(rèn)為MIS 是人為或計(jì)算機(jī)設(shè)備以及其他信息處理手段組成并用于管理信息的系統(tǒng)。包括以下幾個(gè)根本概念:(1) MIS的對(duì)象就是信息。信息是經(jīng)過(guò)加工的對(duì)決策者有價(jià)值的數(shù)據(jù)。信息的主要特征是來(lái)源分散,數(shù)量龐大。信息來(lái)源于生產(chǎn)第一線、社會(huì)環(huán)境、市場(chǎng)以及行政管理等部門(mén)。信息具有時(shí)間性。(2) 系統(tǒng)是由相互聯(lián)系、相互作用的假設(shè)干要素按一定的規(guī)那么組成并具有一定功能的整體。 系統(tǒng)由輸入、處理、輸出、反應(yīng)、控制等五個(gè)根本要素組成。(3) 管理信息由信息的采集、信息的傳遞、信息的儲(chǔ)存、信息的加工、信息的維護(hù)和信息的使

3、用等五個(gè)方面組成。 MIS包括計(jì)算機(jī)、網(wǎng)絡(luò)通信設(shè)備等硬件成分,也包括操作系統(tǒng)、應(yīng)用軟件包等軟件成分,并隨著計(jì)算機(jī)技術(shù)和通信技術(shù)的迅速開(kāi)展還會(huì)出現(xiàn)更多的內(nèi)容。1.2 課題背景該工程開(kāi)發(fā)的軟件為公司員工信息管理系統(tǒng)軟件,是鑒于目前公司對(duì)員工的管理越來(lái)越來(lái)要求高,員工信息呈爆炸性增長(zhǎng)的前提下,公司對(duì)員工信息管理的自動(dòng)化與準(zhǔn)確化的要求日益強(qiáng)烈的背景下構(gòu)思出來(lái)的。 目前社會(huì)上信息管理系統(tǒng)開(kāi)展飛快,各個(gè)企事業(yè)單位都引入了信息管理軟件來(lái)管理自己日益增長(zhǎng)的各種信息,商業(yè)化的員工信息管理軟件也不少.但本系統(tǒng)完全獨(dú)立開(kāi)發(fā),力求使系統(tǒng)功能簡(jiǎn)潔明了,但功能齊全且易于操作1.3 目的背景與意義員工信息管理系統(tǒng)是一個(gè)公司

4、不可缺少的局部。一個(gè)功能齊全、簡(jiǎn)單易用的信息管理系統(tǒng)不但能有效地減輕公司相關(guān)工作人員的工作負(fù)擔(dān),它的內(nèi)容對(duì)于公司的決策者和管理者來(lái)說(shuō)都至關(guān)重要。所以員工信息管理系統(tǒng)應(yīng)該能夠?yàn)橛脩?hù)提供充足的信息和快捷的查詢(xún)手段。但一直以來(lái)人們使用傳統(tǒng)人工的方式管理文件檔案、統(tǒng)計(jì)和查詢(xún)數(shù)據(jù),這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,人工的大量浪費(fèi);另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類(lèi)社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一局部,使用計(jì)算機(jī)對(duì)學(xué)校的各類(lèi)信息進(jìn)行管理,

5、具有手工管理所無(wú)法比較的優(yōu)點(diǎn).例如:檢索迅速、查詢(xún)方便、效率高、可靠性好、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、本錢(qián)低等。這些優(yōu)點(diǎn)能夠極大地提高員工信息管理的效率,也是一個(gè)單位科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。1.4 程序開(kāi)發(fā)的目標(biāo) 建立員工信息管理系統(tǒng),采用計(jì)算機(jī)對(duì)員工信息進(jìn)行管理,進(jìn)一步提高管理效益和現(xiàn)代化水平。幫助廣闊公司提高工作效率,實(shí)現(xiàn)員工信息管理工作流程的系統(tǒng)化、標(biāo)準(zhǔn)化和自動(dòng)化。 第二章 需求分析隨著信息時(shí)代的到來(lái),各行各業(yè)都需要對(duì)信息進(jìn)行有效快速的處理,當(dāng)然公司的員工管理尤其需要。有一個(gè)好的管理系統(tǒng),是任何一個(gè)公司對(duì)其業(yè)務(wù)進(jìn)行分析及平時(shí)日常管理的必要條件。在進(jìn)行管理得方法和手段方面

6、,最有效得工具就是電腦管理了。傳統(tǒng)的人力管理存在著許多無(wú)法防止的問(wèn)題,針對(duì)這些問(wèn)題需要設(shè)計(jì)出運(yùn)用計(jì)算機(jī)管理的信息系統(tǒng)。系統(tǒng)實(shí)現(xiàn)員工管理的信息記錄和存儲(chǔ),進(jìn)行全面自動(dòng)管理,大幅度提高了信息管理得效率,使得公司對(duì)員工的管理更為輕松。本應(yīng)用程序?qū)崿F(xiàn)的是Visual C+的功能,用戶(hù)進(jìn)入該程序后,可以在用戶(hù)界面進(jìn)行有效的操作。用戶(hù)開(kāi)始登錄界面后,可以在文本框中輸入信息,在此過(guò)程中,可以對(duì)員工進(jìn)行查詢(xún)、修改、增加、刪除等操作,假設(shè)系統(tǒng)處理后,根據(jù)自己的需要,用戶(hù)可以對(duì)其進(jìn)行保存。開(kāi)發(fā)工具:Microsoft Visual C+ 6.0第三章 總體設(shè)計(jì)1. 系統(tǒng)總體框架使用面向?qū)ο蟮某绦蛟O(shè)計(jì)思想進(jìn)行分析,

7、整個(gè)系統(tǒng)涉及兩大類(lèi)信息和操作,公司,人員。所以系統(tǒng)主要涉及兩個(gè)大類(lèi):公司類(lèi)Company、人員類(lèi)Person。系統(tǒng)的總體框架就是公司類(lèi),人員類(lèi)的定義;主函數(shù)中定義一個(gè)公司對(duì)象,循環(huán)顯示主菜單并根據(jù)用戶(hù)選擇調(diào)用公司類(lèi)的相應(yīng)方法(成員函數(shù))。(1)公司類(lèi)Company:考慮系統(tǒng)操作的人員信息的數(shù)量具有不確定性,所以考慮使用鏈表保存、處理人員信息。公司類(lèi)包含:所有人員信息的一個(gè)不帶頭結(jié)點(diǎn)的鏈表作為數(shù)據(jù)成員及可以對(duì)人員信息進(jìn)行增,刪,改,查詢(xún)經(jīng)營(yíng)信息,根底數(shù)據(jù)設(shè)置,數(shù)據(jù)存盤(pán),數(shù)據(jù)裝入等操作的相關(guān)模塊(Add,Delete,Modify,Query,Set,Save,Load)作為成員函數(shù)。(2)人員類(lèi)

8、Person:所有人員都具有的公共信息及操作可以使用人員類(lèi)進(jìn)行描述。由于系統(tǒng)具有4類(lèi)人員且4類(lèi)人員數(shù)據(jù),操作有所不同,如銷(xiāo)售員包含銷(xiāo)售額,而技術(shù)人員包含工作小時(shí)數(shù)且計(jì)算工資的方法不同,所以應(yīng)當(dāng)為4類(lèi)人員創(chuàng)立相應(yīng)的Person類(lèi)的派生類(lèi)。(3)為了使公司類(lèi)可以方便處理人員信息,可以考慮將公司類(lèi)確定為人員類(lèi)的友元類(lèi)或者人員類(lèi)提供公共的方法以便公司類(lèi)進(jìn)行操作。為了公司類(lèi)可以用共同方法操作人員類(lèi),可以將人員類(lèi)的方法確定為虛函數(shù)。2. 類(lèi)的層次圖Person No,Name,Duty,Earning,next,Person(),CalcSalary(),Output()Manager Sales Sal

9、esManager Technician Manager(), Amount, Amount, t,CalcSalary(), Sales(),GetAmount(), SalesManager(), Technician(),Output() SetAmount(), SetAmount(), GetT(),SetT(),CalcSalary(), CalcSalary(), CalcSalary(),Output() Output() Output()其中:1Person 類(lèi)的No-人員編號(hào),Name-人員姓名,Duty-人員類(lèi)別,Earning-工資,next-指向下一個(gè)人員的指針;Pe

10、rson 類(lèi)的CalcSalary(),Output()定義為純虛函數(shù)分別表示要計(jì)算人員工資和輸出人員信息,由于定義純虛函數(shù),所以Person是抽象類(lèi),具體計(jì)算工資,輸出人員信息由派生類(lèi)完成。2各個(gè)派生的類(lèi),包含本類(lèi)對(duì)象特有的數(shù)據(jù),Sales:Amount-銷(xiāo)售員銷(xiāo)售額,SalesManager:Amount-銷(xiāo)售經(jīng)理的總銷(xiāo)售額系統(tǒng)統(tǒng)計(jì)各個(gè)銷(xiāo)售員銷(xiāo)售額得到銷(xiāo)售經(jīng)理的總銷(xiāo)售額,Technician:t-技術(shù)人員工作小時(shí)數(shù)。Company Person *Worker,Clear(),Company(),Company(),Add(),Delete(),Modify(),Query(),Set()

11、,Save(),Load()其中:1Worker就是人員鏈表。2Clear()用于去除人員鏈表所有結(jié)點(diǎn)。3Add(),Delete(),Modify(),Query(),Set(),Save(),Load()分別表示系統(tǒng)各個(gè)功能模塊:增加人員,刪除人員,修改人員,查詢(xún)本月經(jīng)營(yíng)信息,根底數(shù)據(jù)設(shè)置,數(shù)據(jù)存盤(pán),數(shù)據(jù)裝入。第四章 詳細(xì)設(shè)計(jì)個(gè)人負(fù)責(zé)模塊我主要負(fù)責(zé)增加函數(shù)模塊。1、錄入函數(shù)(1)主函數(shù)流程(2) Company:Add()第五章 程序代碼個(gè)人負(fù)責(zé)的局部我主要負(fù)責(zé)的代碼局部有錄入函數(shù)、顯示函數(shù)和清空函數(shù),如下:1、 錄入函數(shù)代碼:#include #include #include #inc

12、lude /全局?jǐn)?shù)據(jù),對(duì)象double ManagerSalary; /經(jīng)理固定月薪double SalesManagerSalary; /銷(xiāo)售經(jīng)理固定月薪double SalesManagerPercent; /銷(xiāo)售經(jīng)理提成double SalesPercent; /銷(xiāo)售人員提成double WagePerHour; /技術(shù)人員小時(shí)工資int ID; /員工標(biāo)識(shí)(要保證唯一)class Person /員工類(lèi)protected: int No; /編號(hào) char Name20; /姓名 int Duty; /崗位 double Earning; /收入 Person *next;public

13、: Person(char ID,char *Name,int Duty) this-Duty=Duty; strcpy(this-Name,Name); this-No=ID; virtual void CalcSalary()=0; virtual void Output()=0; friend class Company;class Manager:public Person /經(jīng)理類(lèi)public: Manager(char ID,char *Name,int Duty):Person(ID,Name,Duty) void CalcSalary()Earning=ManagerSalar

14、y; void Output() CalcSalary(); coutNotNamet經(jīng)理tEarningendl; ;class SalesManager:public Person /銷(xiāo)售經(jīng)理類(lèi)private: double Amount;public: SalesManager(char ID,char *Name,int Duty):Person(ID,Name,Duty) void SetAmount(double s) Amount=s; void CalcSalary() Earning=SalesManagerSalary+Amount*SalesManagerPercent/

15、100; void Output() CalcSalary(); coutNotNamet銷(xiāo)售經(jīng)理tEarningt=T; double GetT() return t; void SetT(double T) this-t=T; void CalcSalary() Earning=WagePerHour*t; void Output() CalcSalary(); coutNotNamet技術(shù)員tttEarningAmount=Amount; double GetAmount() return Amount; void SetAmount(double Amount) this-Amount

16、=Amount; void CalcSalary() Earning=SalesPercent/100*Amount; void Output() CalcSalary(); coutNotNamet銷(xiāo)售員tAmounttEarningnext; delete Worker; Worker=p; Worker=0; void Add(); /增加人員 void Delete(); /刪除人員 void Modify(); /修改人員 void Query(); /查詢(xún)?nèi)藛T void Set(); /根底數(shù)據(jù)設(shè)置 void Save(); /數(shù)據(jù)存盤(pán)(包括根底數(shù)據(jù),人員數(shù)據(jù)) void Load

17、(); /數(shù)據(jù)裝入(包括根底數(shù)據(jù),人員數(shù)據(jù)); void Company:Clear() /去除內(nèi)存中人員數(shù)據(jù)(內(nèi)部使用) Person* p=Worker; while(p) Worker=p-next; delete p; p=Worker; void Company:Add() Person *p; /新結(jié)點(diǎn)指針 int Duty; char Name20; double Amount,T; coutn* 新增員工 *n; /輸入員工信息 ID+; coutDuty; coutName; if(Duty=3) coutAmount; else if(Duty=4) coutT; /創(chuàng)立新

18、員工結(jié)點(diǎn) switch(Duty) case 1:p=new Manager(ID,Name,Duty); break; case 2:p=new SalesManager(ID,Name,Duty); break; case 3:p=new Sales(ID,Name,Duty,Amount); break; case 4:p=new Technician(ID,Name,Duty,T); break; p-next=0; /員工結(jié)點(diǎn)參加鏈表 if(Worker) /假設(shè)已經(jīng)存在結(jié)點(diǎn) Person *p2; p2=Worker; while(p2-next) /查找尾結(jié)點(diǎn) p2=p2-nex

19、t; p2-next=p; /連接 else /假設(shè)不存在結(jié)點(diǎn)(表空) Worker=p; /連接 else if(Duty=4) coutT; void main() char c; Company a; do coutn* 公司人員管理系統(tǒng) *n; coutc; switch(c) case 1: a.Add(); break; while(c!=8);第六章 系統(tǒng)程序結(jié)果 第七章 課程設(shè)計(jì)總結(jié) 通過(guò)完本錢(qián)次面向?qū)ο蟪绦蛟O(shè)計(jì)的任務(wù),使我熟練和掌握了這學(xué)期所學(xué)的有關(guān)visual c+中的一些主要知識(shí)點(diǎn)和應(yīng)用點(diǎn),如類(lèi)的定義,類(lèi)的實(shí)現(xiàn),對(duì)象的定義,類(lèi)的繼承等等??梢运鶎W(xué)有所學(xué),所有所用,不至于自

20、己所學(xué)知識(shí)由于沒(méi)有經(jīng)歷可用過(guò)程,而放棄對(duì)它的興趣。 面向?qū)ο蟪绦蛟O(shè)計(jì)作為一門(mén)軟件設(shè)計(jì)的課程,具有極強(qiáng)的實(shí)踐性,使我加強(qiáng)了靈活應(yīng)用理論知識(shí)的能力及面向?qū)ο蟪绦蛟O(shè)計(jì)技能。 此次,應(yīng)用程序的設(shè)計(jì)和創(chuàng)立,經(jīng)歷了平時(shí)在課堂中和考試中,決不會(huì)有的重重難題和問(wèn)題。而這些問(wèn)題,又都是課本上很少提到的、更深一層的知識(shí)領(lǐng)域和應(yīng)用領(lǐng)域。這些問(wèn)題,并不是我們平時(shí)只靠課本,就可以輕易解決的。所以,鍛煉了我們面對(duì)難題,自己思索,自己探索,自己查資料發(fā)現(xiàn)問(wèn)題、解決問(wèn)題的獨(dú)斷能力。 當(dāng)然,此次任務(wù)的完成,也表達(dá)出同學(xué)之間的團(tuán)結(jié)精神。所遇種種難以解決的問(wèn)題,大家都會(huì)把它當(dāng)作共同遇到的問(wèn)題,在一起共同探討,共同發(fā)揮自己所學(xué)和所知

21、,投入式的互相幫助和解決困難。 “實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。沒(méi)有實(shí)踐,就不會(huì)發(fā)現(xiàn)和深刻體會(huì)它的真實(shí)所在。只有通過(guò)檢驗(yàn)的真理,在自己的心里,才會(huì)認(rèn)可它的真實(shí)性。面向?qū)ο蟪绦蛟O(shè)計(jì)的完成,使我們懂得了真理的重要性,理論和實(shí)際的相結(jié)合,才能真正把握所學(xué)和所掌握的知識(shí)。 理論的擁有并不能代表我們的實(shí)力和能力,一切的事件和其成功都是理論和實(shí)踐的結(jié)合。總之,我們學(xué)習(xí)和掌握的知識(shí),只有通過(guò)實(shí)際應(yīng)用,才能真正的理解和掌握,才能更好的去應(yīng)用。 第八章 源代碼 /*本程序有關(guān)的兩個(gè)數(shù)據(jù)文件:base.txt根底數(shù)據(jù)文件(必須存在,且按規(guī)定格式保存)person.txt人員信息文件(可選)*/#include #in

22、clude #include #include /全局?jǐn)?shù)據(jù),對(duì)象double ManagerSalary; /經(jīng)理固定月薪double SalesManagerSalary; /銷(xiāo)售經(jīng)理固定月薪double SalesManagerPercent; /銷(xiāo)售經(jīng)理提成double SalesPercent; /銷(xiāo)售人員提成double WagePerHour; /技術(shù)人員小時(shí)工資int ID; /員工標(biāo)識(shí)(要保證唯一)class Person /員工類(lèi)protected: int No; /編號(hào) char Name20; /姓名 int Duty; /崗位 double Earning; /收入

23、Person *next;public: Person(char ID,char *Name,int Duty) this-Duty=Duty; strcpy(this-Name,Name); this-No=ID; virtual void CalcSalary()=0; virtual void Output()=0; friend class Company;class Manager:public Person /經(jīng)理類(lèi)public: Manager(char ID,char *Name,int Duty):Person(ID,Name,Duty) void CalcSalary()E

24、arning=ManagerSalary; void Output() CalcSalary(); coutNotNamet經(jīng)理tEarningendl; ;class SalesManager:public Person /銷(xiāo)售經(jīng)理類(lèi)private: double Amount;public: SalesManager(char ID,char *Name,int Duty):Person(ID,Name,Duty) void SetAmount(double s) Amount=s; void CalcSalary() Earning=SalesManagerSalary+Amount*S

25、alesManagerPercent/100; void Output() CalcSalary(); coutNotNamet銷(xiāo)售經(jīng)理tEarningt=T; double GetT() return t; void SetT(double T) this-t=T; void CalcSalary() Earning=WagePerHour*t; void Output() CalcSalary(); coutNotNamet技術(shù)員tttEarningAmount=Amount; double GetAmount() return Amount; void SetAmount(double

26、Amount) this-Amount=Amount; void CalcSalary() Earning=SalesPercent/100*Amount; void Output() CalcSalary(); coutNotNamet銷(xiāo)售員tAmounttEarningnext; delete Worker; Worker=p; Worker=0; void Add(); /增加人員 void Delete(); /刪除人員 void Modify(); /修改人員 void Query(); /查詢(xún)?nèi)藛T void Set(); /根底數(shù)據(jù)設(shè)置 void Save(); /數(shù)據(jù)存盤(pán)(包括根

27、底數(shù)據(jù),人員數(shù)據(jù)) void Load(); /數(shù)據(jù)裝入(包括根底數(shù)據(jù),人員數(shù)據(jù)); void Company:Clear() /去除內(nèi)存中人員數(shù)據(jù)(內(nèi)部使用) Person* p=Worker; while(p) Worker=p-next; delete p; p=Worker; void Company:Add() Person *p; /新結(jié)點(diǎn)指針 int Duty; char Name20; double Amount,T; coutn* 新增員工 *n; /輸入員工信息 ID+; coutDuty; coutName; if(Duty=3) coutAmount; else if(

28、Duty=4) coutT; /創(chuàng)立新員工結(jié)點(diǎn) switch(Duty) case 1:p=new Manager(ID,Name,Duty); break; case 2:p=new SalesManager(ID,Name,Duty); break; case 3:p=new Sales(ID,Name,Duty,Amount); break; case 4:p=new Technician(ID,Name,Duty,T); break; p-next=0; /員工結(jié)點(diǎn)參加鏈表 if(Worker) /假設(shè)已經(jīng)存在結(jié)點(diǎn) Person *p2; p2=Worker; while(p2-nex

29、t) /查找尾結(jié)點(diǎn) p2=p2-next; p2-next=p; /連接 else /假設(shè)不存在結(jié)點(diǎn)(表空) Worker=p; /連接 void Company:Delete() /刪除人員 int No; coutn* 刪除員工 *n; coutNo; /查找要?jiǎng)h除的結(jié)點(diǎn) Person *p1,*p2; p1=Worker; while(p1) if(p1-No=No) break; else p2=p1; p1=p1-next; /刪除結(jié)點(diǎn) if(p1!=NULL)/假設(shè)找到結(jié)點(diǎn),那么刪除 if(p1=Worker) /假設(shè)要?jiǎng)h除的結(jié)點(diǎn)是第一個(gè)結(jié)點(diǎn) Worker=p1-next; del

30、ete p1; else /假設(shè)要?jiǎng)h除的結(jié)點(diǎn)是后續(xù)結(jié)點(diǎn) p2-next=p1-next; delete p1; cout找到并刪除n; else /未找到結(jié)點(diǎn) cout未找到!n;void Company:Modify() int No,Duty; char Name20; double Amount,T; coutn* 修改員工 *n; coutNo; /查找要修改的結(jié)點(diǎn) Person *p1,*p2; p1=Worker; while(p1) if(p1-No=No) break; else p2=p1; p1=p1-next; /修改結(jié)點(diǎn) if(p1!=NULL)/假設(shè)找到結(jié)點(diǎn) p1-O

31、utput(); coutDuty; if(p1-Duty!=Duty) /假設(shè)崗位發(fā)生變動(dòng) /修改其它數(shù)據(jù) coutName; if(Duty=3) coutAmount; else if(Duty=4) coutT; /創(chuàng)立新員工結(jié)點(diǎn) Person *p3; switch(Duty) case 1:p3=new Manager(p1-No,Name,Duty); break; case 2:p3=new SalesManager(p1-No,Name,Duty); break; case 3:p3=new Sales(p1-No,Name,Duty,Amount); break; case

32、 4:p3=new Technician(p1-No,Name,Duty,T); break; /員工結(jié)點(diǎn)替換到鏈表 p3-next=p1-next; if(p1=Worker) /假設(shè)要替換的結(jié)點(diǎn)是第一個(gè)結(jié)點(diǎn) Worker=p3; else /假設(shè)要?jiǎng)h除的結(jié)點(diǎn)是后續(xù)結(jié)點(diǎn) p2-next=p3; /刪除原來(lái)的員工結(jié)點(diǎn) delete p1; else /假設(shè)崗位沒(méi)有變動(dòng) coutp1-Name; if(Duty=3) coutAmount; (Sales *)p1)-SetAmount(Amount); else if(Duty=4) coutT; (Technician *)p1)-SetT(

33、T); cout修改成功!n; else /未找到結(jié)點(diǎn) cout未找到!n;void Company:Query() coutDuty=3)sum+=(Sales *)p)-GetAmount(); p=p-next; p=Worker; double sum2=0; /工資總和 while(p) if(p-Duty=2)(SalesManager *)p)-SetAmount(sum); p-Output(); sum2+=p-Earning; p=p-next; cout本月盈利:sum*0.20-sum2endl; cout(按照20利潤(rùn)計(jì)算)n;void Company:Set() c

34、outn* 設(shè)置根底數(shù)據(jù) *n; cout經(jīng)理固定月薪ManagerSalaryManagerSalary; cout銷(xiāo)售經(jīng)理固定月薪SalesManagerSalarySalesManagerSalary; cout銷(xiāo)售經(jīng)理提成SalesManagerPercentSalesManagerPercent; cout銷(xiāo)售人員提成SalesPercentSalesPercent; cout技術(shù)人員小時(shí)工資WagePerHourWagePerHour; cout=IDID;void Company:Save() /數(shù)據(jù)存盤(pán)(包括根底數(shù)據(jù),人員數(shù)據(jù)),均采用文本文件 ofstream fPerson

35、,fBase; char c; coutc; if(toupper(c)!=Y)return; /保存人員編號(hào)、姓名、崗位 fPerson.open(person.txt,ios:out); Person *p=Worker; while(p) fPersonNotNametDutyDuty=3) fPersonGetAmount()Duty=4) fPersonGetT()t; fPersonnext; fPerson.close(); /保存根底數(shù)據(jù) fBase.open(base.txt,ios:out); fBase經(jīng)理固定月薪tManagerSalaryendl; fBase銷(xiāo)售經(jīng)理

36、固定月薪tSalesManagerSalaryendl; fBase銷(xiāo)售經(jīng)理提成tSalesManagerPercentendl; fBase銷(xiāo)售人員提成tSalesPercentendl; fBase技術(shù)人員小時(shí)工資tWagePerHourendl; fBaseIDtIDendl; fPerson.close(); coutbufManagerSalary; /經(jīng)理固定月薪 fBasebufSalesManagerSalary; /銷(xiāo)售經(jīng)理固定月薪 fBasebufSalesManagerPercent; /銷(xiāo)售經(jīng)理提成 fBasebufSalesPercent; /銷(xiāo)售人員提成 fBase

37、bufWagePerHour; /技術(shù)人員小時(shí)工資 fBasebufID; /員工標(biāo)識(shí) fBase.close(); /去除內(nèi)存人員數(shù)據(jù) Clear(); /人員數(shù)據(jù)數(shù)據(jù)裝入 ifstream fPerson; Person *p=Worker; int No; char Name20; int Duty; double Amount,T; fPerson.open(person.txt,ios:in); /讀一條記錄 fPersonNoNameDuty; if(Duty=3)fPersonAmount; else if(Duty=4)fPersonT; while(fPerson.good() /創(chuàng)立員工結(jié)點(diǎn) switch(Duty) case 1:p=new Manager(No,Name,Duty); break; case 2:p=new SalesManager(No,Name,Duty); break; case 3:p=new

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論