




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、課 程 設計20092009 20102010 學年第一學期學年第一學期設計題目設計題目 面向對象程序設計面向對象程序設計課程設計課程設計院(系)院(系) 計算機科學與信息工程學院計算機科學與信息工程學院 專專 業(yè)業(yè) 計算機科學與技術計算機科學與技術 班班 級級 學號學號 學生姓名學生姓名 設計時間設計時間 20102010 年年 1 1 月月 2525 日日- - 1 1 月月 2929 日日 指導教師指導教師 提交日期提交日期 20102010 年年 1 1 月月 2929 日日 上海應用技術學院課程設計任務書上海應用技術學院課程設計任務書課程名稱課程名稱面向對象程序設計面向對象程序設計課
2、程設計課程設計課程代碼課程代碼 B704210B704210設計題目設計題目科研經費管理系統(tǒng)的設計科研經費管理系統(tǒng)的設計題目序號題目序號設計時間設計時間20102010 年年 1 1 月月 2525 日日- - 20102010 年年 1 1 月月 2929 日日系系( (院)院)計算機科學與信息計算機科學與信息工程系工程系專業(yè)專業(yè)班級班級一、課程設計任務一、課程設計任務( (條件)條件) 、具體技術參數(shù)(指標)、具體技術參數(shù)(指標) 本課程設計是面向對象程序設計課程的后繼教學環(huán)節(jié),學好 C+語言就必須堅持用面向對象的思維方式分析問題、解決問題。科研經費管理系統(tǒng)課程設計題目:實現(xiàn)一個簡單的科研
3、經費管理系統(tǒng).系統(tǒng)的主要功能是計算科研經費的使用情況并存檔。項目內有 5 種不同類型的經費支出:圖書、培訓、調研、出差、設備,他們的經費計算方式各不相同。圖書按照實際發(fā)票金額計算經費;設備是按照實際發(fā)票經額計算經費;培訓按照培訓費用實際支出*人數(shù);出差按照出差的天數(shù)支出出差補貼 100/天,調研是培訓費+出差補貼科研經費管理系統(tǒng)的設計:對于整個系統(tǒng)的設計思路是,首先,輸入編號,支出項;然后,在計算該支出項經費的時候,系統(tǒng)先從已輸入的支出項,調用不同的處理程序進行計算;最后將結果存檔.從用戶需求中,可以發(fā)現(xiàn)5種類型的支出項都可以分別設計為一個類。首先,他們都屬于支出,因此可以設計一個基類 exp
4、enditure,然后從中派生出 book 類,hardware 類、training 類和 travel 類。從 travel 和 training 中派生出一個 research 類。根據(jù)用戶需要 expenditure 類應該擁有的屬性有:編號,支出項名稱,支出項編號。expenditure 類的服務可以包括 info()、 search() 、countPay() 、recordInfo()和 recordPay().其中,info()函數(shù)用于接收用戶輸入的支出信息;search()函數(shù)用來根據(jù)支出名稱查找支出信息;countPay()函數(shù)為支出計算函數(shù),但在基類中為空,原因是各類支出
5、項目的計算方法不同,無法在基類中統(tǒng)一定義,必須在派生類中分別定義。recordInfo()函數(shù)和 recordPay()函數(shù)分別是支出信息和支出經額,分別將信息存入文件 info。txt 和 pay.txt。二、對課程設計成果的要求(包括課程設計說明書、圖紙、圖表、實物等軟硬件要求)(1)分析科研經費管理系統(tǒng)程序結構: 畫出程序粗略的流程圖和各個模塊的詳細流程圖,每個功能模塊用文字說明他們的功能(與對應流程圖放在一起) ;(2)對你已經實現(xiàn)的功能(修改的、新編寫的)做詳細的說明, 并附上流程圖及程序清單。(3)自己對該科研經費管理系統(tǒng)的進一步設想;(4)對于有設想但最終未實現(xiàn)的功能的大致編程思
6、路的闡述;(5)論述在設計過程中遇到的并且對你具有啟發(fā)性的問題。(6)嚴禁抄襲,發(fā)現(xiàn)雷同,雙方扣分嚴禁抄襲,發(fā)現(xiàn)雷同,雙方扣分。三、課程設計工作進度計劃:周一白天:教師布置任務,講解本課設模塊。周一晚上:畫出主程序粗略的流程圖和各個模塊的詳細流程圖。周三:設計程序及調試程序.同時著手寫報告。周四:完成設計,提交報告,接受教師考評。四、主要參考資料(1) 面向對象程序設計 ,鄭莉,清華大學出版社, (2) 面向對象程序設計 C+語言 ,朱戰(zhàn)立等編 西安電子科技大學出版社(3) 面向對象程序設計-Visual C+,劉斌等編, 清華大學出版社 (4)面向對象程序設計-C+語言描述, Richard
7、 Johnsonbaugh(美)等著,蔡宇輝等譯,機械工業(yè)出版社, 2003 指導教師(簽名): 教研室主任(簽名): 目錄目錄1概述概述: .41.1XXXXXX.41。2XXXXXX:.42課題分析課題分析.52.1XXXX.52。2XXXX.53詳細設計說明詳細設計說明.63。1XXXX.63。2XXX.73.3XXX.74課程設計總結課程設計總結.115軟件使用說明軟件使用說明.126附錄(參考文獻附錄(參考文獻,原代碼:)原代碼:).12參考文獻:.12原代碼.121概述概述1。1 基本功能基本功能 實現(xiàn)一個簡單的科研經費管理系統(tǒng)。系統(tǒng)的主要功能是計算科研經費的使用情況并存檔。(1)
8、可以輸入各個支出項的費用、人數(shù)和天數(shù)等。(2)可以計算支出項費用。(3)可以查找支出項信息。(4)可以將支出項信息保存進文件。1.2 拓展功能拓展功能無2.課題分析課題分析2。1 類的設計類的設計 在這個課程設計中,需要有 6 個類.根據(jù)設計任務,設計一個虛基類 expenditure ,然后派生出 book(圖書)類,hardware(硬件)類,training(培訓)類和 travel(出差)類,從travel 類和 training 類中派生出一個 research(調研)類。 在基類中,除了定義構造函數(shù)和析構函數(shù)外,還應定義對各類支出項信息應有的操作,這樣可以規(guī)范類族中各派生類的基本行
9、為.由于各類支出項經費的計算方法不同,在基類中將countpay()定義為純虛函數(shù),然后在派生類中進行重新定義其具體實現(xiàn),以便實現(xiàn)運行時的多態(tài)性。class expenditureprotected:long number;char name20 ;int pay;public:expenditure();expenditure(); void info();virtual void countpay()=0;int getpay();char *getname() ;void recordinfo();void recordpay() ;long getnumber() ;;class bo
10、ok:public expenditureprivate:int bpay;public:void infor();void countpay();class hardware:public expenditureprivate:int hpay;public: void infor(); void countpay();;class training:virtual public expenditurepublic:int trainpay;int people;void infor();void countpay();;class travel:virtual public expendi
11、turepublic:int day;int travelpay;travel();void infor();void countpay();class research:public training,public travelpublic:void countpay();void infor();;2。2 類的實現(xiàn)類的實現(xiàn)通過構建變量和函數(shù)來體現(xiàn)該類的屬性。根據(jù)用戶需要 expenditure 類應該擁有的屬性有:編號,支出項名稱,支出項編號.expenditure 類的服務可以包括 info() 、 search() 、countPay()、recordInfo()和recordPay(
12、)。其中,info()函數(shù)用于接收用戶輸入的支出信息;search()函數(shù)用來根據(jù)支出名稱查找支出信息;countPay()函數(shù)為支出計算函數(shù),但在基類中為空,原因是各類支出項目的計算方法不同,無法在基類中統(tǒng)一定義,必須在派生類中分別定義.recordInfo()函數(shù)和 recordPay()函數(shù)分別是支出信息和支出經額,分別將信息存入文件 info.txt 和pay。txt。#includeiostream#includefstreamincludeusing namespace std;expenditure:expenditure()expenditure:expenditure()vo
13、id expenditure:info()coutnumber;coutname;long expenditure::getnumber()return number;int expenditure::getpay()return pay;char expenditure:getname()return name;void expenditure:recordinfo()ofstream file(”info.txt,ios::app);file編號:numberendl;file名稱:” nameendlendl;file.close();void expenditure:recordpay
14、()ofstream file(pay。txt”,ios:app);file”編號:” numberendl;file名稱:”nameendl;file”費用:”payendlendl;file。close();void book::infor()coutbpay;void book:countpay()pay=bpay;void hardware:infor()cout請輸入設備的發(fā)票金額:” ;cin hpay;void hardware::countpay()pay=hpay;void training::infor()couttrainpay;coutday;void travel:c
15、ountpay()pay=travelpay*day;void research::infor()couttrainpay;coutpeople;coutday;void research:countpay()pay=trainpay*people+100*day;函數(shù)設計說明:Info()輸入函數(shù),輸入編號,名稱Infor()-輸入各個類不同的信息Countpay()-計算支出費用Recordinfo()-保存編號,名稱Recordpay()保存編號,名稱,支出費用Search()查詢信息的函數(shù)3.詳細設計說明詳細設計說明對于整個系統(tǒng)的設計思路是,首先,輸入編號,支出項;然后,在計算該支出項
16、經費的時候,系統(tǒng)先從已輸入的支出項,調用不同的處理程序進行計算;最后將結果存檔。隨后可在查詢功能里面找尋已保存的資料信息。3.1 界面界面 程序實現(xiàn)及解析如下:點擊運行,出現(xiàn)主界面選擇要輸入的支出項查詢正確的支出項名稱時所顯示出的運行結果查詢錯誤的支出項名稱時所顯示出的運行結果退出程序3。2 方案方案 算法:本程序主要是對不同支出項經費的計算。圖書:費用=實際發(fā)票金額設備:費用=實際發(fā)票金額培訓:費用=培訓費用實際支出人數(shù)出差:費用=出差的天數(shù)出差補貼 100/天調研:費用=培訓費+出差補貼3.3 程序描述程序描述運行程序-主菜單-輸入選擇數(shù)字-利用 if 語句調用相應的函數(shù)-輸入 1-調用
17、info()函數(shù)-輸入選擇數(shù)字調用相應的輸入函數(shù)和 save()函數(shù)-是否繼續(xù)輸入(y/n)輸入 n-輸入選擇數(shù)字輸入 0-主菜單-輸入 2-調用search()函數(shù)費用的編號和支出項的編號都是長整型的,費用的支出項名稱是字符型的。具體的基類和派生類的定義:具體的基類和派生類的定義:Expenditure 類重要函數(shù):expenditure()expenditure()void info()virtual void countpay()=0book 類重要函數(shù):void infor()void countpay()hardware 類重要函數(shù):void infor()void countpay
18、()training 類重要函數(shù):void infor()void countpay()travel 類重要函數(shù):travel()void infor()void countpay()salesmanager 類重要函數(shù):void countpay(training &m,travel &n)void countpay()主程序流程圖:主程序流程圖:主菜單添加菜單查詢菜單設備培訓出差調研存儲信息到文件圖書輸入 i輸入 i結束繼續(xù)?繼續(xù)?添加信息YN輸入支出項名稱顯示支出項信息輸入信息不正確NY3。4 限制條件限制條件 本程序用戶添加的各個職位的人員最多只能是 18 個。4。課程設計總結。課程設計總結這次的課程設計使我更清楚地認識到每個類的作用。起初,對文件和指針的使用運用不太好,但是最后都得到初步解決。本程序綜合性非常強,由于我們對使用 C+設計程序的能力還不是很熟練,所以在設計時非常吃力。在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 標志設計整改方案(3篇)
- 物業(yè)鼠藥投放方案(3篇)
- 活動方案編制模板(3篇)
- 維修驗收考核方案(3篇)
- 廢氣處理方案書(3篇)
- 物料租賃服務方案(3篇)
- 服裝企業(yè)復工方案(3篇)
- 景觀交通規(guī)劃方案(3篇)
- 設備拆機維修方案(3篇)
- 市政設施消方案(3篇)
- GB 21454-2008多聯(lián)式空調(熱泵)機組能效限定值及能源效率等級
- 建設工程竣工驗收消防設計質量檢查報告(填寫范本)
- 錨桿錨固質量無損檢測
- 數(shù)碼迷彩工藝
- 高效執(zhí)行四原則授課版
- 動火許可證(模板)
- 論腦心同治理論與實踐解析課件
- 防汛應急預案桌面演練
- 代領畢業(yè)證委托書模板(通用6篇)
- CJJ-T 34-2022 城鎮(zhèn)供熱管網(wǎng)設計標準
- 部編版語文二年級下冊教案及教學反思(全冊)
評論
0/150
提交評論