小型公司工資管理系統(tǒng)設(shè)計(jì)課設(shè)報(bào)告.doc_第1頁
小型公司工資管理系統(tǒng)設(shè)計(jì)課設(shè)報(bào)告.doc_第2頁
小型公司工資管理系統(tǒng)設(shè)計(jì)課設(shè)報(bào)告.doc_第3頁
小型公司工資管理系統(tǒng)設(shè)計(jì)課設(shè)報(bào)告.doc_第4頁
小型公司工資管理系統(tǒng)設(shè)計(jì)課設(shè)報(bào)告.doc_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于 C 的面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)例 課程設(shè)計(jì)報(bào)告 報(bào)告題目 小型公司工資管理系統(tǒng)設(shè)計(jì) 作者所在系部 計(jì)算機(jī)科學(xué)與工程系 作者所在專業(yè) 計(jì)算機(jī)應(yīng)用技術(shù) 作者所在班級(jí) 作 者 姓 名 指導(dǎo)教師姓名 完 成 時(shí) 間 2012 6 21 北華航天工業(yè)學(xué)院教務(wù)處制 摘 要 在當(dāng)前的市場(chǎng)經(jīng)濟(jì)體制下 一個(gè)公司要好的發(fā)展 不但要有好的管理制度 優(yōu)秀的 管理人員 同時(shí)也要有一個(gè)健全的并且適合自身特點(diǎn)的公司人員管理和員工工資管理系 統(tǒng) 以實(shí)現(xiàn)公司人員管理 工資管理的目 本文在 Microsoft Visual C 6 0 環(huán)境下 利用 c 語言編寫程序 實(shí)現(xiàn)了公司對(duì) 雇員工資信息的管理操作 本系統(tǒng)一簡(jiǎn)單易懂為原則 便于操作 本系統(tǒng)一簡(jiǎn)單易懂為原則 便于操作 本系統(tǒng)主要有九個(gè)功能模塊 1 修改職工信息 2 查詢職工信息 3 刪除職工 信息 4 添加職工信息 5 顯示所有職工信息 6 計(jì)算員工工資 7 讀入員工信息 8 保存員工信息 9 統(tǒng)計(jì)員工信息 已經(jīng)通過全面的系統(tǒng)測(cè)試 能夠很好的運(yùn)行 達(dá) 到了預(yù)期的效果 關(guān)鍵詞 c 功能模塊 工資 信息 目錄目錄 摘摘 要要 I 目錄目錄 II 課程設(shè)計(jì)任務(wù)書課程設(shè)計(jì)任務(wù)書 IV 第一章第一章 緒論緒論 1 1 1 1 1 課程設(shè)計(jì)的目的課程設(shè)計(jì)的目的 1 1 1 2 2 課程設(shè)計(jì)的背景和意義課程設(shè)計(jì)的背景和意義 1 1 2 1 課程設(shè)計(jì)的背景 1 1 2 2 課程設(shè)計(jì)的意義 2 1 1 3 3 課程設(shè)計(jì)環(huán)境課程設(shè)計(jì)環(huán)境 2 第二章第二章 需求分析需求分析 3 2 1 問題描述問題描述 3 2 2 功能要求功能要求 3 2 2 問題的解決方案問題的解決方案 3 第三章第三章 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì) 4 3 3 1 1 數(shù)據(jù)設(shè)計(jì)數(shù)據(jù)設(shè)計(jì) 4 3 1 1 類設(shè)計(jì) 4 3 1 2 類之間的關(guān)系 6 3 1 3 函數(shù)設(shè)計(jì) 6 3 2 結(jié)構(gòu)設(shè)計(jì) 6 3 2 1 系統(tǒng)流程圖 6 3 2 2 界面設(shè)計(jì) 7 第四章第四章 系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)現(xiàn) 8 4 4 1 1 類實(shí)現(xiàn)類實(shí)現(xiàn) 8 4 4 3 3 主函數(shù)實(shí)現(xiàn)主函數(shù)實(shí)現(xiàn) 35 第五章第五章 系統(tǒng)測(cè)試系統(tǒng)測(cè)試 36 5 5 1 1 模塊測(cè)試模塊測(cè)試 36 5 5 2 2 課程設(shè)計(jì)過程中遇到的問題課程設(shè)計(jì)過程中遇到的問題 37 總總 結(jié)結(jié) 39 致致 謝謝 40 參考文獻(xiàn)參考文獻(xiàn) 40 附附 錄錄 40 課題名稱課題名稱小型公司工資管理系統(tǒng)設(shè)計(jì)完成時(shí)間完成時(shí)間2012 6 212012 6 21 指導(dǎo)教師指導(dǎo)教師賈振華賈振華職稱職稱講師講師學(xué)生姓名學(xué)生姓名孟偉閃孟偉閃班班 級(jí)級(jí)1151311513 總體設(shè)計(jì)要求和技術(shù)要點(diǎn)總體設(shè)計(jì)要求和技術(shù)要點(diǎn) 1 問題描述 某公司需要存儲(chǔ)雇員的編號(hào) 姓名 性別 所在部門 級(jí)別 并進(jìn)行工資的計(jì)算 其中 雇員分 為經(jīng)理 技術(shù)人員 銷售人員和銷售經(jīng)理 四類人員的月薪計(jì)算方法如下 經(jīng)理拿固定月薪 技術(shù)人 員按小時(shí)領(lǐng)取月薪 銷售人員按其當(dāng)月銷售額的提成領(lǐng)取工資 銷售經(jīng)理既拿固定月薪也領(lǐng)取銷售提 成 設(shè)計(jì)一程序能夠?qū)救藛T進(jìn)行管理 應(yīng)用到繼承 抽象類 虛函數(shù) 虛基類 多態(tài)和文件的輸 入 輸出等內(nèi)容 2 功能要求 1 添加功能 程序能夠任意添加上述四類人員的記錄 可提供選擇界面供用戶選擇所要添加 的人員類別 要求員工的編號(hào)要唯一 如果添加了重復(fù)編號(hào)的記錄時(shí) 則提示數(shù)據(jù)添加重復(fù)并取消添 加 2 查詢功能 可根據(jù)編號(hào) 姓名等信息對(duì)已添加的記錄進(jìn)行查詢 如果未找到 給出相應(yīng)的 提示信息 如果找到 則顯示相應(yīng)的記錄信息 3 顯示功能 可顯示當(dāng)前系統(tǒng)中所有記錄 每條記錄占據(jù)一行 4 編輯功能 可根據(jù)查詢結(jié)果對(duì)相應(yīng)的記錄進(jìn)行修改 修改時(shí)注意編號(hào)的唯一性 5 刪除功能 主要實(shí)現(xiàn)對(duì)已添加的人員記錄進(jìn)行刪除 如果當(dāng)前系統(tǒng)中沒有相應(yīng)的人員記錄 則提示 記錄為空 并返回操作 否則 輸入要?jiǎng)h除的人員的編號(hào)或姓名 根據(jù)所輸入的信息刪除 該人員記錄 如果沒有找到該人員信息 則提示相應(yīng)的記錄不存 6 統(tǒng)計(jì)功能 能根據(jù)多種參數(shù)進(jìn)行人員的統(tǒng)計(jì) 例如 統(tǒng)計(jì)四類人員數(shù)量以及總數(shù) 或者統(tǒng)計(jì)男 女員工的數(shù)量 或者統(tǒng)計(jì)平均工資 最高工資 最低工資等信息 7 保存功能 可將當(dāng)前系統(tǒng)中各類人員記錄存入文件中 存入方式任意 8 讀取功能 可將保存在文件中的人員信息讀入到當(dāng)前系統(tǒng)中 供用戶進(jìn)行使用 工作內(nèi)容及時(shí)間進(jìn)度安排工作內(nèi)容及時(shí)間進(jìn)度安排 1 6 月 4 日 10 日 布置任務(wù) 軟件設(shè)計(jì) 2 6 月 11 日 18 日 編寫代碼 上機(jī)調(diào)試 3 6 月 19 20 21 日 軟件驗(yàn)收 撰寫課程設(shè)計(jì)報(bào)告 4 各班在 6 月 22 日下午五點(diǎn)前將課程設(shè)計(jì)報(bào)告收齊并上交 課程設(shè)計(jì)任務(wù)書 第一章 緒論 1 1 課程設(shè)計(jì)的目的 1 此次課程設(shè)計(jì)的目的是以 c 程序設(shè)計(jì)基礎(chǔ) 為基礎(chǔ) 針對(duì)具有一定難度的綜合 性題目 進(jìn)行分析 編程 調(diào)試和運(yùn)行 進(jìn)一步掌握面向?qū)ο蠛兔嫦蜻^程程序設(shè)計(jì)的基本 方法和編程技巧 鞏固所學(xué)理論知識(shí) 使理論與實(shí)踐相結(jié)合 提高分析問題 解決問 題的能力 要求學(xué)生達(dá)到熟練掌握 C 語言的基本知識(shí)和技能 2 基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法 3 能夠利用所學(xué)的基本知識(shí)和技能 解決簡(jiǎn)單的面向?qū)ο蟪绦蛟O(shè)計(jì)問題 4 通過設(shè)計(jì)一個(gè)簡(jiǎn)單的 小型公司工資管理系統(tǒng)小型公司工資管理系統(tǒng) 進(jìn)一步熟悉 C 中類的概念 類的封裝 繼承和多態(tài)的實(shí)現(xiàn)方式 掌握文件的錄入 查找 對(duì)象指針的使用 了解系 統(tǒng)開發(fā)的需要分析 類層次設(shè)計(jì) 模塊分析 編碼測(cè)試 模塊組裝與整體調(diào)試的全過程 逐步熟悉程序設(shè)計(jì)的方法 并養(yǎng)成良好的編程習(xí)慣 1 2 課程設(shè)計(jì)的背景和意義 1 2 1 課程設(shè)計(jì)的背景 1 理論研究基礎(chǔ) C 面向?qū)ο蟪绦蛟O(shè)計(jì) 是計(jì)算機(jī)專業(yè)的基礎(chǔ)課程 本課程按照軟件程序設(shè)計(jì)所需 能力進(jìn)行教學(xué)設(shè)計(jì) 提出以項(xiàng)目模塊方式帶動(dòng)相關(guān)知識(shí)點(diǎn) 實(shí)踐項(xiàng)目和理論并行的思路 將案例貫穿于課程始終 對(duì)原有的教學(xué)體系 教學(xué)內(nèi)容進(jìn)行重新編排 按照從易到難的原 則 將其巧妙地融入到項(xiàng)目開發(fā)過程中 降低學(xué)習(xí)難度 提高學(xué)生學(xué)習(xí)的信心 有效培養(yǎng) 學(xué)生的應(yīng)用能力和學(xué)習(xí)能力 2 技術(shù)層面的支持 本系統(tǒng)運(yùn)用到 類與對(duì)象在 C 中的實(shí)現(xiàn) 靜態(tài)數(shù)據(jù)成員 運(yùn)算符重載 友元函數(shù)繼 承與派生的基本知識(shí) 單繼承和多繼承 虛基類的作用與使用 虛函數(shù)的定義和使用 純 虛函數(shù)和抽象類的定義和使用 輸入輸出流的概念 輸入 輸出流操作 文件的創(chuàng)建 打 開 讀寫 關(guān)閉等操作 1 2 2 課程設(shè)計(jì)的意義 本課程按照軟件程序設(shè)計(jì)所需能力進(jìn)行教學(xué)設(shè)計(jì) 提出以項(xiàng)目模塊方式帶動(dòng)相關(guān)知識(shí) 點(diǎn) 實(shí)踐項(xiàng)目和理論并行的思路 將案例貫穿于課程始終 對(duì)原有的教學(xué)體系 教學(xué)內(nèi)容 進(jìn)行重新編排 按照從易到難的原則 將其巧妙地融入到項(xiàng)目開發(fā)過程中 降低學(xué)習(xí)難度 提高學(xué)生學(xué)習(xí)的信心 有效培養(yǎng)學(xué)生的應(yīng)用能力和學(xué)習(xí)能力 小型公司工資管理對(duì)公司管理有著很重要的作用 在當(dāng)今社會(huì)應(yīng)用廣泛 1 3 課程設(shè)計(jì)環(huán)境 硬件平臺(tái) CPU i5 2 67GHz RAM 512MB 以上 軟件平臺(tái) 操作系統(tǒng) Windows xp Windows 7 編輯環(huán)境 Visual c 6 0 分辨率 最佳效果 1024 768 像 第二章 需求分析 2 1 問題描述 某公司需要存儲(chǔ)雇員的編號(hào) 姓名 性別 所在部門 級(jí)別 并進(jìn)行工資的計(jì)算 其中 雇員分 為經(jīng)理 技術(shù)人員 銷售人員和銷售經(jīng)理 四類人員的月薪計(jì)算方法如下 經(jīng)理拿固定月薪 技術(shù)人 員按小時(shí)領(lǐng)取月薪 銷售人員按其當(dāng)月銷售額的提成領(lǐng)取工資 銷售經(jīng)理既拿固定月薪也領(lǐng)取銷售提 成 設(shè)計(jì)一程序能夠?qū)救藛T進(jìn)行管理 應(yīng)用到繼承 抽象類 虛函數(shù) 虛基類 多態(tài)和文件的輸 入 輸出等內(nèi)容 2 2 功能要求 1 添加功能 程序能夠任意添加上述四類人員的記錄 可提供選擇界面供用戶選擇所要添加的 人員類別 要求員工的編號(hào)要唯一 如果添加了重復(fù)編號(hào)的記錄時(shí) 則提示數(shù)據(jù)添加重復(fù)并取消添加 2 查詢功能 可根據(jù)編號(hào) 姓名等信息對(duì)已添加的記錄進(jìn)行查詢 如果未找到 給出相應(yīng)的提 示信息 如果找到 則顯示相應(yīng)的記錄信息 3 顯示功能 可顯示當(dāng)前系統(tǒng)中所有記錄 每條記錄占據(jù)一行 4 編輯功能 可根據(jù)查詢結(jié)果對(duì)相應(yīng)的記錄進(jìn)行修改 修改時(shí)注意編號(hào)的唯一性 5 刪除功能 主要實(shí)現(xiàn)對(duì)已添加的人員記錄進(jìn)行刪除 如果當(dāng)前系統(tǒng)中沒有相應(yīng)的人員記錄 則提示 記錄為空 并返回操作 否則 輸入要?jiǎng)h除的人員的編號(hào)或姓名 根據(jù)所輸入的信息刪除 該人員記錄 如果沒有找到該人員信息 則提示相應(yīng)的記錄不存 6 統(tǒng)計(jì)功能 能根據(jù)多種參數(shù)進(jìn)行人員的統(tǒng)計(jì) 例如 統(tǒng)計(jì)四類人員數(shù)量以及總數(shù) 或者統(tǒng)計(jì)男 女員工的數(shù)量 或者統(tǒng)計(jì)平均工資 最高工資 最低工資等信息 7 保存功能 可將當(dāng)前系統(tǒng)中各類人員記錄存入文件中 存入方式任意 8 讀取功能 可將保存在文件中的人員信息讀入到當(dāng)前系統(tǒng)中 供用戶進(jìn)行使用 2 2 問題的解決方案 根據(jù)系統(tǒng)功能要求 可以將問題解決分為以下步驟 1 應(yīng)用系統(tǒng)分析 建立該系統(tǒng)的功能模塊框圖以及界面的組織和設(shè)計(jì) 2 分析系統(tǒng)中的各個(gè)實(shí)體及它們之間的關(guān)系 3 根據(jù)問題描述 設(shè)計(jì)系統(tǒng)的類層次 4 完成類層次中各個(gè)類的描述 5 完成類中各個(gè)成員函數(shù)的定義 6 完成系統(tǒng)的應(yīng)用模塊 7 功能調(diào)試 8 完成系統(tǒng)總結(jié)報(bào)告 第三章 系統(tǒng)設(shè)計(jì) 3 1 數(shù)據(jù)設(shè)計(jì) 3 1 1 類設(shè)計(jì) 根據(jù)課程設(shè)計(jì)要求 需要定義六個(gè)類 雇員類 基類 worker 如表 3 1 1 經(jīng)理 類 manager 如表 3 1 2 技術(shù)人員類 technologyman 表 3 1 3 銷售人員類 saleman 如表 3 1 4 銷售經(jīng)理類 salemanager 如表 3 1 5 和管理類 control 如表 3 1 6 表 3 1 1 雇員類 數(shù)據(jù)成員 編號(hào) int num 姓名 char name 20 性別 char sex 5 部門 char branch 20 int mark static int count static int count1 static int count2 static int count3 static int count4 static int count5 static int count6 int basic double worktime double xiaoshoue int job 雇員類 成員函數(shù) worker worker int mark virtual worker static int display1 friend istream friend ostream friend ostream friend ostream friend ostream friend ostream count virtual worker cout 員工類被析構(gòu) istream friend ostream static int display1 return count void input virtual void inputmoney virtual void display virtual void display2 0 virtual void money 0 char getjibie return jibie double getworktime return worktime double getxiaoshoue return xiaoshoue worker next int num char name 20 char sex 5 char branch 20 部門 char jibie 20 int mark static int count count1 count2 count3 count4 count5 count6 int basic double worktime double xiaoshoue int job 職務(wù) 2 經(jīng)理類 class manager virtual public worker 經(jīng)理 public manager manager int mark worker mark manager cout 經(jīng)理類被析構(gòu) istream friend ostream void inputmoney job 1 cout 請(qǐng)輸入職員基本工資 basic count3 void display2 cout 職務(wù) 經(jīng)理 職員基本工資 endl cout basic void money cout 該員工的實(shí)際工資是 basic endl 3 技術(shù)人員類 class technologyman virtual public worker 技術(shù)人員 public technologyman technologyman int mark worker mark technologyman cout 技術(shù)人員類被析構(gòu) endl void inputmoney job 3 cout 請(qǐng)輸入職員工作時(shí)間 worktime count5 void display2 cout 職務(wù) 技術(shù)人員 職員工作時(shí)間 endl cout worktime void money jine 35 cout 該員工的實(shí)際工資是 jine worktime istream friend ostream int jine 4 銷售人員類 class saleman virtual public worker 銷售人員 public saleman saleman int mark worker mark saleman cout 銷售人員類被析構(gòu) endl void inputmoney job 2 cout 請(qǐng)輸入職員銷售額 xiaoshoue ount4 oid display2 cout 職務(wù) 銷售人員 職員銷售額 endl cout xiaoshoue void money tichengbili 0 05 cout 該員工的實(shí)際工資是 xiaoshoue tichengbili istream friend ostream double tichengbili 5 銷售經(jīng)理 class salemanager public manager public saleman 銷售經(jīng)理 public salemanager salemanager int mark worker mark salemanager cout 銷售經(jīng)理類被析構(gòu) endl void inputmoney job 4 cout 請(qǐng)輸入職員基本工資 銷售額 basic xiaoshoue count6 void display2 cout 職務(wù) 銷售經(jīng)理 職員基本工資 銷售額 endl cout basic xiaoshoue void money tichengbili 0 03 cout 該員工的實(shí)際工資是 basic xiaoshoue tichengbili istream friend ostream 指向下一個(gè)節(jié)點(diǎn) delete head 釋放空間 head p head NULL void showface void changeinformation 修改 void cancelinformation 刪除 void addinformation 添加 void showinformation 顯示 void searchinformation 查詢 void countinformation 計(jì)算 void readinformation 讀入 void keepinformation 保存 void tongjiformation 統(tǒng)計(jì) 4 2 函數(shù)實(shí)現(xiàn) 雇員類 int worker count 0 int worker count1 0 int worker count2 0 int worker count3 0 int worker count4 0 int worker count5 0 int worker count6 0 void worker input cout 請(qǐng)輸入職員信息 endl cout num cout name int i cout sex if strcmp sex nan 0 strcmp sex nv 0 if strcmp sex nan 0 count1 else count2 break else cout 輸入錯(cuò)誤請(qǐng)重新輸入 endl cout branch void worker inputmoney cout 基本工資 basic void worker display cout 編號(hào) num 姓名 name 性別 sex 部門 istream w inputmoney return in ostream w inputmoney return in ostream w inputmoney return in ostream w inputmoney return in ostream s inputmoney return in ostream s display2 return out 管理類 void control showface control control1 int i do cout endl cout endl cout 歡迎使用本職工信息管理系統(tǒng) endl cout 1 添加職工信息 2 查詢職工信息 endl cout 3 刪除職工信息 4 修改職工信息 endl cout 5 顯示所有職工信息 6 計(jì)算員工工資 endl cout 7 讀入員工信息 8 保存員工信息 endl cout 9 統(tǒng)計(jì)員工信息 0 退出系統(tǒng) endl cout 請(qǐng)選擇相應(yīng)編號(hào) endl cout i if i 9 i 0 cout 輸入錯(cuò)誤請(qǐng)重新輸入 endl else break 選擇相應(yīng)標(biāo)號(hào)所對(duì)應(yīng)的功能 switch i case 1 control1 addinformation break case 2 control1 searchinformation break case 3 control1 cancelinformation break case 4 control1 changeinformation break case 5 control1 showinformation break case 6 control1 countinformation break case 7 control1 readinformation break case 8 control1 keepinformation break case 9 control1 tongjiformation break case 0 break default cout 選擇錯(cuò)誤 請(qǐng)重新選擇 endl while i 0 void control addinformation 添加職工信息 control control1 worker p NULL 新增結(jié)點(diǎn)指針 int i 選擇變量 do 添加職工信息菜單 cout endl cout endl cout 請(qǐng)選擇增加的員工種類 endl cout 1 增加經(jīng)理 2 增加銷售人員 endl cout 3 增加技術(shù)人員 4 增加銷售經(jīng)理 endl cout 5 返回上級(jí)菜單 endl cout endl cout 請(qǐng)選擇相應(yīng)編號(hào) endl cout i if i 5 i 0 cout 輸入錯(cuò)誤請(qǐng)重新輸入 p break case 2 p new saleman 2 cin p break case 3 p new technologyman 3 cin p break case 4 p new salemanager 4 cin p break case 5 break p next NULL 員工結(jié)點(diǎn)加入鏈表 if i 5 if head NULL 鏈表已經(jīng)存在 worker p1 NULL p2 NULL 指針初始化 p1 head if p1 num p num cout 添加重復(fù) next p2 next p 連接結(jié)點(diǎn) cout 信息添加成功 endl else 鏈表不存在 head p 連接結(jié)點(diǎn) cout 信息添加成功 endl while i 5 void control cancelinformation 刪除職工信息 worker p1 NULL p2 NULL p1 head if p1 NULL cout 系統(tǒng)暫無信息 無法刪除 請(qǐng)錄入信息 endl return int i 選擇變量 do 刪除職工信息菜單 cout endl cout endl cout 請(qǐng)選擇刪除方式 endl cout 1 按照編號(hào) 2 按照姓名 endl cout 3 按照部門 4 返回上級(jí)菜單 endl cout endl cout 請(qǐng)選擇相應(yīng)編號(hào) endl cout i if i 4 i 0 cout 輸入錯(cuò)誤請(qǐng)重新輸入 endl else break switch i case 1 int num cout num p1 head while p1 NULL if p1 num num break else p2 p1 p1 p1 next break case 2 char name 20 cout name p1 head while p1 NULL if strcmp p1 name name 0 break else p2 p1 p1 p1 next break case 3 char branch 20 cout branch p1 head while p1 NULL if strcmp p1 branch branch 0 break else p2 p1 p1 p1 next break case 4 return 刪除結(jié)點(diǎn) if i 4 if p1 NULL 找到結(jié)點(diǎn) 刪除 f p1 head 要?jiǎng)h除的結(jié)點(diǎn)是第一個(gè)結(jié)點(diǎn) head p1 next delete p1 else 要?jiǎng)h除的結(jié)點(diǎn)不是第一個(gè)結(jié)點(diǎn) p2 next p1 next delete p1 cout 信息刪除成功 endl worker count else 未找到結(jié)點(diǎn) cout 信息刪除失敗 endl while i 4 void control searchinformation 查詢職工信息 worker p1 NULL p2 NULL p1 head if p1 NULL cout 系統(tǒng)暫無信息 無法查詢 請(qǐng)錄入信息 endl return int i 選擇變量 do cout endl cout endl cout 請(qǐng)選擇查詢方式 endl cout 1 按照編號(hào) 2 按照姓名 endl cout 3 按照部門 4 按照職務(wù) endl cout 5 返回上級(jí)菜單 endl cout endl cout 請(qǐng)選擇相應(yīng)編號(hào) endl cout i if i 5 i 0 cout 輸入錯(cuò)誤請(qǐng)重新輸入 endl else break switch i case 1 int num cout num p1 head while p1 NULL if p1 num num break else p2 p1 p1 p1 next if p1 NULL 若找到結(jié)點(diǎn) cout 職工信息為 endl endl p1 endl else cout 該職工信息不存在 endl break case 2 char name 20 cout name p1 head while p1 NULL if strcmp p1 name name 0 break else p2 p1 p1 p1 next if p1 NULL 若找到結(jié)點(diǎn) cout p1 endl else cout 信息查詢失敗 endl break case 3 char branch 20 int m 0 cout branch p1 head while p1 NULL if strcmp p1 branch branch 0 cout p1 next m else p2 p1 p1 p1 next if m 0 cout 信息查詢失敗 endl break case 4 int job int n 0 cout job p1 head while p1 NULL if p1 job job cout p1 next n else p2 p1 p1 p1 next if n 0 cout 查詢失敗 endl break case 5 return while i 5 void control changeinformation 修改職工信息 worker p1 NULL p2 NULL if head NULL cout 系統(tǒng)暫無信息 無法修改 請(qǐng)錄入信息 endl return int i 選擇變量 do cout endl cout endl cout 1 修改姓名 2 修改部門 endl cout 3 修改職務(wù) 4 返回上級(jí)菜單 endl cout endl cout 請(qǐng)選擇相應(yīng)編號(hào) endl cout i if i 4 i 0 cout 輸入錯(cuò)誤請(qǐng)重新輸入 endl else break if i 4 int num cout num p1 head while p1 NULL if p1 num num break else p2 p1 p1 p1 next if p1 NULL 若找到結(jié)點(diǎn) cout 編號(hào)為 num 的職工原信息為 endl endl p1 endl else cout 該職工信息不存在 endl return 執(zhí)行修改結(jié)點(diǎn) switch i case 1 cout newname strcpy p1 name newname break case 2 cout newbranch strcpy p1 branch newbranch break case 3 cout newjob p1 job newjob break case 4 return if p1 NULL 若找到結(jié)點(diǎn) cout 修改成功 endl cout 該職工現(xiàn)在的信息為 endl endl p1 endl while i 4 void control showinformation 顯示所有職工信息 cout 顯示所有職工信息 endl worker p1 head 初始化 a if p1 NULL cout 系統(tǒng)暫無信息 請(qǐng)錄入 endl while p1 NULL cout p1 next void control countinformation worker p1 NULL p2 NULL if head NULL cout 系統(tǒng)暫無信息 無法計(jì)算 請(qǐng)錄入信息 endl return int i 選擇變量 do cout endl cout endl cout 1 按照編號(hào) 2 按照姓名 endl cout 0 返回上級(jí)菜單 endl cout 請(qǐng)選擇相應(yīng)編號(hào) endl cout i if i 2 i 0 cout 輸入錯(cuò)誤請(qǐng)重新輸入 endl else break switch i case 1 int num cout num p1 head while p1 NULL if p1 num num break else p2 p1 p1 p1 next if p1 NULL 若找到結(jié)點(diǎn) cout 職工的實(shí)際工資為 money else cout 該職工信息不存在 endl break case 2 char name 20 cout name p1 head while p1 NULL if strcmp p1 name name 0 break else p2 p1 p1 p1 next if p1 NULL 若找到結(jié)點(diǎn) cout 職工的實(shí)際工資為 money else cout 信息查詢失敗 endl break case 0 return while i 0 void control readinformation 讀入員工信息 int mark 類標(biāo)記 worker p NULL ifstream infile worker1 txt ios in 讀取一條記錄 if infile cerr Open error mark switch mark case 1 p new manager 1 p mark 1 infile p num p name p sex p branch p job p basic infile p jibie break case 2 p new saleman 2 p mark 2 infile p num p name p sex p branch p job p xiaoshoue break case 3 p new technologyman 3 p mark 3 infile p num p name p sex p branch p job p worktime break case 4 p new salemanager 4 p mark 4 infile p num p name p sex p branch p job p basic p jibie p xiaoshoue break p next NULL if mark 0 if head NULL 鏈表已經(jīng)存在 worker p1 NULL 指針初始化 p1 head while p1 next NULL 查找尾結(jié)點(diǎn) p1 p1 next p1 next p 連接結(jié)點(diǎn) cout 信息讀入成功 endl break else 鏈表不存在 head p 連接結(jié)點(diǎn) cout 信息成功 endl infile close cout 信息讀入成功 endl void control keepinformation 保存員工信息 worker p head if p NULL cout 系統(tǒng)暫無信息 無法保存 請(qǐng)錄入信息 endl return ofstream outfile worker1 txt ios out if outfile cerr Open error endl abort while p NULL outfile mark num name sex branch job mark 1 outfile getjibie else if p mark 2 outfile getxiaoshoue else if p mark 3 outfile getworktime else if p mark 4 outfile getjibie getxiaoshoue outfile next outfile 0 endl outfile close cout 保存信息成功 endl void control tongjiformation worker p1 NULL p2 NULL p1 head if p1 NULL cout 系統(tǒng)暫無信息 請(qǐng)錄入信息 endl return int i 選擇變量 do cout endl cout endl cout 請(qǐng)選擇統(tǒng)計(jì)參數(shù) endl cout 1 按照性別 2 按照職務(wù) endl cout 3 總?cè)藬?shù) 4 返回上級(jí)菜單 endl cout endl cout 請(qǐng)選擇相應(yīng)編號(hào) endl cout i if i 4 i 0 cout 輸入錯(cuò)誤請(qǐng)重新輸入 endl else break switch i case 1 int k do cout endl cout endl cout 請(qǐng)選擇 endl cout 1 男員工 2 女員工 endl cout 0 返回上級(jí)菜單 endl cout endl cout 請(qǐng)選擇相應(yīng)編號(hào) endl cout k if k 2 k 0 cout 輸入錯(cuò)誤請(qǐng)重新輸入 endl else break switch k case 1 cout 男職工數(shù)為 worker count1 endl break case 2 cout 女職工數(shù)為 worker count2 endl break case 0 break default cout 輸入錯(cuò)誤 endl while k 0 break case 2 int k do cout endl cout endl cout 請(qǐng)選擇 endl cout 1 經(jīng)理 2 技術(shù)人員 endl cout 3 銷售人員 4 銷售經(jīng)理 endl cout 0 返回上級(jí)菜單 endl cout endl cout 請(qǐng)選擇相應(yīng)編號(hào) endl cout k if k 4 k 0 cout 輸入錯(cuò)誤請(qǐng)重新輸入 endl else break switch k case 1 cout 經(jīng)理人數(shù)為 worker count3 endl break case 2 cout 技術(shù)人員人數(shù)為 worker count5 endl break case 3 cout 銷售人員人數(shù)為 worker count4 endl break case 4 cout 銷售經(jīng)理人數(shù)為 worker count6 endl break case 0 break default cout 輸入錯(cuò)誤 endl while k 0 break case 3 cout 總員工數(shù)為 worker count endl break case 4 break default cout 輸入錯(cuò)誤 endl while i 4 4 3 主函數(shù)實(shí)現(xiàn) int

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論