版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1 / 24設(shè)計(jì)題設(shè)計(jì)題目目 職職工工工工資資管理系管理系統(tǒng)設(shè)計(jì)統(tǒng)設(shè)計(jì) 2 / 24xxx 技術(shù)學(xué)院課程設(shè)計(jì)任務(wù)書(shū)技術(shù)學(xué)院課程設(shè)計(jì)任務(wù)書(shū)課程名稱(chēng)面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)課程代碼設(shè)計(jì)題目職工工資管理系統(tǒng)的設(shè)計(jì)題目序號(hào)設(shè)計(jì)時(shí)間系(院)班級(jí)一、課程設(shè)計(jì)任務(wù)(條件)一、課程設(shè)計(jì)任務(wù)(條件) 、具體技術(shù)參數(shù)(指標(biāo))、具體技術(shù)參數(shù)(指標(biāo)) 本課程設(shè)計(jì)是面向?qū)ο蟪绦蛟O(shè)計(jì)課程的后繼教學(xué)環(huán)節(jié),學(xué)好 C+語(yǔ)言就必須堅(jiān)持用面向?qū)ο蟮乃季S方式分析問(wèn)題、解決問(wèn)題,最好的方法是仿照教材編寫(xiě) C+實(shí)際應(yīng)用程序。根據(jù)教材中人事管理應(yīng)用程序框架,在此基礎(chǔ)上按要求完成以下實(shí)際應(yīng)用程序。職工工資管理系統(tǒng)課程設(shè)計(jì)題目:實(shí)現(xiàn)一個(gè)簡(jiǎn)單的
2、工資管理系統(tǒng)。系統(tǒng)的主要功能是計(jì)算職工當(dāng)月工資并存檔。公司內(nèi)有 5 種不同類(lèi)型的職工:技術(shù)人員、銷(xiāo)售人員、文秘、技術(shù)經(jīng)理和銷(xiāo)售經(jīng)理,他們的工資計(jì)算方式各不相同。技術(shù)人員的工資根據(jù)他當(dāng)月工作的小時(shí)數(shù)來(lái)定,時(shí)薪 35 元;銷(xiāo)售人員的工資則是根據(jù)本人當(dāng)月銷(xiāo)售額來(lái)確定,工資為銷(xiāo)售額的 5%;文秘有 4000 元的基本工資,獎(jiǎng)金視為當(dāng)月工作情況而定;技術(shù)經(jīng)理和銷(xiāo)售經(jīng)理都有 6000 元的固定工資,技術(shù)經(jīng)理的工作業(yè)績(jī)可分為 3 個(gè)等級(jí),每級(jí)可獲得1000 元獎(jiǎng)金,銷(xiāo)售經(jīng)理的獎(jiǎng)金由他所管理的銷(xiāo)售員的銷(xiāo)售業(yè)績(jī)而定,總銷(xiāo)售額的 2%職工工資管理系統(tǒng)的設(shè)計(jì):對(duì)于整個(gè)系統(tǒng)的設(shè)計(jì)思路是,首先,由員工輸入用戶(hù)信息,包括
3、編號(hào)、姓名和職務(wù);然后,在計(jì)算某職工的當(dāng)月工資時(shí),系統(tǒng)先從已輸入的職工信息文件中獲取職工的工作類(lèi)型,接著調(diào)用不同的處理程序進(jìn)行計(jì)算;最后將結(jié)果存檔。從用戶(hù)需求中,可以發(fā)現(xiàn) 5 種類(lèi)型的職員都可以分別設(shè)計(jì)為一個(gè)類(lèi)。首先,他們都屬于雇員,因此可以設(shè)計(jì)一個(gè)基類(lèi) employee(雇員) ,然后從中派生出 technician(技術(shù)人員)類(lèi),salesman(銷(xiāo)售人員)類(lèi)、secretary(文秘)類(lèi)。對(duì)于技術(shù)經(jīng)理和銷(xiāo)售經(jīng)理來(lái)說(shuō),他們都屬于經(jīng)理,所以設(shè)計(jì)時(shí)可以從 employee 類(lèi)中派生出一個(gè) manager(經(jīng)理)類(lèi)作為 techmanager(技術(shù)經(jīng)理)和salesman(銷(xiāo)售經(jīng)理)類(lèi)的父類(lèi)。而
4、經(jīng)理類(lèi)本身并不對(duì)應(yīng)實(shí)際的員工類(lèi)型,由于技術(shù)經(jīng)理有技術(shù)人員和經(jīng)理的雙重特點(diǎn),因此 techmanager 類(lèi)同時(shí)繼承 technician 類(lèi)和 manger 類(lèi);銷(xiāo)售經(jīng)理有銷(xiāo)售人員和經(jīng)理的雙重特點(diǎn),因此 salesmanager 類(lèi)同時(shí)繼承 salesman 類(lèi)和 manager 類(lèi)。根據(jù)用戶(hù)需要 employee 類(lèi)應(yīng)該擁有的屬性有:編號(hào)、姓名、職務(wù)、月份和工資。Employee 類(lèi)的服務(wù)可以包括 info() 、 search() 、countSalary() 、recordInfo()和 recordSalary() 。其中,info()函數(shù)用于接收用戶(hù)輸入的職工信息;search()函
5、數(shù)用來(lái)根據(jù)職工名查找職工信息;countSalary()函數(shù)為工資計(jì)算函數(shù),但在基類(lèi)中為空,原因是各類(lèi)人員的工資計(jì)算方法不同,無(wú)法在基類(lèi)中統(tǒng)一定義,必須在派生類(lèi)中分別定義。recordInfo()函數(shù)和 recordSalary()函數(shù)分別是職工信息和職工工資的記錄函數(shù),分別將信息存入文件 info.txt 和 salary.txt。具體的基類(lèi)和派生類(lèi)的定義如下圖:3 / 24二、對(duì)課程設(shè)計(jì)成果的要求(包括課程設(shè)計(jì)說(shuō)明書(shū)、圖紙、圖表、實(shí)物等軟硬件要求)(1)分析職工工資管理系統(tǒng)程序結(jié)構(gòu): 畫(huà)出程序粗略的流程圖和各個(gè)模塊的詳細(xì)流程圖,每個(gè)功能模塊用文字說(shuō)明他們的功能(與對(duì)應(yīng)流程圖放在一起) ;(
6、2)對(duì)你已經(jīng)實(shí)現(xiàn)的功能(修改的、新編寫(xiě)的)做詳細(xì)的說(shuō)明, 并附上流程圖及程序清單。(3)自己對(duì)該職工工資管理系統(tǒng)的進(jìn)一步設(shè)想;(4)對(duì)于有設(shè)想但最終未實(shí)現(xiàn)的功能的大致編程思路的闡述;(5)論述在設(shè)計(jì)過(guò)程中遇到的并且對(duì)你具有啟發(fā)性的問(wèn)題。(6)嚴(yán)禁抄襲,發(fā)現(xiàn)雷同,雙方扣分嚴(yán)禁抄襲,發(fā)現(xiàn)雷同,雙方扣分。三、課程設(shè)計(jì)工作進(jìn)度計(jì)劃:周一、二:教師布置任務(wù),講解本課設(shè)模塊。畫(huà)出主程序粗略的流程圖和各個(gè)模塊的詳細(xì)流程圖。設(shè)計(jì)程序及調(diào)試程序。周三、四:設(shè)計(jì)程序及調(diào)試程序。同時(shí)著手寫(xiě)報(bào)告。周五:完成設(shè)計(jì),提交報(bào)告,接受教師考評(píng)。四、主要參考資料(1) 面向?qū)ο蟪绦蛟O(shè)計(jì) ,鄭莉,清華大學(xué)出版社, (2) 面向?qū)?/p>
7、象程序設(shè)計(jì) C+語(yǔ)言,朱戰(zhàn)立等編 西安電子科技大學(xué)出版社(3) 面向?qū)ο蟪绦蛟O(shè)計(jì)-Visual C+,劉斌等編, 清華大學(xué)出版社 (4) 面向?qū)ο蟪绦蛟O(shè)計(jì)-C+語(yǔ)言描述, Richard Johnsonbaugh(美)等著,蔡宇輝等譯,機(jī)械工業(yè)出版社, 20034 / 24目錄目錄1概述:概述:.51.1基本功能.51.2拓展功能.52 2課題分析課題分析.62.1 類(lèi)的設(shè)計(jì).6 2.2 類(lèi)的實(shí)現(xiàn) .63詳細(xì)設(shè)計(jì)說(shuō)明詳細(xì)設(shè)計(jì)說(shuō)明.73.1程序主界面.73.2 方案.73.3程序描述(輸入INPUT) .94課程設(shè)計(jì)總結(jié)課程設(shè)計(jì)總結(jié).125軟件使用說(shuō)明軟件使用說(shuō)明.126附錄(參考文獻(xiàn),原代碼:
8、)附錄(參考文獻(xiàn),原代碼:).136.1參考文獻(xiàn):.136.2原代碼.135 / 241 概述:概述:1.1 基本功能基本功能實(shí)現(xiàn)一個(gè)簡(jiǎn)單的工資管理系統(tǒng)。系統(tǒng)的主要用來(lái)計(jì)算職工當(dāng)月工資并存檔。由于公司內(nèi)有 5 種不同類(lèi)型的職工:技術(shù)人員、銷(xiāo)售人員、文秘、技術(shù)經(jīng)理和銷(xiāo)售經(jīng)理,他們的工資計(jì)算方式各不相同。所以,此系統(tǒng)的基本功能是:首先,由員工輸入用戶(hù)信息(包括編號(hào)、姓名和職務(wù);然后,計(jì)算某職工的當(dāng)月工資(系統(tǒng)先從已輸入的職工信息文件中獲取職工的工作類(lèi)型;接著調(diào)用不同的處理程序進(jìn)行計(jì)算) ;最后,可以選擇將結(jié)果(所有員工的編號(hào)、姓名、職位、工資等信息)存檔。1.2 拓展功能拓展功能1.設(shè)定好 5 種
9、職位各不相同的工資計(jì)算方式:技術(shù)人員的工資根據(jù)他當(dāng)月工作的小時(shí)數(shù)來(lái)定,時(shí)薪 35 元;銷(xiāo)售人員的工資則是根據(jù)本人當(dāng)月銷(xiāo)售額來(lái)確定,工資為銷(xiāo)售額的 5%;文秘有 4000 元的基本工資,獎(jiǎng)金視為當(dāng)月工作情況而定;技術(shù)經(jīng)理和銷(xiāo)售經(jīng)理都有 6000 元的固定工資,技術(shù)經(jīng)理的工作業(yè)績(jī)可分為 3 個(gè)等級(jí),PS:每級(jí)可獲得 1000 元獎(jiǎng)金(¥1000、¥2000、¥3000) ;銷(xiāo)售經(jīng)理的獎(jiǎng)金由他所管理的銷(xiāo)售員的銷(xiāo)售業(yè)績(jī)而定,總銷(xiāo)售額的 2%。 2.添加某個(gè)職工信息的查詢(xún)功能:只要輸入一個(gè)已經(jīng)存在數(shù)據(jù)庫(kù)內(nèi)的雇員名字,即可查到該雇員的編號(hào)、姓名、職位和工資的信息。3.清屏功能:為了保護(hù)雇員個(gè)人信息不外露。
10、4.警報(bào)功能: 在查詢(xún)職員工資信息的時(shí)候,會(huì)發(fā)出警報(bào)音“滴”的一聲。5.退出確定功能退出程序時(shí),會(huì)讓用戶(hù)再次確定是否真的要退出的界面。6 / 24Employee 類(lèi)Techmanager 類(lèi)Technician 類(lèi)Manager 類(lèi)Salesman 類(lèi)Secretary 類(lèi)2 2 課題分析課題分析2.1 類(lèi)的設(shè)計(jì)類(lèi)的設(shè)計(jì)從用戶(hù)需求中,可以發(fā)現(xiàn) 5 種類(lèi)型的職員都可以分別設(shè)計(jì)為一個(gè)類(lèi)。首先,他們都屬于雇員,因此可以設(shè)計(jì)一個(gè)基類(lèi) employee(雇員) ,然后從中派生出 technician(技術(shù)人員)類(lèi),salesman(銷(xiāo)售人員)類(lèi)、secretary(文秘)類(lèi)、techmanager(技
11、術(shù)經(jīng)理)類(lèi)和manager(銷(xiāo)售經(jīng)理)類(lèi)。根據(jù)用戶(hù)需要 employee 類(lèi)應(yīng)該擁有的屬性有:編號(hào)、姓名、職務(wù)、月份和工資。Employee 類(lèi)的服務(wù)可以包括 input() ,print() ,find() ,save() 。其中,input()函數(shù)用于接收用戶(hù)輸入的職工信息;print()函數(shù)用于輸出用戶(hù)輸入的職工信息;find()函數(shù)用來(lái)根據(jù)職工名查找職工信息;save()函數(shù)為將職工信息寫(xiě)入文本。由于各類(lèi)人員的工資計(jì)算方法不同,無(wú)法在基類(lèi)中統(tǒng)一定義,必須在派生類(lèi)中分別定義。2.2 類(lèi)的實(shí)現(xiàn)類(lèi)的實(shí)現(xiàn) class Technician:public Employee /技術(shù)員類(lèi)(公有繼承雇
12、員類(lèi)) public: void input() cout技術(shù)員的; Employee:input(); coutworktime; void print() pay=worktime*hourpay; Employee:print(); void find() pay=worktime*hourpay; Employee:find(); void save() pay=worktime*hourpay; 其他類(lèi),類(lèi)似形成。 Employee:save(); protected: double worktime; /工作時(shí)間(小時(shí));7 / 24輸入用戶(hù)信息,包括編號(hào)、姓名和職務(wù)從已輸入的職工
13、信息文件中獲取職工的工作類(lèi)型調(diào)用不同的處理程序進(jìn)行查詢(xún),職員信息將結(jié)果存檔開(kāi)始開(kāi)始3 詳細(xì)設(shè)計(jì)說(shuō)明詳細(xì)設(shè)計(jì)說(shuō)明3.1 程序主界面程序主界面圖表 1 主菜單目錄3.2方案方案在明確了整個(gè)程序基本的功能8 / 24輸入用戶(hù)信息,包括編號(hào)、姓名和職務(wù)從已輸入的職工信息文件中獲取職工的信息調(diào)用不同的處理程序進(jìn)行查詢(xún),職員信息將結(jié)果存檔開(kāi)始開(kāi)始目的后,接著,便是思考如何具體實(shí)現(xiàn):?jiǎn)栴} 1:存入的數(shù)據(jù)放在哪里?const int n1=1,n2=1,n3=1,n4=1,n5=1; /*定義公司各類(lèi)職工人數(shù)(可修改) (n1:技術(shù)員人數(shù);n2:經(jīng)理人數(shù);n3:銷(xiāo)售員人數(shù);n4:銷(xiāo)售經(jīng)理人數(shù) )*/ 事先設(shè)定
14、好可修改的全局變量。然后確定好全局對(duì)象數(shù)組。如此便可以按照所需存入員工信息 問(wèn)題 2:如何程序要求,落實(shí)?派生類(lèi)派生類(lèi)派生類(lèi)派生類(lèi)基類(lèi)派生類(lèi)問(wèn)題 3:怎樣處理 2 個(gè)菜單關(guān)系?(輸入職員信息菜單、目錄菜單)讓目錄菜單作為主菜單,輸入職員信息的菜單成為二級(jí)菜單。并運(yùn)用清屏的功能,及時(shí)清除輸入的職員信息,作為一種安全保護(hù)。9 / 243.3 程序描述程序描述(輸入輸入 input)* 由主菜單選擇進(jìn)入“1”的數(shù)據(jù)輸入菜單,進(jìn)行數(shù)據(jù)輸入(進(jìn)入二級(jí)菜單后會(huì)自動(dòng)清屏) 。圖表 2 子菜單(程序中的 menu 3)* 根據(jù)需要選擇輸入要輸入的職員信息。 (只需按照中文提示,依次輸入英語(yǔ)或數(shù)字信息)圖表 3
15、 子菜單中選擇輸入技術(shù)經(jīng)理信息的一個(gè)狀態(tài)* 一個(gè)職員的信息全部輸入完成后,會(huì)自動(dòng)清屏,回到“財(cái)務(wù)部門(mén)輸入數(shù)據(jù)系統(tǒng)”主菜單10 / 24圖表 4 子菜單* 以此類(lèi)推,隨意輸入你要輸入的職員信息。若輸入全部完成,可以回到主菜單* 然后,在主菜單中選擇數(shù)據(jù)查詢(xún),可以根據(jù)你填入的職工姓名,查到他的所有信息圖表 5 由主菜單選擇查詢(xún)一操作時(shí),反饋信息的狀態(tài)* 也可選擇數(shù)據(jù)備份,會(huì)自動(dòng)清屏。并讓所有已輸入過(guò)的職工信息,全打印在所在磁盤(pán)的一個(gè) txt 文檔里。11 / 24圖表 6 由主菜單選擇數(shù)據(jù)備份一操作后的狀態(tài)* 如果想要退出系統(tǒng),可以選擇主菜單的退出系統(tǒng),選擇過(guò)后,會(huì)清屏,顯示以下界面,警告用戶(hù),是
16、否真的要推出。 圖表 7 選擇主菜單退出系統(tǒng)一操作后的狀態(tài)12 / 244 課程設(shè)計(jì)總結(jié)課程設(shè)計(jì)總結(jié)通過(guò)此次面向?qū)ο蟪绦蛟O(shè)計(jì)的實(shí)踐課程學(xué)習(xí),本人受益匪淺。經(jīng)過(guò)一系列的編程,本人更加體會(huì)到紙上得來(lái)終覺(jué)淺,絕知此事要躬行。實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。這兩句話(huà)說(shuō)的真切。遇到的難關(guān) 1.在編寫(xiě)銷(xiāo)售經(jīng)理的類(lèi)的時(shí)候,由于思維混亂,繼承亂用,以致真?zhèn)€程序一片混亂,運(yùn)行不出,且外加幾十個(gè)錯(cuò)誤警告。經(jīng)過(guò)回顧自己先前寫(xiě)的流程圖,本人得到了很大的頓悟。關(guān)系捋清楚了,思路也豁然開(kāi)朗了,下筆如有神。遇到的難關(guān) 2.五種職員在計(jì)算工資的時(shí)候,先前一直查詢(xún)不到正確的工資數(shù)額。在反復(fù)檢查、測(cè)試的過(guò)程中,才發(fā)現(xiàn)那些計(jì)算公式,繼承
17、沒(méi)有問(wèn)題,問(wèn)題出在查詢(xún)的那個(gè)函數(shù)忘記將重新計(jì)算工資的公式寫(xiě)上。所以一直顯示的是 employee 的工資數(shù),而不是各個(gè)職位員工的工資數(shù)。遇到的難關(guān) 3.在增加清屏這一功能時(shí),本以為這很簡(jiǎn)單??稍诰唧w操作時(shí),才發(fā)現(xiàn),這也考驗(yàn)一個(gè)人思維邏輯的嚴(yán)謹(jǐn)。曾設(shè)想,為了不泄密,將清屏這一函數(shù)放在查詢(xún)函數(shù)后。結(jié)果沒(méi)想到,這導(dǎo)致測(cè)試時(shí):工資信息一顯示,立刻被擦掉,根本來(lái)不及看的窘境。存在的不足 1.本程序設(shè)計(jì)上還有明顯的不妥,就是查詢(xún)工資信息的時(shí)候,要求輸入的僅僅為用戶(hù)姓名。由于還是英語(yǔ)輸入,難免有同名同姓的狀況出現(xiàn),容易混亂與出錯(cuò),還需改進(jìn)。存在的不足 2.原本思路是將程序分為兩個(gè)入口:管理員入口和職員入口。
18、管理員入口:需要輸入通行賬戶(hù)和密碼。進(jìn)入后,有兩個(gè)功能輸入所有職工信息(編號(hào)、姓名、崗位、月份、業(yè)績(jī)獎(jiǎng)勵(lì)等等基本信息)和數(shù)據(jù)備份。職員入口:則面向所有員工。進(jìn)入后,只有一個(gè)功能根據(jù)自己的名字和編號(hào)查詢(xún)自己的工資等信息??墒怯捎趯?shí)際精力有限,時(shí)間的不足。只能不分入口,直接將所有功能放在一個(gè)界面內(nèi)主菜單內(nèi)。這樣不能很好的起到原先設(shè)想的保護(hù)功能。實(shí)乃缺失。 總之,這不到一周的實(shí)踐課,讓本人的對(duì)于知識(shí)的應(yīng)用能力有了顯著的提升。本人也明白了,想要真正會(huì)編程,就要課后下功夫,多“實(shí)戰(zhàn)” 。這樣的進(jìn)步才更大。5 軟件使用說(shuō)明軟件使用說(shuō)明1.主菜單中,先輸入 1,按回車(chē)。進(jìn)入輸入數(shù)據(jù)職員的菜單界面。2.按文字
19、提示信息,依次輸入 5 種職員的各個(gè)信息。EG:編號(hào) 姓名 職位101 zhao techmanager202 qian technician303 sun salesman404 li manager505 zhou secretary13 / 243.輸入完畢后,輸入 0,按回車(chē)。再次回到主菜單。4.輸入 2,按回車(chē)。可以輸入你想查看的職工姓名,按回車(chē),查看其信息。5.輸入 3,按回車(chē)??梢詫⑺新毠さ男畔ⅲ龀晌谋?。6.輸入 0,按回車(chē)??梢酝ㄟ^(guò)輸入 y 或 n 選擇,是否退出程序。友情提示:1.由于語(yǔ)言局限,輸入的信息僅限 26 個(gè)字母和阿拉伯?dāng)?shù)字。 2.自動(dòng)清屏是出于對(duì)雇員信息的保護(hù)
20、和界面整潔。并非出錯(cuò),請(qǐng)勿恐慌。 3.備份資料時(shí),電腦發(fā)出的“滴”的警報(bào)聲,只是提示用戶(hù),備份已完成。6 附錄(參考文獻(xiàn),原代碼:)附錄(參考文獻(xiàn),原代碼:)6.1 參考文獻(xiàn):參考文獻(xiàn):(1) 面向?qū)ο蟪绦蛟O(shè)計(jì) ,鄭莉,清華大學(xué)出版社, (2) 面向?qū)ο蟪绦蛟O(shè)計(jì) C+語(yǔ)言,朱戰(zhàn)立等編 西安電子科技大學(xué)出版社(3) 面向?qū)ο蟪绦蛟O(shè)計(jì)-Visual C+,劉斌等編, 清華大學(xué)出版社 (4) 面向?qū)ο蟪绦蛟O(shè)計(jì)-C+語(yǔ)言描述, Richard Johnsonbaugh(美)等著,蔡宇輝等譯,機(jī)械工業(yè)出版社, 20036.2 原代碼原代碼#INCLUDE#INCLUDE#INCLUDE#INCLUDE#
21、INCLUDEUSING NAMESPACE STD;/常變量(供修改用):CONST INT N1=1,N2=1,N3=1,N4=1,N5=1; /*定義公司各類(lèi)職工人數(shù)(可修改) (N1:技術(shù)員人數(shù);N2:經(jīng)理人數(shù);N3:銷(xiāo)售員人數(shù);N4:銷(xiāo)售經(jīng)理人數(shù) )*/CONST DOUBLE M_SALARY=6000; /經(jīng)理固定月工資CONST DOUBLE HOURPAY=35; /技術(shù)員小時(shí)工資CONST DOUBLE BASICPAY=6000; /銷(xiāo)售經(jīng)理的底薪CONST DOUBLE SECRETARYPAY = 4000;/文秘的底薪CONST DOUBLE S_PROPORTIO
22、N=5.0/100; /銷(xiāo)售員的工資提成比例CONST DOUBLE SM_PROPORTION=2.0/100; /銷(xiāo)售經(jīng)理的提成比例DOUBLE SOLD_AMOUNT;14 / 24/聲明部分:VOID MENU(); /主菜單(1/2/3/0)VOID MENU3(); /數(shù)據(jù)打印二級(jí)菜單(1/2/3/4/5/0)VOID DATA_INPUT(); /數(shù)據(jù)輸入函數(shù)DOUBLE SM_SALARY(); /銷(xiāo)售經(jīng)理工資計(jì)算VOID DATA_FIND(); /數(shù)據(jù)查詢(xún)VOID DATA_SAVE(); /數(shù)據(jù)備份(做到TXT中) VOID CLEAR();OFSTREAM OUTFIL
23、E; /打開(kāi)磁盤(pán)文件流對(duì)象STRING F_NAME; /全局變量(查詢(xún)用)/定義類(lèi):CLASS EMPLOYEE /雇員類(lèi)(基類(lèi)) PUBLIC: VOID INPUT() /數(shù)據(jù)輸入函數(shù) COUTNUM; COUTNAME; COUTSTATUS; COUTMONTH; VOID PRINT() /打印數(shù)據(jù)函數(shù) COUT 編號(hào)T姓名T職位TT月份T工資 ENDL; COUTNUMTNAMETSTATUSTMONTHTPAYENDL; VOID FIND() /查詢(xún)函數(shù) IF(F_NAME=NAME ) PRINT(); COUTENDL; VOID SAVE() /備份數(shù)據(jù)函數(shù)15 / 2
24、4 OUTFILENUMTNAMETSTATUSTMONTHTPAYENDL; PROTECTED: INT NUM; /職工號(hào) STRING NAME; /職工姓名 STRING STATUS; /職工職位 INT MONTH; /工資月份 DOUBLE PAY; /職工工資;CLASS TECHNICIAN:PUBLIC EMPLOYEE /技術(shù)員類(lèi)(公有繼承) PUBLIC: VOID INPUT() COUT技術(shù)員的; EMPLOYEE:INPUT(); COUTWORKTIME; VOID PRINT() PAY=WORKTIME*HOURPAY; EMPLOYEE:PRINT();
25、 VOID FIND() PAY=WORKTIME*HOURPAY; EMPLOYEE:FIND(); VOID SAVE() PAY=WORKTIME*HOURPAY; EMPLOYEE:SAVE(); PROTECTED: DOUBLE WORKTIME; /工作時(shí)間(小時(shí));16 / 24CLASS MANAGER:PUBLIC EMPLOYEE /技術(shù)經(jīng)理類(lèi)PUBLIC: VOID INPUT() COUT技術(shù)經(jīng)理的; EMPLOYEE:INPUT(); COUTM_EXPAY; VOID PRINT() PAY=M_SALARY+M_EXPAY; EMPLOYEE:PRINT();
26、VOID FIND() PAY=M_SALARY+M_EXPAY; EMPLOYEE:FIND(); VOID SAVE() PAY=M_SALARY+M_EXPAY; EMPLOYEE:SAVE(); PROTECTED: INT M_EXPAY;CLASS SELL_MANAGER:PUBLIC EMPLOYEE /銷(xiāo)售經(jīng)理類(lèi)PUBLIC: VOID INPUT() COUT銷(xiāo)售經(jīng)理的; EMPLOYEE:INPUT(); INT SM_NUMBER() /調(diào)用銷(xiāo)售經(jīng)理職工號(hào) RETURN NUM; STRING SM_NAME() /調(diào)用銷(xiāo)售經(jīng)理姓名 17 / 24 RETURN NAM
27、E; VOID PRINT() PAY=BASICPAY+SOLD_AMOUNT*SM_PROPORTION; COUT 編號(hào)T姓名T職位TT月份T工資ENDL; COUTNUMTNAMETSTATUSTTMONTH; VOID SAVE() PAY=BASICPAY+SOLD_AMOUNT*SM_PROPORTION; OUTFILENUMTNAMETSTATUSTTMONTH; VOID FIND() IF(F_NAME=NAME ) PRINT(); COUTENDL; ;CLASS SELLER:PUBLIC EMPLOYEE /銷(xiāo)售員類(lèi)PUBLIC: SELLER() SOLD_AM
28、OUNT=0; /構(gòu)造函數(shù),銷(xiāo)售額初始化為 0 VOID INPUT() COUT銷(xiāo)售員的; EMPLOYEE:INPUT(); COUTSOLD_AMOUNT; COUTNU; VOID PRINT() PAY=SOLD_AMOUNT*S_PROPORTION; COUTNUMTNAMETSTATUSTMONTH TPAYTNUENDL; 18 / 24 INT S_NUMBER() /調(diào)用銷(xiāo)售員所屬銷(xiāo)售經(jīng)理職工號(hào) RETURN NU; DOUBLE AMOUNT() /調(diào)用銷(xiāo)售員銷(xiāo)售額 RETURN SOLD_AMOUNT; VOID FIND() IF(F_NAME=NAME) COUT
29、 編號(hào)T姓名T職位TT月份T工資T所屬部門(mén)經(jīng)理編號(hào) ENDL; PRINT(); VOID SAVE() PAY=SOLD_AMOUNT*S_PROPORTION; OUTFILENUMTNAMETSTATUSTMONTH TPAYTTNUENDL; PROTECTED: DOUBLE SOLD_AMOUNT; /銷(xiāo)售額 INT NU; /所屬銷(xiāo)售經(jīng)理職工號(hào);CLASS SECRETARY:PUBLIC EMPLOYEE /文秘類(lèi)PUBLIC: VOID INPUT() COUT文秘的; EMPLOYEE:INPUT(); COUTSY_EXPAY; VOID PRINT() PAY=SECR
30、ETARYPAY+SY_EXPAY; EMPLOYEE:PRINT(); 19 / 24 VOID FIND() PAY=SECRETARYPAY+SY_EXPAY; EMPLOYEE:FIND(); VOID SAVE() PAY=SECRETARYPAY+SY_EXPAY; EMPLOYEE:SAVE(); PROTECTED:INT SY_EXPAY; ; /定義全局對(duì)象數(shù)組 TECHNICIAN TN1; /技術(shù)員MANAGER MN2; /經(jīng)理SELLER SN3; /銷(xiāo)售員SELL_MANAGER SMN4; /銷(xiāo)售經(jīng)理(下屬若干銷(xiāo)售員)SECRETARY SYN5; /文秘 /主
31、函數(shù)部分:INT MAIN() CHAR N; MENU(); FOR(INT I=0;IN; SWITCH(N) CASE1: /數(shù)據(jù)輸入 CLEAR(); COUTENDL您所選操作為數(shù)據(jù)輸入,請(qǐng)繼續(xù)-ENDLENDL; DATA_INPUT(); COUTENDL; MENU(); BREAK; CASE2: /數(shù)據(jù)查詢(xún) CLEAR(); COUTENDL您所選操作為數(shù)據(jù)查詢(xún),請(qǐng)繼續(xù)-ENDLENDL; COUTF_NAME; 20 / 24 COUTENDL-正在查詢(xún),請(qǐng)等待-ENDLENDL; COUT您查詢(xún)的信息如下:ENDLENDL; DATA_FIND(); COUTENDLE
32、NDL; MENU(); BREAK; CASE3: /數(shù)據(jù)備份 CLEAR(); OUT(C+程序設(shè)計(jì)實(shí)習(xí).TXT,IOS:OUT); /打開(kāi)磁盤(pán)文件流對(duì)象 COUTENDL您所選操作為數(shù)據(jù)備份,請(qǐng)繼續(xù)-ENDLENDL; OUTFILE職工基本情況一覽表如下:NENDL; DATA_SAVE(); OUT(); COUTENDLENDL; COUTA-數(shù)據(jù)備份完成,請(qǐng)繼續(xù)-ENDLENDL; MENU(); BREAK; CASE0: /退出系統(tǒng) CLEAR(); COUTENDL是否真的要退出系統(tǒng)?ENDLENDL; COUT 是( Y ) N; IF(N=Y) COUTN-請(qǐng)按任意鍵退
33、出系統(tǒng)-ENDL; EXIT(0); COUTENDL; ELSE MENU(); BREAK; DEFAULT: COUTENDL-出錯(cuò)!請(qǐng)重新選擇操作! NENDL; MENU(); BREAK; RETURN 0;/自定義函數(shù)部分:VOID MENU() /菜單函數(shù) COUT 小型公司工資管理系統(tǒng) ENDL; COUT ENDL; COUT 數(shù)據(jù)輸入:1,并按回車(chē)鍵; ENDL;21 / 24 COUT ENDL; COUT 數(shù)據(jù)查詢(xún):2,并按回車(chē)鍵; ENDL; COUT ENDL; COUT 數(shù)據(jù)備份:3,并按回車(chē)鍵; ENDL; COUT ENDL; COUT | 退出系統(tǒng):0,并
34、按回車(chē)鍵;| ENDL; COUT ENDL; COUT 請(qǐng)輸入操作序號(hào):;VOID MENU2() /數(shù)據(jù)輸入二級(jí)菜單函數(shù) COUT 財(cái)務(wù)部門(mén)輸入數(shù)據(jù)系統(tǒng) ENDL; COUTENDL; COUT 技術(shù)經(jīng)理數(shù)據(jù)輸入:1,并按回車(chē)鍵; ENDL; COUT 技術(shù)員數(shù)據(jù)輸入 :2,并按回車(chē)鍵; ENDL; COUT 銷(xiāo)售員數(shù)據(jù)輸入 :3,并按回車(chē)鍵; ENDL; COUT 銷(xiāo)售經(jīng)理數(shù)據(jù)輸入:4,并按回車(chē)鍵; ENDL; COUT 文秘?cái)?shù)據(jù)輸入 :5,并按回車(chē)鍵; ENDL; COUT 返回上一級(jí) :0,并按回車(chē)鍵; ENDL; COUTENDL; COUT 請(qǐng)輸入操作序號(hào):;VOID DATA_
35、INPUT() /數(shù)據(jù)輸入函數(shù) CHAR P; INT I; MENU2(); FOR(INT J=0;J P; IF(P=0)CLEAR(); BREAK; ELSE SWITCH(P) CASE1: CLEAR(); FOR(I=0;IN2;I+) MI.INPUT(); /經(jīng)理 COUTENDL-22 / 24ENDL;CLEAR();MENU2();BREAK; CASE2: CLEAR(); FOR(I=0;IN1;I+) TI.INPUT(); /技術(shù)人員 COUTENDL-ENDL;CLEAR();MENU2();BREAK; CASE3: CLEAR(); FOR(I=0;IN
36、3;I+) SI.INPUT(); /銷(xiāo)售員 COUTENDL-ENDL;CLEAR();MENU2();BREAK; CASE4: CLEAR(); FOR(I=0;IN4;I+) SMI.INPUT(); / 銷(xiāo)售經(jīng)理 COUTENDL-ENDL;CLEAR();MENU2();BREAK; CASE5: CLEAR(); FOR(I=0;IN5;I+) SYI.INPUT(); / 文秘 COUTENDL-ENDL;CLEAR();MENU2();BREAK; DOUBLE SALARYN4;DOUBLE SM_SALARY() /銷(xiāo)售經(jīng)理工資計(jì)算 INT I,J;DOUBLE A ;SELL_MANAGER B; FOR(INT K=0;KN4;K+) SALARYK=0; FOR(I=0;IN4;I+) DOUBLE SUM=0; FOR
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第22課《智取生辰綱》課件2024-2025學(xué)年統(tǒng)編版語(yǔ)文九年級(jí)上冊(cè)
- 石河子大學(xué)《園藝生態(tài)學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 描寫(xiě)下雪前的句子
- 石河子大學(xué)《模戳印花布圖案與工藝》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《程序設(shè)計(jì)基礎(chǔ)》2021-2022學(xué)年期末試卷
- 石河子大學(xué)《教育統(tǒng)計(jì)分析與實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽(yáng)理工大學(xué)《模擬電路基礎(chǔ)》2022-2023學(xué)年期末試卷
- 沈陽(yáng)理工大學(xué)《復(fù)變函數(shù)與積分變換》2023-2024學(xué)年第一學(xué)期期末試卷
- 骨灰保管合同案
- 國(guó)企入職合同模板
- GB/T 16716.5-2024包裝與環(huán)境第5部分:能量回收
- 2024年消防月全員消防安全知識(shí)專(zhuān)題培訓(xùn)-附20起典型火災(zāi)案例
- 恒牙臨床解剖-上頜中切牙(牙體解剖學(xué)課件)
- 戲劇鑒賞學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- NBT 31021-2012風(fēng)力發(fā)電企業(yè)科技文件規(guī)檔規(guī)范
- 2024年國(guó)家公務(wù)員考試行測(cè)真題及解析(完整版)
- 《縣委書(shū)記的榜樣-焦裕祿》課件
- 公司工會(huì)活動(dòng)積分制考核表
- 10以?xún)?nèi)口算100道題共16套-直接打印版
- (完整版)小學(xué)四年級(jí)英語(yǔ)閱讀理解20篇)
- 國(guó)自然患者知情同意書(shū)
評(píng)論
0/150
提交評(píng)論