freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

3逄治明-面向?qū)ο蟪绦蛟O(shè)計(jì)(編輯修改稿)

2024-10-08 08:47 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ............................................................. 14 參考文獻(xiàn) ............................................................................................................................... 15 附 錄 ............................................................................................................................... 16 課程設(shè)計(jì)總結(jié): ................................................................................................................. 25 1 題目 : 飛鳥公司 管理系統(tǒng) 分析與設(shè)計(jì) 某小型公司,主要有四類人員:經(jīng)理、兼職技術(shù)人員、銷售經(jīng)理和兼職推銷員?,F(xiàn)在,需要存儲(chǔ)這些人員的姓名、編號(hào)、級(jí)別、當(dāng)月薪水,計(jì)算月薪總額并顯示全部信息。 要求: ( 1) 其中,人員編號(hào)在生成人員信息時(shí)同時(shí)生成,每輸入一個(gè)人員信息編 號(hào)順序加 1。 ( 2) 程序?qū)λ腥藛T有提升級(jí)別的功能 ( 3) 月薪的計(jì)算方法是:經(jīng)理拿固定月薪,兼職技術(shù)人員按工作小時(shí)數(shù)領(lǐng)取月薪,兼職推銷員的報(bào)酬按該推銷員當(dāng)月銷售額提成 ,銷售經(jīng)理既拿固定月薪也領(lǐng)取銷售提成。 ( 4) 能按姓名或者編號(hào)顯示、查找、增加、刪除和保存各類人員的信息 根據(jù)問題描述和要求,系統(tǒng)要求能夠 按姓名或者編號(hào)顯示、查找、增加、刪除和保存各類人員的信息 。確定程序至少應(yīng)該具備如下功能:“查詢?nèi)藛T”、“增加人員”、“刪除人員”、“數(shù)據(jù)存盤”基本模塊。 系統(tǒng)既然具有“數(shù)據(jù)存盤”功能-人員數(shù)據(jù)可以保存到 磁盤文件,那么也就意味著今后可以從磁盤文件讀出人員數(shù)據(jù),所以系統(tǒng)增加了“人員數(shù)據(jù)裝入”模塊,以方便用戶使用、避免數(shù)據(jù)重復(fù)錄入??紤]到系統(tǒng)實(shí)現(xiàn)簡(jiǎn)捷,人員數(shù)據(jù)文件采用文本文件,人員數(shù)據(jù)文件名: 。 做為一個(gè)完整系統(tǒng),除了具有增加人員,刪除人員信息模塊,還應(yīng)該具有修改人員相關(guān)信息的功能,所以本系統(tǒng)設(shè)計(jì)時(shí)考慮增加“修改人員”模塊。 考慮到根據(jù)編號(hào)查找人員信息功能在“刪除人員”、“修改人員”等模塊都使用,所以可以考慮設(shè)置為一個(gè)模塊。 考慮到系統(tǒng)要求 人員編號(hào)在生成人員信息時(shí)同時(shí)生成,每輸入一個(gè)人員信息 編號(hào)順序加 1。這樣就要求人員編號(hào)在增加人員時(shí)自動(dòng)生成 (增加 1)且不重復(fù)。根據(jù)這個(gè)要求,可以考慮設(shè)置一個(gè)全局量:“當(dāng)前最大編號(hào)”,每增加一個(gè)人員,當(dāng)前最大編號(hào)自動(dòng)增 1,然后新增加人員使用這個(gè)編號(hào)。為了保證系統(tǒng)能記憶這個(gè)編號(hào),可以使用一個(gè)數(shù)據(jù)文件保存當(dāng)前這個(gè)編號(hào)。系統(tǒng)每次開始運(yùn)行前從文件讀入這個(gè)編號(hào),隨著人員增加,編號(hào)自動(dòng)增加,系統(tǒng)每次運(yùn)行結(jié)束時(shí)將這個(gè)編號(hào)寫入文件。本系統(tǒng)將初值 (沒有一個(gè)用戶時(shí) )設(shè)置為 0。 考慮到人員的許多固定信息如:經(jīng)理、銷售經(jīng)理的固定月薪,銷售經(jīng)理、銷售人員 2 提成, 所以可以將這些信息都保存在一 個(gè) 技術(shù)人員小時(shí)工資等都是一些不需要每個(gè)人員都要輸入的信息 數(shù)據(jù)文件中,本系統(tǒng)為了方便起見,將這些信息與“最大編號(hào)”全部保存在一個(gè)文件中,并使用“基礎(chǔ)數(shù)據(jù)設(shè)置”模塊進(jìn)行設(shè)置和管理?;A(chǔ)數(shù)據(jù)文件也采用文本文件,基礎(chǔ)數(shù)據(jù)文件名: 。 本系統(tǒng)還提供“查詢本月經(jīng)營(yíng)信息”幫助計(jì)算銷售總額,工資總額,并按照公式計(jì)算本月盈虧。 綜合考慮系統(tǒng)具有下面 8項(xiàng)功能模塊:增加人員,刪除人員,修改人員,查詢本月經(jīng)營(yíng)信息,基礎(chǔ)數(shù)據(jù)設(shè)置,數(shù)據(jù)存盤,數(shù)據(jù)裝入。 系統(tǒng)使用的數(shù)據(jù)文件格式如下: : (格式:項(xiàng)目 數(shù)據(jù) ) 經(jīng)理固定月薪 3000 銷售經(jīng)理固定月薪 1000 銷售經(jīng)理提成% 1 銷售人員提成% 2 技術(shù)人員小時(shí)工資 20 ID 6 :(格式:編號(hào) ,姓名 ,人員類別 ,其它數(shù)據(jù) ,銷售員銷售額 ,技術(shù)人員工作小時(shí)) 2 wang 3 100000 3 liu 1 4 wu 4 100 5 huang 2 6 tao 3 150000 注:人員類型編號(hào) 1-經(jīng)理; 2-銷售經(jīng)理; 3-銷售員; 4-技術(shù)人員 總體框架 使用面向?qū)ο蟮某绦蛟O(shè)計(jì)思想進(jìn)行分析,整個(gè)系統(tǒng)涉及兩大類 信息和操作,公司,人員。所以系統(tǒng)主要涉及兩個(gè)大類:公司類 Company、人員類 Person。系統(tǒng)的總體框架就是公司類,人員類的定義;主函數(shù)中定義一個(gè)公司對(duì)象,循環(huán)顯示主菜單并根據(jù)用戶選擇調(diào)用公司類的相應(yīng)方法 (成員函數(shù) )。 (1)公司類 Company:考慮系統(tǒng)操作的人員信息的數(shù)量具有不確定性,所以考慮使用 3 鏈表保存、處理人員信息。公司類包含:所有人員信息的一個(gè)不帶頭結(jié)點(diǎn)的鏈表(作為數(shù)據(jù)成員)及可以對(duì)人員信息進(jìn)行增,刪,改,查詢經(jīng)營(yíng)信息,基礎(chǔ)數(shù)據(jù)設(shè)置,數(shù)據(jù)存盤,數(shù)據(jù)裝入等操作的相關(guān)模塊 (Add,Delete,Modify,Query,Set,Save,Load)作為成員函數(shù)。 (2)人員類 Person:所有人員都具有的公共信息及操作可以使用人員類進(jìn)行描述。由于系統(tǒng)具有 4類人員且 4 類人員數(shù)據(jù),操作有所不同,如銷售員包含銷售額,而技術(shù)人員包含工作小時(shí)數(shù)且計(jì)算工資的方法不同,所以應(yīng)當(dāng)為 4 類人員創(chuàng)建相應(yīng)的 Person類的派生類。 (3)為了使公司類可以方便處理人員信息,可以考慮將公司類確定為人員類的友元類或者人員類提供公共的方法以便公司類進(jìn)行操作。為了公司類可以用共同方法操作人員類,可以將人員類的方法確定為虛函數(shù)。 Person { No,Name,Duty,Earning,next,Person(),CalcSalary(),Output()} Manager Sales SalesManager Technician { Manager(), {Amount, {Amount, { t, CalcSalary(), Sales(),GetAmount(), SalesManager(), Technician(), Output()} SetAmount(), SetAmount(), GetT(),SetT(), CalcSalary(), CalcSalary(), CalcSalary(), Output()} Output()} Output()} 圖 31 Person類 其中: ( 1) Person 類的 No人員編號(hào), Name人員姓名, Duty人員類別 , Earning工資,next指向下一個(gè)人員的指針 。Person 類的 CalcSalary(), Output()定義為純虛函數(shù)分別表示要計(jì)算人員工資和輸出人員信息 ,由于定義純虛函數(shù),所以 Person 是抽象類,具體計(jì)算工資,輸出人員信息由派生類完成。 ( 2)各個(gè)派生的類,包含本類對(duì)象特有的數(shù)據(jù), Sales::Amount銷售員銷售額,SalesManager::Amount銷售經(jīng)理的總銷售額(系統(tǒng)統(tǒng)計(jì)各個(gè)銷售員銷售額得到銷售經(jīng)理的總銷售額), Technician::t技術(shù)人員工作小時(shí)數(shù)。 4 Company {Person *Worker, Clear(),Company(),~Company(),Add(),Delete(),Modify(), Query(),Set(),Save(),Load()} 其中: ( 1) Worker 就是人員鏈表。 ( 2) Clear()用于清除人員鏈表所有結(jié)點(diǎn)。 ( 3) Add(),Delete(),Modify(),Query(),Set(),Save(),Load()分別表示系統(tǒng)各個(gè)功能模塊 :增加人員,刪除人員,修改人員,查詢本月經(jīng)營(yíng)信息,基礎(chǔ)數(shù)據(jù)設(shè)置,數(shù)據(jù)存盤,數(shù)據(jù)裝 入。 關(guān)鍵算法 流程圖 創(chuàng)建公司 對(duì)象開始結(jié)束顯示菜單根據(jù)輸入 執(zhí)行公司 操作接受輸入退出 ?YN 圖 32 主函數(shù)流程 5 輸入崗位ID 號(hào)增 1輸入數(shù)據(jù),創(chuàng)建員工對(duì)象結(jié) 點(diǎn)員工結(jié)點(diǎn)加入鏈表開始結(jié)束 圖 33 Company::Add() 查找要?jiǎng)h除結(jié)點(diǎn)輸入員工 ID鏈表刪除員工結(jié)點(diǎn)開始結(jié)束結(jié)點(diǎn)存在 ?提示未找到 圖 34 Company::Delete() 圖 35 Company::Modify 查找結(jié)點(diǎn)輸入員工 ID修改結(jié)點(diǎn)開始結(jié)束結(jié)點(diǎn)存在 ?提示未找到 6 遍歷統(tǒng)計(jì)工資 總額遍歷統(tǒng)計(jì)銷售額開始結(jié)束計(jì)算盈虧打印本月 經(jīng)營(yíng)信息 圖 36 Company::Query() 遍歷鏈表保存人員數(shù)據(jù)打開員工數(shù)據(jù)文件開始結(jié)束關(guān)閉文件保存基礎(chǔ) 數(shù)據(jù)打開基礎(chǔ)數(shù)據(jù)文件關(guān)閉文件 圖 37 Company::Save() 7 讀取基礎(chǔ) 數(shù)據(jù)打開員工數(shù)據(jù)文件開始結(jié)束關(guān)閉文件讀取一條 記錄打開人員數(shù)據(jù)文件關(guān)閉文件文件未結(jié)束根據(jù)人員類型創(chuàng)建結(jié)點(diǎn)鏈表加入 結(jié)點(diǎn)讀 下面 一行記錄YN 圖 38 Company::Load() 應(yīng)用 C++語(yǔ)言對(duì)程序進(jìn)行編碼,執(zhí)行前主要代碼: class Person //員工類 { protected: int No。 //編號(hào) char Name[20]。 //姓名 int Duty。 //崗位 double Earning。 //收入 Person *next。 8 public: Person(char ID,char *Name,int Duty) { thisDuty=Duty。 strcpy(thisName,Name)。 thisNo=ID。 } virtual void CalcSalary()=0。 virtual void Output()=0。 friend class Company。 }。 class Manager:public Person //經(jīng)理類 { public: Manager(char ID,char *Name,int Duty):Person(ID,Name,Duty){} void CalcSalary(){Earning=ManagerSalary。} void Output() { CalcSalary()。 coutNo\tName\t 經(jīng)理 \tEarningendl。 } }。 class SalesManager:public Person //銷售經(jīng)理類 { private: double Amount。 public: SalesManager(char ID,char *Name,int Duty):Person(ID,Name,Duty){} void SetAmount(double s) { Amount=s。 } void CalcSalary() 9 { Earning=SalesManagerSalary+Amount*SalesManagerPercent/100。 } void Output() { CalcSalary()。 coutNo\tName\t 銷售經(jīng)理 \tEarningendl。 } }。 class Technician:public Person //技術(shù)員類 { private: double t。 public: Technician(char ID,char *Name,int Duty,double T):Person(ID,Name,Duty) { thist=T。 } double GetT() { return t。 } void SetT(double T)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1