版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)C+課程設(shè)計報告課程設(shè)計題目新科公司的設(shè)備管理系統(tǒng)專 業(yè):材料科學(xué)與工程目錄(1)設(shè)計目的 (2)(2)設(shè)計要求 (2)基本要求和創(chuàng)新要求(3)設(shè)計方法 (3)模塊功能說明(如函數(shù)功能、入口及出口參數(shù)說明,函數(shù)調(diào)用關(guān)系描述等)(4)總體設(shè)計 (4)設(shè)計系統(tǒng)的類層次,類層次中各個類的描述,類中各個成員函數(shù)(5)調(diào)試與測試 (16)調(diào)試方法,測試結(jié)果的分析與討論,測試過程中遇到的主要問題及采取的解決措施(6)實(shí)驗(yàn)總結(jié) (17) 1.設(shè)計目的:1、目的: (1)要求學(xué)生達(dá)到熟
2、練掌握C+語言的基本知識和技能; (2)基本掌握面向?qū)ο蟪绦蛟O(shè)計的基本思路和方法; (3)能夠利用所學(xué)的基本知識和技能,解決簡單的面向?qū)ο蟪绦蛟O(shè)計問題。2. 設(shè)計要求: 1、 基本要求: (1)要求利用面向?qū)ο蟮姆椒ㄒ约癈+的編程思想來完成系統(tǒng)的設(shè)計; (2)要求在設(shè)計的過程中,建立清晰的類層次; (3)在系統(tǒng)中至少要定義四個類,每個類中要有各自的屬性和方法; (4)在系統(tǒng)的設(shè)計中,至少要用到面向?qū)ο蟮囊环N機(jī)制。 2、創(chuàng)新要求: 在基本要求達(dá)到后,可進(jìn)行創(chuàng)新設(shè)計,如根據(jù)查找結(jié)果進(jìn)行修改的功能。 3. 設(shè)計方法功能:新科公司現(xiàn)有以下設(shè)備:普通電視機(jī)、DVD、帶DVD的電視機(jī),帶DVD的電視機(jī)的售
3、價為普通電視機(jī)和DVD單價之和的80%,要求對所有的庫存設(shè)備都能按照品名進(jìn)行顯示、查找、增加和刪除、保存的功能。 根據(jù)系統(tǒng)功能,可以將問題解決分為以下步驟: (1)分析系統(tǒng)中的各個實(shí)體之間的關(guān)系及其屬性和行為; (2)根據(jù)問題描述,設(shè)計系統(tǒng)的類層次; (3)完成類層次中各個類的描述(包括屬性和方法); (4)完成類中各個成員函數(shù)的定義; (5)完成系統(tǒng)的應(yīng)用模塊; (6)功能調(diào)試; 4.總體設(shè)計1、設(shè)計思路設(shè)計四個類:設(shè)備、普通電視機(jī)、DVD、帶DVD的電視機(jī)。這四個類的關(guān)系如下:設(shè)備普通電視機(jī) DVD 帶DVD的電視機(jī)2、系統(tǒng)功能模塊圖系統(tǒng)登錄設(shè)備管理系統(tǒng)系統(tǒng)分析添加設(shè)備信息輸出設(shè)備信息查詢
4、設(shè)備信息刪除設(shè)備信息保存設(shè)備信息2、類的層次設(shè)計3、功能設(shè)計(1)添加刪除功能:能根據(jù)設(shè)備的變動情況,添加記錄;(2)刪除功能: 刪除記錄;(3)保存功能:能對輸入的數(shù)據(jù)進(jìn)行相應(yīng)的存儲,要求重載插入和提取符以完成數(shù)據(jù)的保存和打開。(4)刪除功能: 刪除記錄查詢功能:能根據(jù)編號進(jìn)行查詢;5界面設(shè)計圖1:運(yùn)行首界面圖2添加設(shè)備信息界面圖3設(shè)備信息顯示界面圖4設(shè)備信息查詢界面圖5設(shè)備信息刪除界面6代碼設(shè)計#include#include#include#includeusing namespace std;class machine /定義machine為基類protected:char name2
5、0;float price;int num;public:machine();machine() void setname(char *names);char *getname();void setprice(float pr);float getprice();void setnum(int nn);int getnum(); /以下都為machine的派生類class TV: virtual public machine /TV和DVD都定義虛基類公有繼承public:TV() ;class DVD: virtual public machinepublic:DVD() ;class DV
6、D_TV: public TV, public DVDpublic:DVD_TV()void setnprice(float p1,float p2);void machine:setname(char*names) /用來設(shè)置設(shè)備的品名strcpy(name,names);char *machine:getname() /用來獲取設(shè)備的品名return name;void machine:setprice(float pr) /初始化設(shè)備價錢 price=pr;float machine:getprice() /獲得設(shè)備價錢return price;void machine:setnum(i
7、nt nn)num=nn; /輸入進(jìn)貨量int machine:getnum()return num;void DVD_TV:setnprice(float p1,float p2) /計算DVD_TV的方法price= (p1+p2)*0.8; machine *j1; /定義一個基類指針對象 TV T1; DVD D1; DVD_TV DT1; /以下為函數(shù)聲明void add();void output();void search();void deleteinf();void save();void main()coutnn 歡迎進(jìn)入新科公司設(shè)備管理系統(tǒng) endlendl;cout 材
8、料0902班二組設(shè)計 endl * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *endl * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *endl;loop1:cout* * 1:添加設(shè)備信息 2:顯示庫存設(shè)備信息 3:查詢設(shè)備信息* * * * * *endl * * 4:刪除設(shè)備信息 5:保存設(shè)備信息 0: 退出系統(tǒng) * * * * * *endl * * * * * * * * * * * * * * * *
9、* * * * * * * * * * * * * * * * * * *endl * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *choose; switch(choose) case 0: cout歡迎再次使用本系統(tǒng)!再見!endl; exit(0); break; case 1: add(); coutendl; goto loop1; break; case 2: output(); coutendl; goto loop1; break; case 3: search(); coutendl;
10、goto loop1; break; case 4: deleteinf(); coutendl; goto loop1; break; case 5: save(); coutendl; goto loop1; break; default: cout輸入無效!請重新輸入!endl; break; void add()char names20;int kind,choose; coutkind;while(kind3) coutkind;coutnames;switch(kind)case 1:j1=&T1;break; case 2:j1=&D1;break;case 3:j1=&DT1;
11、break;if(kind=1|kind=2) j1-setname(names); float price; int n; coutprice; j1-setprice(price);coutn;j1-setnum(n); cout該設(shè)備的相關(guān)信息為:endl; cout該設(shè)備編號為:kind 名稱為:getname() 價格為:getprice()本次進(jìn)貨量為:getnum()setname(names); DT1.setname(names); float price1,price2,n;coutprice1;coutprice2;coutn;j1-setnum(n);DT1.setnp
12、rice(price1,price2); cout該產(chǎn)品的相關(guān)信息為:endl;cout該設(shè)備編號為:3 名稱為:DT1.getname() 價格為:getprice()庫存為:getnum()endl; coutchoose;while(choose!=1 &choose!=2) coutchoose;if(choose=1)save();void output()ifstream infile(新科公司設(shè)備管理系統(tǒng).txt,ios:in);cout從文件中讀取的數(shù)據(jù)如下:endl;char line101;for(int i=1;i=3;i+) infile.getline(line,10
13、0); coutlineendl;infile.close();void search() char line100;int i=1,n;coutn;ifstream infile(新科公司設(shè)備管理系統(tǒng).txt,ios:in);while(!infile.eof() infile.getline(line,100); if(i=n) coutlineendl; break; i+; if(infile.eof() cout沒找到相應(yīng)的產(chǎn)品!endl;void deleteinf()ifstream ifile(新科公司設(shè)備管理系統(tǒng).txt);ofstream ofile(temp.txt);c
14、har line100;int i=1,n; coutn; while(!ifile.eof() ifile.getline(line,100); /讀取完之后,從讀取的內(nèi)容中刪除該終止字符if(i!=n)ofilelineendl;i+;ifile.close();ofile.close();system(del 新科公司設(shè)備管理系統(tǒng).txt);system(rename temp.txt,新科公司設(shè)備管理系統(tǒng).txt);cout該產(chǎn)品已成功刪除!endl;coutnumber;if(number=1)output();void save()ofstream ofile(新科公司設(shè)備管理系統(tǒng)
15、.txt,ios_base:app);/寫入文件ofile 該設(shè)備名稱為:getname() 價格為:getprice()設(shè)備庫存為:getnum()endl;ofile.close();cout該廠品信息已存入文件!endl;5.調(diào)試與測試(1)調(diào)試方法:在編譯連接前先進(jìn)行靜態(tài)檢查,對每個函數(shù)模塊出現(xiàn)的細(xì)節(jié)語法錯誤逐步改正。再進(jìn)行系統(tǒng)編譯連接,根據(jù)編譯器提示錯誤類型逐個修正。調(diào)試一個函數(shù)模塊的程序時,將其他模塊及相應(yīng)的函數(shù)定義用注釋語句注釋,至頂向下,順序化,模塊化。(2)測試遇到的問題及解決:(1)輸入的數(shù)據(jù)無法查找。解決方法:調(diào)用嵌套查找函數(shù),將實(shí)參傳遞至相應(yīng)形參,定位數(shù)據(jù),并輸出。(2
16、)測試某段文本,當(dāng)出現(xiàn)句子“真便宜?。┻@令”后,出現(xiàn)嚴(yán)重亂碼錯誤。經(jīng)過仔細(xì)排查,發(fā)現(xiàn)是分句函數(shù)引起的問題,原因是“!”的后一個字節(jié),和“)”的前一個字節(jié),正好是句號“。”的兩個字節(jié),由此導(dǎo)致錯誤分句。查出此錯誤后,順利解決此問題。(3)測試某段文本,檢查文本向量序列時,發(fā)現(xiàn)其句數(shù),與真實(shí)情況不符。經(jīng)過排查,程序某處,pos值應(yīng)該為-1才能應(yīng)對所有可能出現(xiàn)的情況。6.實(shí)驗(yàn)總結(jié):(1)剛開始,本來是想用兩三個類來封裝所有信息和功能函數(shù),但由于類成員相互調(diào)用、文件讀寫等老出現(xiàn)錯誤和問題,所有基本上沒有使用這種方法。經(jīng)過查閱相關(guān)資料和參考指導(dǎo)老師給出的模型,決定采用一個類加一個主函數(shù)的辦法來實(shí)現(xiàn)全部功能。顯然這種方法不適合C+面向?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. 人人文庫網(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《FTTH入戶施工》課件
- 《薄膜論壇報告》課件
- 工傷免責(zé)合同
- 鐵路系統(tǒng) 單一采購 合同模板
- 工程內(nèi)部聯(lián)營合同要注意哪些問題
- 《骨科康復(fù)護(hù)理》課件
- 2025年南寧b2貨運(yùn)資格證模擬考試
- 體育園區(qū)施工合同
- 圖書館幕墻安裝施工協(xié)議
- 鋼鐵廠新司機(jī)招聘模板
- 垃圾焚燒發(fā)電廠消防系統(tǒng)安裝方案
- 老年性白內(nèi)障臨床路徑(2021年版)
- 廣東省公共數(shù)據(jù)管理辦法
- 露天礦山危險源辨識與風(fēng)險評價
- 六年級下冊數(shù)學(xué)教案-第3課時 鴿巢問題(練習(xí)課)-人教版
- DGJ 08-70-2021 建筑物、構(gòu)筑物拆除技術(shù)標(biāo)準(zhǔn)
- 閥芯設(shè)計計算
- 百草園項(xiàng)目實(shí)施方案
- 史學(xué)概論考試復(fù)習(xí)資料(共13頁)
- 2024年義務(wù)教育國家課程設(shè)置實(shí)施方案
- 某乳業(yè)公司價格策略研究
評論
0/150
提交評論