

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計(jì)</b></p><p> 2009 ~ 2010學(xué)年第一學(xué)期</p><p> 設(shè)計(jì)題目 《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)</p><p> 院(系) 計(jì)算機(jī)科學(xué)與信息工程學(xué)院 </p><p> 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) </p&g
2、t;<p> 班 級 學(xué)號 </p><p> 學(xué)生姓名 </p><p> 設(shè)計(jì)時(shí)間 2010年 1 月 25 日-- 1 月 29 日 </p><p> 指導(dǎo)教師
3、</p><p> 提交日期 2010年1月29日 </p><p><b> 課程設(shè)計(jì)任務(wù)書</b></p><p> 指導(dǎo)教師(簽名): 教研室主任(簽名): 目錄</p><p><b> 1概述
4、:4</b></p><p> 1.1xxxxxx4</p><p> 1.2xxxxxx:4</p><p><b> 2課題分析5</b></p><p> 2.1xxxx52.2xxxx5</p><p> 3詳細(xì)設(shè)計(jì)說明6</p>
5、;<p> 3.1xxxx6</p><p><b> 3.2xxx7</b></p><p><b> 3.3xxx7</b></p><p> 4課程設(shè)計(jì)總結(jié)11</p><p> 5軟件使用說明12</p><p> 6附
6、錄(參考文獻(xiàn),原代碼:)12</p><p><b> 參考文獻(xiàn):12</b></p><p><b> 原代碼12</b></p><p><b> 概述</b></p><p><b> 1.1基本功能</b></p>&l
7、t;p> 實(shí)現(xiàn)一個(gè)簡單的科研經(jīng)費(fèi)管理系統(tǒng)。系統(tǒng)的主要功能是計(jì)算科研經(jīng)費(fèi)的使用情況并存檔。</p><p> ?。?)可以輸入各個(gè)支出項(xiàng)的費(fèi)用、人數(shù)和天數(shù)等。</p><p> ?。?)可以計(jì)算支出項(xiàng)費(fèi)用。</p><p> ?。?)可以查找支出項(xiàng)信息。</p><p> ?。?)可以將支出項(xiàng)信息保存進(jìn)文件。</p>&l
8、t;p><b> 1.2拓展功能</b></p><p><b> 無</b></p><p><b> 2.課題分析</b></p><p><b> 2.1類的設(shè)計(jì)</b></p><p> 在這個(gè)課程設(shè)計(jì)中,需要有6個(gè)類。根據(jù)設(shè)計(jì)任務(wù)
9、,設(shè)計(jì)一個(gè)虛基類expenditure ,然后派生出book(圖書)類,hardware(硬件)類,training(培訓(xùn))類和travel(出差)類,從travel類和training類中派生出一個(gè)research(調(diào)研)類。</p><p> 在基類中,除了定義構(gòu)造函數(shù)和析構(gòu)函數(shù)外,還應(yīng)定義對各類支出項(xiàng)信息應(yīng)有的操作,這樣可以規(guī)范類族中各派生類的基本行為。由于各類支出項(xiàng)經(jīng)費(fèi)的計(jì)算方法不同,在基類中將coun
10、tpay()定義為純虛函數(shù),然后在派生類中進(jìn)行重新定義其具體實(shí)現(xiàn),以便實(shí)現(xiàn)運(yùn)行時(shí)的多態(tài)性。</p><p> class expenditure</p><p><b> {</b></p><p> protected:</p><p> long number;</p><p> c
11、har name[20];</p><p><b> int pay;</b></p><p><b> public:</b></p><p> expenditure();</p><p> ~expenditure();</p><p> void info(
12、);</p><p> virtual void countpay()=0;</p><p> int getpay();</p><p> char *getname();</p><p> void recordinfo();</p><p> void recordpay();</p>&
13、lt;p> long getnumber();</p><p><b> };</b></p><p> class book:public expenditure</p><p><b> {</b></p><p><b> private:</b><
14、/p><p><b> int bpay;</b></p><p><b> public:</b></p><p> void infor();</p><p> void countpay();</p><p><b> };</b></
15、p><p> class hardware:public expenditure</p><p><b> {</b></p><p><b> private:</b></p><p><b> int hpay;</b></p><p><
16、b> public:</b></p><p> void infor();</p><p> void countpay();</p><p><b> };</b></p><p> class training:virtual public expenditure</p>&
17、lt;p><b> {</b></p><p><b> public:</b></p><p> int trainpay;</p><p> int people;</p><p> void infor();</p><p> void countpa
18、y();</p><p><b> };</b></p><p> class travel:virtual public expenditure</p><p><b> {</b></p><p><b> public:</b></p><p&
19、gt;<b> int day;</b></p><p> int travelpay;</p><p><b> travel();</b></p><p> void infor();</p><p> void countpay();</p><p><
20、b> };</b></p><p> class research:public training,public travel</p><p><b> {</b></p><p><b> public:</b></p><p> void countpay();<
21、;/p><p> void infor();</p><p><b> };</b></p><p><b> 2.2類的實(shí)現(xiàn)</b></p><p> 通過構(gòu)建變量和函數(shù)來體現(xiàn)該類的屬性。</p><p> 根據(jù)用戶需要expenditure類應(yīng)該擁有的屬性有:編號,
22、支出項(xiàng)名稱,支出項(xiàng)編號。expenditure類的服務(wù)可以包括info()、 search()、countPay()、recordInfo()和recordPay()。其中,info()函數(shù)用于接收用戶輸入的支出信息;search()函數(shù)用來根據(jù)支出名稱查找支出信息;countPay()函數(shù)為支出計(jì)算函數(shù),但在基類中為空,原因是各類支出項(xiàng)目的計(jì)算方法不同,無法在基類中統(tǒng)一定義,必須在派生類中分別定義。recordInfo()函數(shù)和rec
23、ordPay()函數(shù)分別是支出信息和支出經(jīng)額,分別將信息存入文件info.txt和pay.txt。</p><p> #include<iostream></p><p> #include<fstream></p><p> #include<cstring></p><p> #include&
24、lt;stdlib.h></p><p> using namespace std;</p><p> expenditure::expenditure()</p><p><b> {}</b></p><p> expenditure::~expenditure()</p><p&g
25、t;<b> {}</b></p><p> void expenditure::info()</p><p><b> {</b></p><p> cout<<"請輸入編號:";</p><p> cin>>number;</p>
26、<p> cout<<"請輸入名稱:";</p><p> cin>>name;</p><p><b> }</b></p><p> long expenditure::getnumber()</p><p><b> {</b>
27、;</p><p> return number;</p><p><b> }</b></p><p> int expenditure::getpay()</p><p><b> {</b></p><p> return pay;</p>&l
28、t;p><b> }</b></p><p> char *expenditure::getname()</p><p><b> {</b></p><p> return name;</p><p><b> }</b></p><p&g
29、t; void expenditure::recordinfo()</p><p><b> {</b></p><p> ofstream file("info.txt",ios::app);</p><p> file<<"編號:"<<number<<end
30、l;</p><p> file<<"名稱:"<<name<<endl<<endl;</p><p> file.close();</p><p><b> }</b></p><p> void expenditure::recordpay(
31、)</p><p><b> {</b></p><p> ofstream file("pay.txt",ios::app);</p><p> file<<"編號:"<<number<<endl;</p><p> file<&
32、lt;"名稱:"<<name<<endl;</p><p> file<<"費(fèi)用:"<<pay<<endl<<endl;</p><p> file.close();</p><p><b> }</b></p>
33、<p> void book::infor()</p><p><b> {</b></p><p> cout<<"請輸入圖書的發(fā)票金額:";</p><p> cin>>bpay;</p><p><b> }</b></p&
34、gt;<p> void book::countpay()</p><p><b> {</b></p><p><b> pay=bpay;</b></p><p><b> }</b></p><p> void hardware::infor()&
35、lt;/p><p><b> {</b></p><p> cout<<"請輸入設(shè)備的發(fā)票金額:";</p><p> cin>>hpay;</p><p><b> }</b></p><p> void hardware:
36、:countpay()</p><p><b> {</b></p><p><b> pay=hpay;</b></p><p><b> }</b></p><p> void training::infor()</p><p><b&
37、gt; {</b></p><p> cout<<"請輸入培訓(xùn)費(fèi)用:";</p><p> cin>>trainpay;</p><p> cout<<"請輸入培訓(xùn)人數(shù):";</p><p> cin>>people;</p&g
38、t;<p><b> }</b></p><p> void training::countpay()</p><p><b> {</b></p><p> pay=trainpay*people;</p><p><b> }</b></p&g
39、t;<p> travel::travel()</p><p><b> {</b></p><p> travelpay=100;</p><p><b> }</b></p><p> void travel::infor()</p><p>&l
40、t;b> {</b></p><p> cout<<"請輸入出差的天數(shù):";</p><p><b> cin>>day;</b></p><p><b> }</b></p><p> void travel::countpa
41、y()</p><p><b> {</b></p><p> pay=travelpay*day;</p><p><b> }</b></p><p> void research::infor()</p><p><b> {</b>&l
42、t;/p><p> cout<<"請輸入調(diào)研費(fèi)用:";</p><p> cin>>trainpay;</p><p> cout<<"請輸入調(diào)研人數(shù):";</p><p> cin>>people;</p><p> cou
43、t<<"請輸入調(diào)研的天數(shù):";</p><p><b> cin>>day;</b></p><p><b> }</b></p><p> void research::countpay()</p><p><b> {</b&g
44、t;</p><p> pay=trainpay*people+100*day;</p><p><b> }</b></p><p><b> 函數(shù)設(shè)計(jì)說明:</b></p><p> Info()—輸入函數(shù),輸入編號,名稱</p><p> Infor()--輸
45、入各個(gè)類不同的信息</p><p> Countpay()—計(jì)算支出費(fèi)用</p><p> Recordinfo()--保存編號,名稱</p><p> Recordpay()--保存編號,名稱,支出費(fèi)用</p><p> Search()--查詢信息的函數(shù)</p><p><b> 3.詳細(xì)設(shè)計(jì)說
46、明</b></p><p> 對于整個(gè)系統(tǒng)的設(shè)計(jì)思路是,首先,輸入編號,支出項(xiàng);然后,在計(jì)算該支出項(xiàng)經(jīng)費(fèi)的時(shí)候,系統(tǒng)先從已輸入的支出項(xiàng),調(diào)用不同的處理程序進(jìn)行計(jì)算;最后將結(jié)果存檔。隨后可在查詢功能里面找尋已保存的資料信息。</p><p><b> 3.1 界面</b></p><p> 程序?qū)崿F(xiàn)及解析如下:</p>
47、;<p> 點(diǎn)擊運(yùn)行,出現(xiàn)主界面</p><p><b> 選擇要輸入的支出項(xiàng)</b></p><p> 查詢正確的支出項(xiàng)名稱時(shí)所顯示出的運(yùn)行結(jié)果</p><p> 查詢錯(cuò)誤的支出項(xiàng)名稱時(shí)所顯示出的運(yùn)行結(jié)果</p><p><b> 退出程序</b></p>&
48、lt;p><b> 3.2方案</b></p><p><b> 算法:</b></p><p> 本程序主要是對不同支出項(xiàng)經(jīng)費(fèi)的計(jì)算。</p><p> 圖書:費(fèi)用=實(shí)際發(fā)票金額</p><p> 設(shè)備:費(fèi)用=實(shí)際發(fā)票金額</p><p> 培訓(xùn):費(fèi)用=培
49、訓(xùn)費(fèi)用實(shí)際支出*人數(shù)</p><p> 出差:費(fèi)用=出差的天數(shù)*出差補(bǔ)貼100/天</p><p> 調(diào)研:費(fèi)用=培訓(xùn)費(fèi)+出差補(bǔ)貼</p><p><b> 3.3程序描述</b></p><p> 運(yùn)行程序---主菜單----輸入選擇數(shù)字---利用if語句調(diào)用相應(yīng)的函數(shù)---輸入1---調(diào)用info()函數(shù)--
50、-輸入選擇數(shù)字---調(diào)用相應(yīng)的輸入函數(shù)和save()函數(shù)---是否繼續(xù)輸入</p><p> ?。▂/n)---輸入n---輸入選擇數(shù)字---輸入0---主菜單---輸入2---調(diào)用search()函數(shù)</p><p> 費(fèi)用的編號和支出項(xiàng)的編號都是長整型的,費(fèi)用的支出項(xiàng)名稱是字符型的。</p><p> 具體的基類和派生類的定義:</p><
51、;p><b> 主程序流程圖:</b></p><p><b> 3.4限制條件 </b></p><p> 本程序用戶添加的各個(gè)職位的人員最多只能是18個(gè)。</p><p><b> 4.課程設(shè)計(jì)總結(jié)</b></p><p> 這次的課程設(shè)計(jì)使我更清楚地認(rèn)識到
52、每個(gè)類的作用。起初,對文件和指針的使用運(yùn)用不太好,但是最后都得到初步解決。</p><p> 本程序綜合性非常強(qiáng),由于我們對使用C++設(shè)計(jì)程序的能力還不是很熟練,所以在設(shè)計(jì)時(shí)非常吃力。在整個(gè)程序中,我通過使用while循環(huán),for和if的嵌套循環(huán),實(shí)現(xiàn)各功能之間的聯(lián)系,用主函數(shù)實(shí)現(xiàn)對功能的選擇以及類的定義及使用來完成程序設(shè)計(jì),使我提高了對C++中語句的使用能力和組合能力,進(jìn)一步加強(qiáng)了我對使用C++編程的能力。&
53、lt;/p><p> 通過此次程序設(shè)計(jì)實(shí)習(xí),我發(fā)現(xiàn)自己在學(xué)習(xí)C++方面還有很多不足,在此程序中可能還有一些不足和錯(cuò)誤,我們將在以后的學(xué)習(xí)過程中不斷努力并強(qiáng)化對C++的練習(xí)。</p><p><b> 5.軟件使用說明</b></p><p> Expenditure類:</p><p><b> n:支出項(xiàng)
54、編號</b></p><p><b> name:項(xiàng)目名</b></p><p><b> pay:支出金額</b></p><p> countPay():計(jì)算支出函數(shù)</p><p> recordInfo():保存信息</p><p> recor
55、dPay():保存支出</p><p> Training類:</p><p> money:培訓(xùn)單人支出</p><p><b> num:培訓(xùn)人數(shù)</b></p><p><b> Travel類</b></p><p><b> Day:出差天數(shù)&l
56、t;/b></p><p><b> Research類</b></p><p> money:調(diào)研單人支出</p><p><b> num:調(diào)研人數(shù)</b></p><p><b> Day:調(diào)研時(shí)長</b></p><p> 6.附
57、錄(參考文獻(xiàn),原代碼)</p><p> ?。?)《面向?qū)ο蟪绦蛟O(shè)計(jì)》 ,鄭莉,清華大學(xué)出版社, </p><p> ?。?)《面向?qū)ο蟪绦蛟O(shè)計(jì)C++語言》,朱戰(zhàn)立等編 西安電子科技大學(xué)出版社</p><p> ?。?)《面向?qū)ο蟪绦蛟O(shè)計(jì)----Visual C++》,劉斌等編, 清華大學(xué)出版社 </p><p> ?。?)《面向?qū)ο蟪?/p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【課程設(shè)計(jì)】面向?qū)ο蟪绦蛟O(shè)計(jì)
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)
- 《面向?qū)ο蟮某绦蛟O(shè)計(jì)》課程設(shè)計(jì)
- java面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)程序設(shè)計(jì)
- 《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)--圖書管理系統(tǒng)的設(shè)計(jì)
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)--火車訂票系統(tǒng)
- 面向?qū)ο蟮某绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)--校友錄管理系統(tǒng)
- c面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)-人事管理系統(tǒng)
- java課程設(shè)計(jì)--java面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)
- 《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)---java日歷
- 《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)java日歷
- 面向?qū)ο蟪绦蛟O(shè)計(jì)學(xué)生選課系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告---學(xué)籍管理系統(tǒng)
- 《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)報(bào)告---書店圖書管理系統(tǒng)
- c++面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告
評論
0/150
提交評論