版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、中國石油大學(xué)(華東)信息與控制工程學(xué)院程序設(shè)計實習(xí)報告小型公司工資管理系統(tǒng)的設(shè)計專業(yè)班級:電子信息工程學(xué) 號:姓 名:指導(dǎo)教師:時 間: 2013.7.12013.7.62013年7月目錄一、實習(xí)內(nèi)容 1二、設(shè)計思路 2三、程序調(diào)試過程中典型問題及解決方法 4四、運行結(jié)果 5五、程序使用說明 12六、 心得體會及課程改進(jìn)設(shè)想 12備注:頁碼根據(jù)目錄的實際頁碼進(jìn)行標(biāo)注一、實習(xí)內(nèi)容1.1、課程設(shè)計的目的此次課程設(shè)計的目的是以程序設(shè)計語言(C/C+)為基礎(chǔ),針對具有一定 難度的綜合性題目,進(jìn)行分析、編程、調(diào)試和運行,進(jìn)一步掌握面向?qū)ο蠛兔嫦?過程程序設(shè)計的基本方法和編程技巧,鞏固所學(xué)理論知識,使理論
2、與實踐相結(jié)合, 提高分析問題、解決問題的能力。通過設(shè)計一個簡單的小型公司工資管理系統(tǒng),進(jìn)一步熟悉C+中類的概 念、類的封裝、繼承和多態(tài)的實現(xiàn)方式。了解系統(tǒng)開發(fā)的需要分析,類層次設(shè)計, 模塊分析,編碼測試,模塊組裝與整體調(diào)試的全過程,逐步熟悉程序設(shè)計的方法, 并養(yǎng)成良好的編程習(xí)慣。1.2、設(shè)計題目及要求1題目:小型公司工資關(guān)系系統(tǒng)設(shè)計2設(shè)計說明與要求(1)公司主要有4類人員:經(jīng)理、技術(shù)員、銷售員、銷售經(jīng)理。要求儲存 這些人的職工號姓名、月工資、年齡、性別等信息。(2)工資的計算方法A、經(jīng)理:固定月薪為8000元;B、技術(shù)員:工作時間X小時工資(100元每小時);C、銷售員:銷售額X 4%提成;D
3、、銷售經(jīng)理:底薪(5000元)+所轄部門銷售額總額X 0.5%;(3)類的層次結(jié)構(gòu)大體如下:(4)輸入員工基本數(shù)據(jù),要求每類人員不能少于4人,員工信息輸出格式參考運行效果5) 實現(xiàn)功能應(yīng)用程序中要有菜單,用于選擇各種功能,其中 數(shù)據(jù)輸入:輸入各種數(shù)據(jù); 數(shù)據(jù)統(tǒng)計:統(tǒng)計各種銷售經(jīng)理下屬銷售員的銷售額及限售額之和;銷 售經(jīng)理按工資進(jìn)行的冒泡排序; 數(shù)據(jù)打?。捍蛴「黝悊T工的數(shù)據(jù)信息; 數(shù)據(jù)備份:把各類員工的數(shù)據(jù)星系寫入文件中保存; 推出本系統(tǒng);(6)菜單說明 數(shù)據(jù)錄入指通過鍵盤輸入各類員工的各項數(shù)據(jù); 數(shù)據(jù)統(tǒng)計指統(tǒng)計各銷售經(jīng)理下屬銷售員的銷售額及銷售額之和;銷售 經(jīng)理按工資進(jìn)行冒泡法排序; 數(shù)據(jù)打印
4、指按照表格的格式在屏幕上輸出個員工的信息; 數(shù)據(jù)備份指將所有員工的信息保存到文件; 退出:結(jié)束程序的運行。(7)注意一個銷售經(jīng)理管轄多個銷售員。(8)其他功能可以自己擴充(擴充的功能若比較合理可適當(dāng)加分) 。( 9) 要求在控制臺下完成(顯示內(nèi)容都在黑屏下顯示) 。二、設(shè)計思路1、程序應(yīng)實現(xiàn)的功能,有數(shù)據(jù)輸入,數(shù)據(jù)統(tǒng)計,數(shù)據(jù)打印,數(shù)據(jù)備份和退出系 統(tǒng) 5 個。2、 考慮各種數(shù)據(jù)類型還有所需的C+內(nèi)的函數(shù),要引用iostream vstri ng vfstream iomanip這四個頭文件。viomanip用其setw (n)設(shè)置其后輸出數(shù)據(jù) 的寬度為n位,便于表格的制作。fstream用于數(shù)
5、據(jù)備份,使用時,先用ofstream outfile(即定義 ofstream 類對象 outfile)。3、outfile.open(”小型公司工資管理系統(tǒng).txt,ios: out);打開磁盤流文件,并且 對備份文件進(jìn)行命名,同時確定存儲位置。4、首先定義一個 employee 的雇員基類,然后得到 technician、manager、 seller 三個分別為技術(shù)員類,經(jīng)理類,銷售員類的派生類,再由man ager派生出銷售經(jīng)理類salesmanager每個類中的數(shù)據(jù)成員都是protected型的,成員函數(shù)都是public 型的,所有的繼承都是公有繼承, 基類中定義有數(shù)據(jù)輸入函數(shù), 各
6、派生類中有由 基類繼承過來的不同的數(shù)據(jù)輸入函數(shù)。5、然后定義各功能的函數(shù),如f1()、f2()、beg in ()等。4、數(shù)據(jù)統(tǒng)計、打印以及備份都以表格形式輸出。表格通過制表符進(jìn)行設(shè)計。表頭表中表尾還有分隔符均單獨定義成 void型的函數(shù)。如: void begin()coutvv |1111n endl;coutvv |職工號 丨 姓名 丨 性別 丨 年齡 丨 工資 丨endl;void middle()coutvv I1111T vvendl;。6、因為類中成員都是保護(hù)類型的,所以要定義屬于各類的返回成員值的函數(shù), 如 rshuyu ()、 rnum ()等,在后面統(tǒng)計、打印時會用到。7、
7、在進(jìn)行銷售經(jīng)理的數(shù)據(jù)輸出時,考慮其與銷售員之間所屬關(guān)系,定義全局?jǐn)?shù)組double wagen4單獨存放銷售經(jīng)理的工資,排序時通過if語句先判斷所屬關(guān)系,再進(jìn)行冒泡法排序,這是要用到雙重循環(huán)。8、main 函數(shù)里定義了四個對象數(shù)組,technician tn 1、manager mn2 seller sn3、 salesmanager man4其中n1、n2、n3、n4都是全局常變量,分別代表技術(shù)員、 經(jīng)理、銷售員、銷售經(jīng)理的人數(shù),便于程序修改。9、整個程序由主函數(shù)的一個 for 循環(huán)控制, 根據(jù)輸入的操作選項通過一個 switch語句判斷該進(jìn)行什么操作,每一個case后面對應(yīng)一個函數(shù),每個函數(shù)
8、對應(yīng)一個操作, 1 對應(yīng)數(shù)據(jù)輸入, 2對應(yīng)數(shù)據(jù)統(tǒng)計, 3對應(yīng)數(shù)據(jù)打印, 4對應(yīng)數(shù)據(jù)備份, 5 對應(yīng)退出系統(tǒng)。10、case 中調(diào)用四個帶參數(shù)的函數(shù) f3(t, m, s, ma)、 statistics(t, m, s, ma)、 print(t, m, s, ma)、beifen(t, m, s, ma)。四個函數(shù)均用了四個循環(huán)語句分別進(jìn) 行輸入、統(tǒng)計、打印、備份。如輸入中的一個:for(i=0;i :雀屈/W :額站貝名53 .2 ;. 頂403030號 編07 內(nèi)3 盹理號.7仝扁6 w 5編朋內(nèi)3 盹理號 w15空扁15:Jwn-C w 4 / 304 1酚 15空4 2 4014!號
9、w編蔦 -1 i 7 1 7836理 8經(jīng)名5,經(jīng)召5 經(jīng)名5 ,經(jīng)名5 : 隹笹別齡隹畔別齡臺別齡隹旌別齡 隹年4年銷蟲年銷304 號 編 的404n z ) IB-/w34理乙 u b2/4職工號為404銷售經(jīng)理外馴g下屬銷售員的業(yè)績?yōu)?職工號姓名銷售額307450S039845000銷售額總計90000鞘售經(jīng)理排序為;耳旺號姓名性別年齡工資402HuV/295?004O3zhouV/345615401sunw365520404zhengm455450女小型公司管理系統(tǒng)BcaucbpJ目CR 二 犍犍犍犍犍 車車車車車 作回回回0-0- 11S 的#;:需 12 3 4 5 爾5輕入計畧統(tǒng)
10、 請數(shù)數(shù)數(shù)數(shù)區(qū)跺g覽表如下職工號姓名性別年齡工資101乙hanglV/2?5600102vangln2?5800103alw233400104q2n233500經(jīng)理職工號姓名性別年齡工資201zhang2VJ348000202uan g2n368000203elu238600204e2n348000銷售經(jīng)理職工號姓名性別年齡工資402liuw295700403zhouVI345615401sunw365520404zhengn455450銷售員亍匚二 _ 9二 J ftul - 犍犍槌犠犍 車車車車車 作0-0-0-0-酉 18S需 所:2 3 4 5 靑計曙統(tǒng) 我g居B:g:5出 作退 f
11、個作5 一操否 S) 選所3 請您是職工號姓名性別年齡工資所屬部門經(jīng)理編號301ahang3n282000401302uangSW322160401303v/anlV/352400402304uan2rn263200402305rl3232240403306r2n452680493307r3n35180040430845u341800404小型公司管理系統(tǒng)*六11二&c fht! _ 9UJ UPC U21了 . MJX、 鐵鐵.牧錢 車車車車車 作回回回回回 遷伎按按按按 需 斤 1 2 3 4 5 一JXA X iliiF2ress anp key to cont inueE小型公司工費皆
12、連系線.ixt -記爭本文件舊編輯格式)直看加希肋瞬本情況-覽表如下職工號姓名性別年齡工資101zhanglw275600102wangln275800103qiw233400104Q2n233500經(jīng)理職工號姓名性別年齡工資201zhang2u3*8000202ujang2n368000203p1u2380002 OUe2m9Hsooo銷售經(jīng)理職工號姓名性別年齡工資liuw295700*403zhouw345615M01sunw36552 0404zhengn45545 0銷售員職工號嬉名性別年齡工資所屬部門經(jīng)理編號n2B20003朋vangSw32216Uwan1訕9524awan2m26
13、32 00305r1w232240306r2Hl2686307n3518 BO30845u341800電04五、程序使用說明1、看到菜單后,屏幕上有提示“請選擇一個操作:”用戶首先輸入1進(jìn)行數(shù)據(jù)輸 入;2、輸入1后,會逐項顯示所要輸入的成員信息,按順序輸入即可;3、數(shù)據(jù)輸入完以后,會返回菜單由用戶重新選擇其他操作,包括數(shù)據(jù)統(tǒng)計,數(shù) 據(jù)打印和數(shù)據(jù)備份,最后還有退出系統(tǒng)的選項;4、如果輸入2,則進(jìn)行數(shù)據(jù)統(tǒng)計,會在屏幕顯示各個銷售經(jīng)理下屬銷售員的業(yè)績,還有對銷售經(jīng)理按工資從高到低進(jìn)行排序;5、如果輸入3,則進(jìn)行數(shù)據(jù)打印,屏幕會顯示各類成員的基本信息,包括編號、 姓名、性別、年齡、工資,銷售員的還有其
14、所屬部門經(jīng)理的編號;6如果輸入4,則進(jìn)行數(shù)據(jù)備份,將打印出來的信息備份到系統(tǒng)指定的文件夾 中;7、輸入5就是退出系統(tǒng),退出前可以循環(huán)操作,但有一定的次數(shù)限制,最好不 要超過100次,一般情況夠用;8、由于人數(shù)固定,所以數(shù)據(jù)輸入時只能輸入確定人數(shù)的信息,四名技術(shù)員,四 名經(jīng)理,八名銷售員,四名銷售經(jīng)理;六、心得體會及課程改進(jìn)設(shè)想通過對小型公司工資管理系統(tǒng)的 C+程序編寫,加強了我對C+功能的了解, 對象與類之間關(guān)系的理解, 同時也提高了上機實踐能力, 自主學(xué)習(xí)能力, 錯誤分 析能力從實習(xí)前開始對實習(xí)進(jìn)行構(gòu)思, 如老師所言, 要全局考慮, 而我也正因為編 寫前考慮不周全, 在定義完類以后, 很快把
15、輸入數(shù)據(jù)的函數(shù)編寫出來了, 上機操 作也很成功??墒堑浇y(tǒng)計部分還有打印和備份部分就開始發(fā)現(xiàn)原寫的程序有許多 地方需要改動, 或者增添新的成員或函數(shù), 比如統(tǒng)計數(shù)據(jù)時需要計算銷售經(jīng)理的 工資并且排序, 這就需要定義新的數(shù)組, 新的函數(shù)來判斷哪些銷售員屬于哪位銷 售經(jīng)理,并按其工資從高到低排序。還有打印數(shù)據(jù)時需要計算各類對象的工資, 就得回頭重新定義一些成員函數(shù), 而且由于成員都是保護(hù)類型的, 類外不能直接 訪問,所以需要在類中定義具有返回類中各數(shù)據(jù)功能的函數(shù)。 這些都是數(shù)據(jù)輸入 時沒有考慮到的。所以說,全局統(tǒng)籌規(guī)劃,有縝密的構(gòu)思很重要。當(dāng)然,快速接受新事物的能 力也是必備的, 因為備份數(shù)據(jù)在課堂
16、上未曾提及, 就得自己通過網(wǎng)絡(luò)查找相關(guān)信 息,百度后才知道要添加 這個頭文件,用 outfile 來進(jìn)行數(shù)據(jù)備份, 并用 outfile.open( “” ,ios:out) 打開磁盤流文件。還有如果需要退出系統(tǒng), 除了我用 break 跳出循環(huán)的方法外,也可以用 exit(0) 函數(shù)退出,只需增加一個 頭文件。這些知識都是自己查找相關(guān)信息分析才知道的, 所以自學(xué)能 力也很重要。再者,由于程序編寫過程中出現(xiàn)錯誤是常有的事, 那么, 分析錯誤的能力也 就需要慢慢提高, 因為錯誤提示都是英文, 所以學(xué)好英語也很有必要。 錯誤往往 是粗心或者語法不對,比如大括號少了或者多了或者放錯了位置,少打分號了
17、, 輸入法轉(zhuǎn)換時符號輸入不經(jīng)意間改變了, 或者一些函數(shù)沒有聲明, 聲明位置靠后 了,由于程序較長, 有時候搞不清在哪定義在哪調(diào)用了。 有時也可能重復(fù)定義了。但其實難改的錯誤并不是這些, 當(dāng)一個程序可以運行時, 發(fā)現(xiàn)輸出的數(shù)據(jù)存 在問題這才是最頭疼的, 我用了幾天時間找一個錯誤的出錯原因。 就是銷售經(jīng)理 的工資和排序有問題。 整個程序編譯連接都沒有問題, 除了銷售經(jīng)理的工資外其 他數(shù)據(jù)也都正確。最后找老師幫忙,才發(fā)現(xiàn)是一處極不起眼的地方出現(xiàn)了錯誤, 程序段是這樣的:for(i=0;iD;i+)double sum=0;for(j=0;jC;j+)if(SM i .turn_num()=Sj.turn_belong() / 其中的 i 被我寫成了 jsum+=Sj.turn_sales_money();wagei=sum
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 清真寺裝修合同樣本
- 金華日式屋頂花園施工方案
- 度假別墅裝修合同協(xié)議
- 醫(yī)療藥品冷鏈運輸協(xié)議
- 服裝輔料干線物流合同
- 北京市裝修賠償合同
- 鋁藝別墅護(hù)欄施工方案
- 項目股權(quán)招募方案
- 大班幼小斜街?jǐn)?shù)學(xué)試卷
- 借款管理服務(wù)合同范例
- 新課程關(guān)鍵詞
- 光伏電站生產(chǎn)準(zhǔn)備大綱全套
- 員工內(nèi)部眾籌方案
- 媽祖重離子醫(yī)院硼中子俘獲治療系統(tǒng)環(huán)境影響報告
- 復(fù)變函數(shù)與積分變換期末考試試卷及答案
- 初中班級成績分析課件
- 海洋工程裝備制造職業(yè)發(fā)展研究報告
- 勞務(wù)合同樣本下載
- 聰明格練習(xí)題(初、中級)
- 20XX年吉林省事業(yè)單位公開招聘人員審核備案表
- 產(chǎn)科危重癥識別與處理及危重癥管理培訓(xùn)課件
評論
0/150
提交評論