![中南大學(xué)c++課程設(shè)計(jì).doc_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-3/1/4eabf6b0-2cec-46db-a11b-082e3bcb7ae6/4eabf6b0-2cec-46db-a11b-082e3bcb7ae61.gif)
![中南大學(xué)c++課程設(shè)計(jì).doc_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-3/1/4eabf6b0-2cec-46db-a11b-082e3bcb7ae6/4eabf6b0-2cec-46db-a11b-082e3bcb7ae62.gif)
![中南大學(xué)c++課程設(shè)計(jì).doc_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-3/1/4eabf6b0-2cec-46db-a11b-082e3bcb7ae6/4eabf6b0-2cec-46db-a11b-082e3bcb7ae63.gif)
![中南大學(xué)c++課程設(shè)計(jì).doc_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-3/1/4eabf6b0-2cec-46db-a11b-082e3bcb7ae6/4eabf6b0-2cec-46db-a11b-082e3bcb7ae64.gif)
![中南大學(xué)c++課程設(shè)計(jì).doc_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-3/1/4eabf6b0-2cec-46db-a11b-082e3bcb7ae6/4eabf6b0-2cec-46db-a11b-082e3bcb7ae65.gif)
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
中 南 大 學(xué)高級(jí)程序設(shè)計(jì)實(shí)踐(C+)課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目 : 教學(xué)設(shè)備管理系統(tǒng)指導(dǎo)老師 : 設(shè)計(jì)者 : 專業(yè)班級(jí) : 時(shí)間日期 : 目 錄一 課題的基本要求和內(nèi)容二 程序功能簡介三 主體內(nèi)容:1 設(shè)計(jì)分析2 程序結(jié)構(gòu)3 相關(guān)源程序4 操作方法5 制作模塊6試驗(yàn)結(jié)果7設(shè)計(jì)體會(huì)8 參考文獻(xiàn)一 基本內(nèi)容和要求(一)基本要求本設(shè)計(jì)采用教師指導(dǎo)、學(xué)生自學(xué)和獨(dú)立編程操作方式,先由學(xué)生查閱與本設(shè)計(jì)有關(guān)的書籍和資料,利用Visual C+ 6.0設(shè)計(jì)環(huán)境與開發(fā)工具,在兩周時(shí)間內(nèi),完成課程設(shè)計(jì)內(nèi)容中的一個(gè)管理系統(tǒng),具體要求如下:1、 獨(dú)立思考:獨(dú)立完成課程設(shè)計(jì)中各任務(wù)的設(shè)計(jì)和調(diào)試。2、 上機(jī)準(zhǔn)備:每次上機(jī)前,要事先編制好準(zhǔn)備調(diào)試的程序,認(rèn)真想好調(diào)試步驟和有關(guān)環(huán)境的設(shè)置方法,準(zhǔn)備好有關(guān)的文件。3、 數(shù)據(jù)管理:管理系統(tǒng)中的數(shù)據(jù)可用數(shù)據(jù)庫(如Access數(shù)據(jù)庫)的形式保存,也可用普通文件(文本文件或二進(jìn)制文件)的形式保存。4、 程序要求:界面美觀、可操作性強(qiáng)、穩(wěn)定性好。(二)基本內(nèi)容: 教學(xué)設(shè)備管理系統(tǒng)為方便管理學(xué)校教學(xué)設(shè)備,編寫一個(gè)教學(xué)設(shè)備管理系統(tǒng)軟件。系統(tǒng)記錄必須包括設(shè)備編號(hào)、設(shè)備名稱、生產(chǎn)廠家、購置日期、臺(tái)數(shù)、單價(jià)、及備注等。二 程序功能簡介(1) 添加:增加一臺(tái)設(shè)備的記錄到管理系統(tǒng)中。(2) 查詢:可以根據(jù)設(shè)備編號(hào)查找某臺(tái)設(shè)備的相關(guān)信息,若找到則顯示其信息。(3) 修改:在管理系統(tǒng)中修改一臺(tái)設(shè)備的記錄。(4) 保存:將所有教學(xué)設(shè)備信息保存在一個(gè)文件中(數(shù)據(jù)庫文件或普通的文本文件)。(5) 讀?。簭奈募凶x取已保存了數(shù)據(jù)。(6) 刪除:從管理系統(tǒng)中刪除一條記錄。(7) 恢復(fù):能恢復(fù)被刪除的記錄。(8) 統(tǒng)計(jì):(A)統(tǒng)計(jì)每頁合計(jì)臺(tái)數(shù)及金額;(B)累計(jì)設(shè)備的總臺(tái)數(shù)及總金額;(C)統(tǒng)計(jì)單價(jià)在:200元以下、200800元之間和800元以上的設(shè)備總臺(tái)數(shù)及總金額。(D)以表格形式打印教學(xué)設(shè)備明細(xì)表。(9) 其他:可以根據(jù)自己的思路設(shè)計(jì)其他功能。三 主體內(nèi)容1 設(shè)計(jì)分析 根據(jù)問題描述和要求,系統(tǒng)要求能夠添加設(shè)備,按設(shè)備編號(hào)查詢,修改,保存,讀取,刪除,恢復(fù)設(shè)備的信息。系統(tǒng)既然具有“數(shù)據(jù)存盤”功能,設(shè)備數(shù)據(jù)可以保存到磁盤文件,那么也就意味著今后可以從磁盤文件讀出人員數(shù)據(jù),所以系統(tǒng)增加了“人員數(shù)據(jù)裝入”模塊,以方便用戶使用,避免數(shù)據(jù)重新錄入??紤]到系統(tǒng)實(shí)現(xiàn)簡捷,人員數(shù)據(jù)文件采用文本文件,人員數(shù)據(jù)文件名.使用面向?qū)ο蟮某绦蛟O(shè)計(jì)思想進(jìn)行分析,整個(gè)系統(tǒng)涉及兩個(gè)類的信息和操作,設(shè)備和購置日期。所以系統(tǒng)主要涉及兩個(gè)大類:設(shè)備類Equipment,日期Date。系統(tǒng)的主體框架就是設(shè)備類,考慮系統(tǒng)操作的設(shè)備信息的數(shù)量具有不確定性,所以考慮使用鏈表保存,處理設(shè)備信息。設(shè)備類包含所以設(shè)備信息的一個(gè)不帶頭結(jié)點(diǎn)的鏈表,可以對設(shè)備信息進(jìn)行增,刪,改,查詢,基礎(chǔ)數(shù)據(jù)設(shè)置,數(shù)據(jù)存盤,數(shù)據(jù)裝入等操作的相關(guān)模塊(Add,Delete,Modify,Find,Save,Recover,Read,Statistic)作為成員函數(shù)。2 程序結(jié)構(gòu)統(tǒng)計(jì)設(shè)備信息恢復(fù)設(shè)備信息刪除設(shè)備信息讀取設(shè)備信息保存設(shè)備信息修改設(shè)備信息查找設(shè)備信息添加設(shè)備信息教學(xué)設(shè)備管理系統(tǒng)系統(tǒng)功能模塊3 相關(guān)源程序#include #include #include #include using namespace std;class Dateprivate:int year;int month;int day;public:Date(int y = 0 , int m = 0 , int d = 0);Date & operator = (Date &a);void foutput(ofstream &fout);void output();void alloutput();void Date:alloutput()coutyear:month:dayt;void Date:foutput(ofstream &fout)foutyear month dayendl;Date:Date(int y,int m,int d)year = y;month = m;day = d;Date & Date:operator = (Date &a)year = a.year;month = a.month;day = a.day;return *this;void Date:output()coutyear年month月day日endl;class Equipmentprivate:int num; /設(shè)備編號(hào)char name20; /設(shè)備名稱char factory30; /生產(chǎn)廠家Date date; /購置日期int amount; /臺(tái)數(shù)double prrice; /單價(jià)char notes101; /備注public:Equipment(int num_ = 0 , char *name_ = NULL ,int amount_ = 0, double prrice_ = 0);Equipment & operator = (Equipment &a)num = a.num;strcpy(name,);strcpy(factory,a.factory);date = a.date;return *this;void give(char *factory_ , Date date_ , char *notes);void output();void alloutput();int getNum();int getAmount();double getPrrice();void setNum();void setName();void setFactory();void setDate();void setAmount();void setPrrice();void setNotes();void foutput(ofstream &fout);void Equipment:alloutput()coutnumtnametfactoryt;date.alloutput();couttamounttprricetnotesendl;void Equipment:give(char *factory_ , Date date_ , char *notes_)strcpy(factory,factory_);date = date_;strcpy(notes,notes_);Equipment:Equipment(int num_, char *name_,int amount_, double prrice_)num = num_;strcpy(name,name_);amount = amount_;prrice = prrice_;strcpy(factory,未設(shè)置);strcpy(notes,無);void Equipment:output()cout1.設(shè)備編號(hào):numendl;cout2.設(shè)備名稱:nameendl;cout3.生產(chǎn)廠家:factoryendl;cout4.購置日期:; date.output();cout5.臺(tái)數(shù):amountendl;cout6.單價(jià):prriceendl;cout7.備注:notesendl;int Equipment:getNum()return num;int Equipment:getAmount()return amount;double Equipment:getPrrice()return prrice;void Equipment:setNum()coutnum;void Equipment:setName()coutname;void Equipment:setFactory()coutfactory;void Equipment:setDate()int y,m,d;coutymd;Date a(y,m,d);date = a;void Equipment:setAmount()coutamount;void Equipment:setPrrice()coutprrice;void Equipment:setNotes()coutnotes;void Equipment:foutput(ofstream &fout)foutnumendl;foutnameendl;foutfactoryendl;date.foutput(fout);foutamountendl;foutprriceendl;foutnotesendl;class Listprivate:int n,capacity;Equipment *elem;public:List();List();bool add(); /添加bool find(); /查詢void modify(); /修改bool Save(); / 設(shè)備保存bool Read(); /讀取void Delete(); /刪除設(shè)備記錄void Recover(); /恢復(fù)被刪除的記錄void Statistic(); /統(tǒng)計(jì);List:List()n = 0;capacity = 1000;elem = new Equipment *capacity;for(int i = 0 ; i capacity ; i+) elemi = NULL;List:List()for (int i = 0 ; i n ; i+)delete elemi;elemi = NULL;if(elem) delete elem;elem = NULL;bool List:add()if(n capacity)int num_;char name_20;int amount_;double prrice_;coutnum_;coutname_;coutamount_;coutprrice_;elemn = new Equipment(num_,name_,amount_,prrice_);n+;return true;return false;bool List:find()int num_;coutnum_;for(int i = 0 ; i getNum()cout查找成功!設(shè)備信息如下:output();return true;cout查找失??!無此設(shè)備信息。 0)int i,num_;bool ok = false;cout現(xiàn)有的設(shè)備編號(hào)如下:endl;for (i = 0 ; i n ; i+)coutgetNum() ;coutendl;coutnum_;for (i = 0 ; i getNum()=num_)ok = true;int choice = 1;do system(cls);elemi-output();cout8.退出修改。endl; coutchoice;if(choice 8) cout輸入錯(cuò)誤,請重新輸入!setNum();break;case 2:elemi-setName();break;case 3:elemi-setFactory();break;case 4:elemi-setDate();break;case 5:elemi-setAmount();break;case 6:elemi-setPrrice();break;case 7:elemi-setNotes();break;case 8:break; while (choice != 8);if(!ok) cout您的輸入有誤!endl;else cout現(xiàn)無任何設(shè)備!endl;bool List:Save()ofstream fout;fout.open(save.txt);fout.put(0); /清楚txt文檔的數(shù)據(jù)fout.seekp(-1,ios:end); /在txt文檔中光標(biāo)退格if(fout.fail()cout找不到文件,保存失??!endl;return false;elsefor(int i = 0 ; i foutput(fout);cout保存成功!endl;fout.close();return true;bool List:Read()int size;ifstream fin;fin.open(save.txt);streampos pos = fin.tellg();fin.seekg(0,ios:end);size = fin.tellg();fin.seekg(pos);if(fin.fail()cout找不到文件,讀取失??!num_;finname_;finfactory_;finymd;if(fin.eof() break;Date date_(y,m,d);finamount_;finprrice_;finnotes_;elemn = new Equipment(num_,name_,amount_,prrice_);elemn-give(factory_,date_,notes_);n+;cout讀取成功! 0)int i,num_;bool ok = false;cout現(xiàn)有的設(shè)備編號(hào)如下:endl;for (i = 0 ; i n ; i+)coutgetNum() ;coutendl;coutnum_;for (i = 0 ; i getNum()=num_)ok = true;system(cls);elemi-output();cout您確定要?jiǎng)h除此設(shè)備? (Y or N)str;if(str != Y & str != N)coutfoutput(fout);fout.close();if(i = n-1) delete elemi;elemi = NULL;else Equipment *tem;tem = elemi;elemi = elemn-1;elemn-1 = tem;delete elemn-1;elemn-1 = NULL;n-;cout刪除成功!endl;else cout刪除失敗!endl;if(!ok) cout您的輸入有誤!endl;else cout現(xiàn)無任何設(shè)備!endl;void List:Recover()int size;ifstream fin;fin.open(recover.txt);streampos pos = fin.tellg();fin.seekg(0,ios:end);size = fin.tellg();fin.seekg(pos);if(fin.fail()cout找不到文件,恢復(fù)失??!num_;finname_;finfactory_;finymd;if(fin.eof() break;Date date_(y,m,d);finamount_;finprrice_;finnotes_;elemn = new Equipment(num_,name_,amount_,prrice_);elemn-give(factory_,date_,notes_);n+;cout恢復(fù)成功!endl;fin.close();ofstream fout;fout.open(recover.txt);fout.put(0);fout.seekp(-1,ios:end);fout.close();void List:Statistic()system(cls);int i,j,n_200 = 0,n200_800 = 0,n800_ = 0;double p_200 = 0,p200_800 = 0,p800_ = 0;Equipment *tem;for(i = 0 ; i n ; i+)for(j = 0 ; j getPrrice() elemj+1-getPrrice()tem = elemj;elemj = elemj+1;elemj+1 = tem;cout編號(hào)t名稱t廠家t日期tt數(shù)量t單價(jià)t備注endl;for (i = 0 ; i getPrrice() getAmount();p_200 += elemi-getAmount()*elemi-getPrrice();else if(elemi-getPrrice() getAmount();p200_800 += elemi-getAmount()*elemi-getPrrice();else n800_ += elemi-getAmount();p800_ += elemi-getAmount()*elemi-getPrrice();elemi-alloutput();coutendl;cout單價(jià)在:200元以下的設(shè)備總臺(tái)數(shù)及總金額為:tn_200ttp_200endl;cout單價(jià)在:200800元的設(shè)備總臺(tái)數(shù)及總金額為:tn200_800ttp200_800endl;cout單價(jià)在:800元以上的設(shè)備總臺(tái)數(shù)及總金額為:tn800_ttp800_endl;cout累計(jì)所有設(shè)備的總臺(tái)數(shù)及總金額為:ttn_200+n200_800+n800_ttp_200+p200_800+p800_endl;int main()List list;int n = 0;int choice = 1;system(color 1C);do couttttt教學(xué)設(shè)備管理系統(tǒng)endl;couttt=endl;couttt#tt 1.添加設(shè)備內(nèi)容。tt#endl;couttt#tt 2.查找設(shè)備內(nèi)容。tt#endl;couttt#tt 3.修改設(shè)備內(nèi)容。tt#endl;couttt#tt 4.保存設(shè)備記錄。tt#endl;couttt#tt 5.讀取設(shè)備記錄。tt#endl;couttt#tt 6.刪除設(shè)備內(nèi)容。tt#endl;couttt#tt 7.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國生物基FDCA(2,5-呋喃二甲酸)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 聘用臨時(shí)工合同范本
- 錨桿勞務(wù)分包合同
- 塔吊司機(jī)勞動(dòng)合同
- 小企業(yè)勞動(dòng)合同
- 勞務(wù)合同報(bào)酬
- 小產(chǎn)權(quán)房房屋租賃合同
- 大貨車貨物運(yùn)輸合同
- 知識(shí)產(chǎn)權(quán)合同條款分析
- 城區(qū)中心亮化維修工程采購合同
- 改革開放教育援藏的創(chuàng)新及其成效
- 第3課+中古時(shí)期的西歐(教學(xué)設(shè)計(jì))-【中職專用】《世界歷史》(高教版2023基礎(chǔ)模塊)
- 山東省濟(jì)寧市2023年中考數(shù)學(xué)試題(附真題答案)
- 班組建設(shè)工作匯報(bào)
- 供應(yīng)鏈金融與供應(yīng)鏈融資模式
- 工程類工程公司介紹完整x
- 板帶生產(chǎn)工藝熱連軋帶鋼生產(chǎn)
- 關(guān)鍵工序特殊過程培訓(xùn)課件精
- 輪機(jī)備件的管理(船舶管理課件)
- 統(tǒng)編《道德與法治》三年級(jí)下冊教材分析
- 國際尿失禁咨詢委員會(huì)尿失禁問卷表
評(píng)論
0/150
提交評(píng)論