




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 河南城建學院面向?qū)ο笳Z言程序設(shè)計課程設(shè)計任務(wù)書班 級 0814102 專 業(yè) 計算機科學與技術(shù) 姓 名 李 二 萌 學 號 081410219 課程名稱 面向?qū)ο笳Z言程序設(shè)計 設(shè)計名稱 高校工資管理系統(tǒng) 指導(dǎo)教師 耿永軍 劉榮輝 周二強 計算機科學與工程系2012年6月20日摘要高校工資管理系統(tǒng)是企業(yè)管理中的一個重要內(nèi)容,隨著時代的進步,企業(yè)人員數(shù)量也不斷增加、分工的不斷細化、各個行業(yè)間聯(lián)系的不斷密切,對人事管理的要求也不斷提高。如何管理好企業(yè)內(nèi)部員工的信息,對員工實施高效的宏觀管理,對企事業(yè)單位的人員構(gòu)成情況和發(fā)展趨勢進行統(tǒng)計、規(guī)劃、分析并制定切實可行的人事政策,是一項繁重而艱巨的任務(wù)。
2、本文是采用C+作為前臺開發(fā)工具,SQL Server2000作為后臺數(shù)據(jù)庫平臺的基于C/S的兩層模式的管理系統(tǒng)。旨在實現(xiàn)對現(xiàn)有的企業(yè)人事管理工作中遇到的各種情況和大量數(shù)據(jù)在數(shù)據(jù)庫存儲的基礎(chǔ)上,提供信息咨詢,信息檢索,信息存取等服務(wù),在此論文中主要實現(xiàn)對存儲在數(shù)據(jù)庫中的數(shù)據(jù)表進行這些簡單的操作,為提高企業(yè)人事管理效率提供了行之有效的手段。 關(guān)鍵詞:VC+6.0;高校工資管理目錄目錄1第一章開發(fā)環(huán)境和開發(fā)工具11.1C/C+語言簡介11.2 開發(fā)背景11.3 開發(fā)環(huán)境1第二章 算法思想22.1 系統(tǒng)需求分析22.2 系統(tǒng)總體設(shè)計22.2.1 系統(tǒng)設(shè)計目標22.2.2 開發(fā)設(shè)計思想32.2.3 系統(tǒng)
3、功能模塊設(shè)計32.3 面向?qū)ο笏枷朊枋?第三章面向?qū)ο髮崿F(xiàn)63.1 結(jié)構(gòu)63.2 程序模塊63.3 各類之間的關(guān)系63.4 源程序代碼6第四章測試與分析194.1 測試數(shù)據(jù)選擇194.2 測試結(jié)果分析19總 結(jié)21心得體會22參考文獻23 第一章 開發(fā)環(huán)境和開發(fā)工具1.1 C/ C +語言簡介也可以讓各種組件方便的轉(zhuǎn)變?yōu)榛赪eb的應(yīng)用,并且能夠通過Internet被各種系統(tǒng)或是其他開發(fā)語言所開發(fā)的應(yīng)用調(diào)用。1.2 開發(fā)背景 隨著科學技術(shù)的不斷發(fā)展,計算機科學日漸成熟,其強大的功能已為人們所深刻認識,它己進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。采用計算機進行信息化管理已成為衡量企業(yè)管理
4、科學化和現(xiàn)代化的重要標志,而人事管理的全面自動化、信息化則是其中重要的組成部分。人事管理的好壞對于企業(yè)的決策者和管理者來說都至關(guān)重要,在很大程度上影響著企業(yè)的經(jīng)濟效益和社會效益。因此,本文所研究的人事管理信息系統(tǒng)具有一定的使用價值和現(xiàn)實意義。1.3 開發(fā)環(huán)境本文所采用的開發(fā)環(huán)境主要是基于C+在Microsoft Visual C+平臺上開發(fā)的系統(tǒng),界面友好,功能強大,調(diào)試也很方便。這是微軟出的一個C語言集成開發(fā)環(huán)境(IDE),主要有:VC+6.0、VS2005VS2008VS2010等,分為企業(yè)版和學生版等。對于初學者VC+6.0是比較容易上手的,但其對標準支持的不好可能使人養(yǎng)成不良的編程習慣
5、。第二章 面向?qū)ο笏枷?.1 系統(tǒng)需求分析C+不僅是一般程序設(shè)計(特別是非數(shù)值性程序設(shè)計)的基礎(chǔ),而且是設(shè)計和實現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)及其他系統(tǒng)程序的重要基。本實驗中,對不同的對象采取不同的存儲結(jié)構(gòu),對參賽學校采取鏈式結(jié)構(gòu),而對于參賽運動員采取一個結(jié)構(gòu)就可以了。本程序中主要用到線性表的一些基本操作,將各學校信息,運動員信息,項目信息都構(gòu)造成線性表。具體功能通過主函數(shù)分別調(diào)用各函數(shù)實現(xiàn)。參考本實驗的功能要求,本程序分為七個模塊:主函數(shù)、信息錄入函數(shù)、信息統(tǒng)計函數(shù)、信息查詢函數(shù),信息刪除函數(shù)、存盤函數(shù)、讀盤函數(shù)。信息錄入函數(shù)有包括教師信息錄入,實驗人員信息錄入,行政人員信息錄入,教師兼實
6、驗人員信息錄入,教師兼行政人員信息錄入。信息統(tǒng)計不再結(jié)果中顯示出來,為了信息查詢。信息查詢函數(shù)包括按編號查詢、按人員姓名查詢。信息刪除函數(shù)是刪除無關(guān)人員信息。2.2 系統(tǒng)總體設(shè)計2.2.1 系統(tǒng)設(shè)計目標 本文研究開發(fā)的人事管理信息系統(tǒng)用于支持企業(yè)完成勞動人事管理工作,有如下三個方面的目標: 支持企業(yè)實現(xiàn)規(guī)范化的管理。支持企業(yè)高效率完成勞動人事管理的日常業(yè)務(wù),包括新員工加入時人事檔案的建立、老員工轉(zhuǎn)出、辭職、退休等。 支持企業(yè)進行勞動人事管理及其相關(guān)方面的科學決策,如企業(yè)領(lǐng)導(dǎo)根據(jù)現(xiàn)有的員工數(shù)目決定招聘人數(shù)等。2.2.2 開發(fā)設(shè)計思想 基于以上系統(tǒng)設(shè)計目標,本文在開發(fā)人事管理信息系統(tǒng)時遵循了以下開
7、發(fā)設(shè)計思想: 采用現(xiàn)有的軟硬件環(huán)境及先進的管理系統(tǒng)開發(fā)方案,從而達到充分利用現(xiàn)有資源,提高系統(tǒng)開發(fā)水平和應(yīng)用效果的目的。盡量達到操作過程中的直觀、方便、實用、安全等要求。系統(tǒng)采用C/S體系結(jié)構(gòu),Clinet(客戶端)負責提供表達邏輯、顯示用戶界面信息、訪問數(shù)據(jù)庫服務(wù)器;Server(服務(wù)器端)則用于提供數(shù)據(jù)服務(wù)。(寫出三層設(shè)計思想)系統(tǒng)采用模塊化程序設(shè)計方法,既便于系統(tǒng)功能的各種組合和修改,又便于未參與開發(fā)的技術(shù)維護人員補充、維護。系統(tǒng)應(yīng)具備數(shù)據(jù)庫維護功能,及時根據(jù)用戶需求進行數(shù)據(jù)的添加、刪除、修改、備份等操作。2.2.3 系統(tǒng)功能模塊設(shè)計 本系統(tǒng)有:信息錄入、信息查詢、信息刪除、信息修改、數(shù)
8、據(jù)存盤和數(shù)據(jù)裝入。得到如圖3-1所示的系統(tǒng)功能模塊圖。高校工資管理系統(tǒng)信息錄入信息查詢信息刪除按編號查詢信息修改數(shù)據(jù)存盤數(shù)據(jù)裝入系統(tǒng)功能模塊圖2.3 面向?qū)ο笏枷朊枋霰緦嶒炛?,通過構(gòu)造類來實現(xiàn)功能,先構(gòu)造一個person類,里面是人員的基本信息,然后通過繼承person類,來實現(xiàn)teacher、assistant、manager、tercher_assistant和manager_teacher類。程序中還有一個college類,里面包含 void Add(); /增加職工void Delete(); /刪除職工void Modify(); /修改職工void Print(); /輸出職工信息
9、void Save(); /職工信息存盤void Load(); /職工信息裝入六個主要函數(shù),通過這些函數(shù)實現(xiàn)程序需要求的功能。并且college類是person的友元類。第三章 面向?qū)ο髮崿F(xiàn)3.1 結(jié)構(gòu)高校工資管理系統(tǒng)是一個數(shù)據(jù)庫應(yīng)用系統(tǒng),高校人員的所有信息都保存在數(shù)據(jù)庫中。 3.2程序模塊 程序主要有六個模塊:信息錄入、信息查詢、信息刪除、信息修改、數(shù)據(jù)存盤和數(shù)據(jù)裝入。3.3 各類之間的關(guān)系 程序開始建立了一個Person類,然后有在Person類的基礎(chǔ)上繼承了Teacher類、Assistant類和Manager類。而Teacher_ Assistant類是繼承于Teacher類和Ass
10、istant類上,Manager_Teacher類是繼承于Manager類和Teacher類上。 由于Teacher類、Assistant類和Manager類是繼承于Person類,他們也是public繼承,因此Person類里面的protected類型的變量子類是可以用的。子類從中繼承了No(編號)、Name20(姓名)、Duty(職位)、Salary(基本工資)和Person類next指針。而Teacher_ Assistant類和Manager_Teacher類是兩個父類,多繼承。 程序還有一個友元類,College類是Person類的友元類。3.4 源程序代碼#include#incl
11、ude #includeusing namespace std;#include class Person /人員類(抽象類)protected:int No; /編號char Name20; /姓名int Duty; /人員類別標志(0:教師,1:實驗員,2:行政人員,3:教師兼實驗員,4:行政兼教師)double Salary; /基本工資Person *next; /指針域public:Person() /基類構(gòu)造next=NULL; /指針域設(shè)置為空virtual Person() /基類虛析構(gòu)virtual void Input()=0; /從鍵盤輸入數(shù)據(jù)virtual void I
12、nput(ifstream& ifs)=0; /從文件輸入數(shù)據(jù)virtual void Output()=0; /向屏幕輸出數(shù)據(jù)virtual void Output(ofstream& ofs)=0; /向文件輸出數(shù)據(jù)virtual double Incoming()=0; /計算收入friend class College;class Teacher:virtual public Person /教師類protected:int Hours; /教師課時public: /為對象設(shè)置數(shù)據(jù)分為兩種途徑,通過1)構(gòu)造函數(shù),2)一般成員函數(shù)/分開可以使得程序中應(yīng)用更加靈活/本程序采用:缺省構(gòu)造+I
13、nput()Teacher() /構(gòu)造函數(shù),初始化部分數(shù)據(jù)Duty=0; Salary=800;void Input() /鍵盤補充輸入其它數(shù)據(jù)coutNo;coutName;coutHours; void Input(ifstream& ifs)ifsNoNameDutyHours; void Output()coutNotNametDutytHourst工資:Incoming()endl;void Output(ofstream& ofs)ofsNotNametDutytHourst工資:Incoming()endl;double Incoming()return Salary+(Hour
14、s-120)*20;class Assistant:virtual public Person /實驗員protected:int Allowance;int Hours;public:Assistant()Duty=1; Salary=650;Allowance=150;void Input()coutNo;coutName;coutHours;void Input(ifstream& ifs) ifsNoNameDutyHours; void Output()coutNotNametDutytHourst工資:Incoming()endl;void Output(ofstream& ofs
15、)ofsNotNametDutytHourst工資:Incoming()endl;double Incoming()return Salary+Allowance+(Hours-70)*20;class Manager:virtual public Person /行政人員protected:int Allowance;public:Manager() Duty=2;Salary=750;Allowance=250;void Input()coutNo;coutName;void Input(ifstream& ifs) ifsNoNameDuty; void Output()coutNotN
16、ametDutyt工資:Incoming()endl;void Output(ofstream& ofs)ofsNotNametDutyt工資:Incoming()endl;double Incoming()return Salary+Allowance;class Teacher_Assistant:public Teacher,public Assistant /教師兼實驗員public:Teacher_Assistant()Duty=3;Teacher:Salary=800;void Input()coutNo;coutName;coutTeacher:Hours;coutAssista
17、nt:Hours;void Input(ifstream& ifs) ifsNoNameDutyTeacher:HoursAssistant:Hours; void Output()coutNotNametDutytTeacher:HourstAssistant:Hourst工資:Incoming()endl;void Output(ofstream& ofs)ofsNotNametDutytTeacher:HourstAssistant:Hourst工資:Incoming()endl;double Incoming()return Salary+(Teacher:Hours-120)*20+
18、Allowance+(Assistant:Hours-70)*20;class Manager_Teacher:public Manager,public Teacher /行政人員兼教師public:Manager_Teacher()Duty=4;Manager:Salary=750;void Input()coutNo;coutName;coutHours;void Input(ifstream& ifs) ifsNoNameDutyHours; void Output()coutNotNametDutytHourst工資:Incoming()endl;void Output(ofstre
19、am& ofs)ofsNotNametDutytHourst工資:Incoming()endl;double Incoming()return Salary+Allowance+(Hours-120)*20;class Collegeprivate:Person *PL;void Clear();int College:Find(int ID,Person *p1,Person *p2);public:College(); /構(gòu)造College(); /析構(gòu)void Add(); /增加職工void Delete(); /刪除職工void Modify(); /修改職工void Print()
20、; /輸出職工信息void Save(); /職工信息存盤void Load(); /職工信息裝入;College:College() /構(gòu)造函數(shù)(創(chuàng)建1個頭結(jié)點的鏈表)Person *p=new Teacher;PL=p;coutnext;delete p;p=PL;PL=NULL;void College:Add() /增加職工coutnext)p=p-next;int ch;coutch;/創(chuàng)建新結(jié)點,錄入數(shù)據(jù),連接到鏈表Person *pt;switch(ch) case 0: pt=new Teacher; pt-Input();p-next=pt; break; case 1: p
21、t=new Assistant; pt-Input();p-next=pt; break; case 2: pt=new Manager; pt-Input();p-next=pt; break; case 3: pt=new Teacher_Assistant; pt-Input();p-next=pt; break; case 4: pt=new Manager_Teacher; pt-Input();p-next=pt;break; default: return;void College:Clear() /清除所有的職工結(jié)點(僅保留頭結(jié)點)Person *p=PL-next;while
22、(p)PL-next=p-next;delete p;p=PL-next;/查找職工結(jié)點(返回1-找到,0-未找到.結(jié)點指針由p1返回,p2為前看指針)int College:Find(int ID,Person *p1,Person *p2) *p1=PL-next;*p2=PL;while(*p1)if(*p1)-No=ID)break; /找到else *p2=*p1; /繼續(xù)查找*p1=(*p1)-next;return *p1?1:0;void College:Delete() /刪除職工coutn* 刪除職工 *n;int No;Person *p1,*p2;coutNo;if(!
23、Find(No,&p1,&p2)coutnext=p1-next; /連接delete p1;cout正確刪除!n;void College:Modify() /修改職工coutn* 修改職工 *n;int No;Person *p1,*p2;coutNo;if(!Find(No,&p1,&p2)coutOutput(); /輸出原來的職工信息(做提示)p1-Input(); /輸入新的職工信息(更新)cout修改完成!n;void College:Print() /輸出職工信息coutn* 職工信息表 *n;coutnext;if(!p)coutOutput();p=p-next;void
24、College:Save() /職工信息存盤ofstream f(Person.txt,ios:out); /打開文件/遍歷輸出至文件Person *p=PL-next;while(p) p-Output(f);p=p-next;f.close(); /關(guān)閉文件coutbufbufDuty;if(f)/根據(jù)人員類型創(chuàng)建新結(jié)點switch(Duty)case 0: p2=new Teacher; break;case 1: p2=new Assistant; break;case 2: p2=new Manager; break;case 3: p2=new Teacher_Assistant;
25、 break;case 4: p2=new Manager_Teacher; break;default: f.close(); return;p-next=p2;p=p-next;f.seekg(t);p-Input(f); elsebreak; /關(guān)閉文件f.close();void main()char ch;College c; /定義大學對象/顯示主菜單,接受選擇,并分支調(diào)用大學類的相應(yīng)功能的成員函數(shù)do system(pause);system(cls);coutn;cout * * * * * * * * * *n;cout * * * * * * * * * * *n;cout
26、* * *n;cout * * * *n;cout* *高校工資管理系統(tǒng)* *n;cout * * * *n;cout* * *n;cout * *1:增加職工 *n;cout* *2:刪除職工 *n;cout * *3:修改職工 *n;cout* *4:輸出職工信息(工資) *n;cout * *5:數(shù)據(jù)存盤 *n;cout* *6:數(shù)據(jù)裝入 *n;cout * *7:退出 *n;cout* *請選擇(1-7): *n;cout * * * * * * * * * * *n;coutch;system(cls);switch(ch)case 1: c.Add(); break;case 2:
27、 c.Delete();break;case 3: c.Modify();break;case 4: c.Print(); break;case 5: c.Save(); break;case 6: c.Load(); break;while(ch!=7); 第四章 測試與分析4.1 測試數(shù)據(jù)選擇(0:教師,1:實驗員,2:行政人員,3:教師兼實驗員,4:行政兼教師)編號 姓名 職務(wù) 工作時間01 Zhang3 0 20002 Li4 1 12003 Wang5 204 Zhao6 3 200 12005 Qian7 4 200 4.2 測試結(jié)果分析主菜單增加職工刪除職工修改職工 職工信息 數(shù)
28、據(jù)存盤 Person.txt文件總 結(jié)在今后的工作、學習中我將認真總結(jié)經(jīng)驗教訓(xùn),努力使自己成為一名技術(shù)過硬、工作嚴謹、思維活躍的工程人員,為提高人們的生活質(zhì)量做出更大的貢獻。 本文所述高校工資管理系統(tǒng)特色在于能輸入各個人員信息,通過輸入的人員信息來計算出人員的工資,并且可以通過編號查詢已輸入的人員信息且可修改錯誤人員信息和刪除無關(guān)人員的信息,并可將信息保存在txt文件中方便查詢。當然,這個高校工資管理系統(tǒng)也有很多不足之處,例如不能更加高效的為高校提供所需,并且多余輸入錯誤的數(shù)據(jù)不能進行判定,健壯性不好。程序在查找上也有不足,程序只能通過編號查找信息,不能通過姓名查找。 心得體會做完這個課程設(shè)計,我們的自信一下子提高了;盡管對于有些人這種程序會很簡單,可對我們C+初學者來說,已經(jīng)很不容易了。這次體驗為以后的學習計算機的我們增強了信心。享受勞動成果的滋味實在很美妙??!雖然對著電腦做程序,有點累有點熱,可是當看到勞動成果時,真是別有一番滋味在心頭??!世上無難事,只怕有心人,的確如此。做完這個程序最大的
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)蒙古自治區(qū)通遼市開魯縣2025屆初三5月中考模擬題(一)語文試題含解析
- 沈陽大學《寫作實踐(1)》2023-2024學年第一學期期末試卷
- 浙江省臺州市路橋區(qū)九校2024-2025學年初三下學期第二次質(zhì)檢生物試題含解析
- 浙江財經(jīng)大學東方學院《理解當代中國英語讀寫》2023-2024學年第一學期期末試卷
- 重慶文理學院《數(shù)字內(nèi)容安全》2023-2024學年第一學期期末試卷
- 浙江省金華市2024-2025學年初三第二學期第一次區(qū)模擬化學試題含解析
- 九江市2024-2025學年數(shù)學五年級第二學期期末復(fù)習檢測模擬試題含答案
- 邯鄲市雞澤一中年數(shù)學模擬試卷(文科)(二)
- 學校國慶節(jié)的活動總結(jié)范文(6篇)
- 車間主管崗位工作要求與職責(30篇)
- 崇尚科學反邪教主題教育PPT反對邪教主題教育宣講課件
- 三防漆外觀檢驗重點標準
- 國家義務(wù)教育質(zhì)量監(jiān)測學生相關(guān)因素調(diào)查問卷
- 賓客期望的酒店管理
- 經(jīng)典知識產(chǎn)權(quán)培訓(xùn)課件
- 小學階段數(shù)學術(shù)語英文詞匯表-橫版打印
- 餐飲食材原材料驗收標準(完整版)
- 站務(wù)一號線low培訓(xùn)
- 鍋爐安裝檢驗資料:水冷壁安裝檢查記錄
- 礦漿比重與礦漿濃度對照換算表 (1)
- 植物生理學第一章水分代謝
評論
0/150
提交評論