![教學設(shè)備管理系統(tǒng)c_第1頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/6/e74f13c4-044f-4554-bb18-d2ea55d0f111/e74f13c4-044f-4554-bb18-d2ea55d0f1111.gif)
![教學設(shè)備管理系統(tǒng)c_第2頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/6/e74f13c4-044f-4554-bb18-d2ea55d0f111/e74f13c4-044f-4554-bb18-d2ea55d0f1112.gif)
![教學設(shè)備管理系統(tǒng)c_第3頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/6/e74f13c4-044f-4554-bb18-d2ea55d0f111/e74f13c4-044f-4554-bb18-d2ea55d0f1113.gif)
![教學設(shè)備管理系統(tǒng)c_第4頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/6/e74f13c4-044f-4554-bb18-d2ea55d0f111/e74f13c4-044f-4554-bb18-d2ea55d0f1114.gif)
![教學設(shè)備管理系統(tǒng)c_第5頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/6/e74f13c4-044f-4554-bb18-d2ea55d0f111/e74f13c4-044f-4554-bb18-d2ea55d0f1115.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、中 南 大 學高級程序設(shè)計實踐(C+)課程設(shè)計報告設(shè)計題目 指導(dǎo)老師設(shè)計者專業(yè)班級時間日期目 錄一 課題的基本內(nèi)容和要求二 程序功能簡介三 主體內(nèi)容:1 設(shè)計分析2 程序結(jié)構(gòu)3 各模塊的功能及程序說明4 相關(guān)模塊源程序5 操作方法6試驗結(jié)果7設(shè)計體會8 參考文獻一 基本內(nèi)容和要求(一)基本要求本設(shè)計采用教師指導(dǎo)、學生自學和獨立編程操作方式,先由學生查閱與本設(shè)計有關(guān)的書籍和資料,利用Visual C+ 6.0設(shè)計環(huán)境與開發(fā)工具,在兩周時間內(nèi),完成課程設(shè)計內(nèi)容中的一個管理系統(tǒng),具體要求如下:1、 獨立思考:獨立完成課程設(shè)計中各任務(wù)的設(shè)計和調(diào)試。2、 上機準備:每次上機前,要事先編制好準備調(diào)試的程序
2、,認真想好調(diào)試步驟和有關(guān)環(huán)境的設(shè)置方法,準備好有關(guān)的文件。3、 數(shù)據(jù)管理:管理系統(tǒng)中的數(shù)據(jù)可用數(shù)據(jù)庫(如Access數(shù)據(jù)庫)的形式保存,也可用普通文件(文本文件或二進制文件)的形式保存。4、 程序要求:界面美觀、可操作性強、穩(wěn)定性好。 (二)基本內(nèi)容: 教學設(shè)備管理系統(tǒng)為方便管理學校教學設(shè)備,編寫一個教學設(shè)備管理系統(tǒng)軟件。系統(tǒng)記錄必須包括設(shè)備編號、設(shè)備名稱、生產(chǎn)廠家、購置日期、臺數(shù)、單價、及備注等。二 程序功能簡介(1) 添加:增加一臺設(shè)備的記錄到管理系統(tǒng)中。(2) 查詢:可以根據(jù)設(shè)備編號查找某臺設(shè)備的相關(guān)信息,若找到則顯示其信息。(3) 修改:在管理系統(tǒng)中修改一臺設(shè)備的記錄。(4) 保存:將
3、所有教學設(shè)備信息保存在一個文件中(數(shù)據(jù)庫文件或普通的文本文件)。(5) 讀?。簭奈募凶x取已保存了數(shù)據(jù)。(6) 刪除:從管理系統(tǒng)中刪除一條記錄。(7) 恢復(fù):能恢復(fù)被刪除的記錄。(8) 統(tǒng)計:(A)統(tǒng)計每頁合計臺數(shù)及金額;(B)累計設(shè)備的總臺數(shù)及總金額;(C)統(tǒng)計單價在:200元以下、200800元之間和800元以上的設(shè)備總臺數(shù)及總金額。(D)以表格形式打印教學設(shè)備明細表。(9) 其他:可以根據(jù)自己的思路設(shè)計其他功能。三 主體內(nèi)容1 設(shè)計分析 根據(jù)問題描述和要求,系統(tǒng)要求能夠添加設(shè)備,按設(shè)備編號查詢,修改,保存,讀取,刪除,恢復(fù)設(shè)備的信息。系統(tǒng)既然具有“數(shù)據(jù)存盤”功能,設(shè)備數(shù)據(jù)可以保存到磁盤文
4、件,那么也就意味著今后可以從磁盤文件讀出人員數(shù)據(jù),所以系統(tǒng)增加了“人員數(shù)據(jù)裝入”模塊,以方便用戶使用,避免數(shù)據(jù)重新錄入。考慮到系統(tǒng)實現(xiàn)簡捷,人員數(shù)據(jù)文件采用文本文件,人員數(shù)據(jù)文件名.使用面向?qū)ο蟮某绦蛟O(shè)計思想進行分析,整個系統(tǒng)涉及兩個類的信息和操作,設(shè)備和購置日期。所以系統(tǒng)主要涉及兩個大類:設(shè)備類Equipment,日期Date。系統(tǒng)的主體框架就是設(shè)備類,考慮系統(tǒng)操作的設(shè)備信息的數(shù)量具有不確定性,所以考慮使用鏈表保存,處理設(shè)備信息。設(shè)備類包含所以設(shè)備信息的一個不帶頭結(jié)點的鏈表,可以對設(shè)備信息進行增,刪,改,查詢,基礎(chǔ)數(shù)據(jù)設(shè)置,數(shù)據(jù)存盤,數(shù)據(jù)裝入等操作的相關(guān)模塊(Add,Delete,Modif
5、y,Find,Save,Recover,Read,Statistic)作為成員函數(shù)。2程序結(jié)構(gòu)(1)系統(tǒng)功能模塊圖設(shè) 備管 理系 統(tǒng)添加設(shè)備信息查找設(shè)備信息修改設(shè)備信息保存設(shè)備信息讀取設(shè)備信息刪除設(shè)備信息恢復(fù)設(shè)備信息統(tǒng)計設(shè)備信息 3 各模塊的功能開 始(1) 主函數(shù)流程 創(chuàng)建設(shè)備 對象顯示菜單接受輸入根據(jù)輸入 執(zhí)行操作結(jié)束退出4 源函數(shù)#include #include #include #include using namespace std;class Dateprivate:int year;int month;int day;public:Date(int y = 0 , int m
6、= 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.ye
7、ar;month = a.month;day = a.day;return *this;void Date:output()coutyear年month月day日endl;class Equipmentprivate:int num; /設(shè)備編號char name20; /設(shè)備名稱char factory30; /生產(chǎn)廠家Date date; /購置日期int amount; /臺數(shù)double prrice; /單價char notes101; /備注public:Equipment(int num_ = 0 , char *name_ = NULL ,int amount_ = 0, do
8、uble 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()
9、;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
10、= 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è)備編號:numendl;cout2.設(shè)備名稱:nameendl;cout3.生產(chǎn)廠家:factoryendl;cout4.購置日期:; dat
11、e.output();cout5.臺數(shù):amountendl;cout6.單價: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 Equipmen
12、t: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;foutnotesen
13、dl;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)計;List:List()n = 0;capacity = 1000;elem = new Equipment *capacity;for(int i
14、= 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
15、_);n+;return true;return false;bool List:find()int num_;coutnum_;for(int i = 0 ; i getNum()cout查找成功!設(shè)備信息如下:output();return true;cout查找失?。o此設(shè)備信息。 0)int i,num_;bool ok = false;cout現(xiàn)有的設(shè)備編號如下:endl;for (i = 0 ; i n ; i+)coutgetNum() ;coutendl;coutnum_;for (i = 0 ; i getNum()=num_)ok = true;int choice = 1
16、;do system(cls);elemi-output();cout8.退出修改。endl; coutchoice;if(choice 8) cout輸入錯誤,請重新輸入!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; wh
17、ile (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文檔中光標退格if(fout.fail()cout找不到文件,保存失?。ndl;return false;elsefor(int i = 0 ; i foutput(fout);cout保存成功!endl;fout.close();return true;bool
18、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找不到文件,讀取失?。um_;finname_;finfactory_;finymd;if(fin.eof() break;Date date_(y,m,d);finamount_;finprrice_;finnotes_;elemn = new Equipment(num_,name_,am
19、ount_,prrice_);elemn-give(factory_,date_,notes_);n+;cout讀取成功! 0)int i,num_;bool ok = false;cout現(xiàn)有的設(shè)備編號如下:endl;for (i = 0 ; i n ; i+)coutgetNum() ;coutendl;coutnum_;for (i = 0 ; i getNum()=num_)ok = true;system(cls);elemi-output();cout您確定要刪除此設(shè)備? (Y or N)str;if(str != Y & str != N)coutfoutput(fout);fo
20、ut.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 =
21、 fin.tellg();fin.seekg(0,ios:end);size = fin.tellg();fin.seekg(pos);if(fin.fail()cout找不到文件,恢復(fù)失?。um_;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;f
22、in.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 = ele
23、mj;elemj = elemj+1;elemj+1 = tem;cout編號t名稱t廠家t日期tt數(shù)量t單價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-ge
24、tPrrice();elemi-alloutput();coutendl;cout單價在:200元以下的設(shè)備總臺數(shù)及總金額為:tn_200ttp_200endl;cout單價在:200800元的設(shè)備總臺數(shù)及總金額為:tn200_800ttp200_800endl;cout單價在:800元以上的設(shè)備總臺數(shù)及總金額為:tn800_ttp800_endl;cout累計所有設(shè)備的總臺數(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教學設(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.讀
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年超低頻傳感器標定系統(tǒng)合作協(xié)議書
- 八年級上冊第一章復(fù)習導(dǎo)學案
- 新華東師大版七年級數(shù)學下冊《10章-軸對稱、平移與旋轉(zhuǎn)-10.5-圖形的全等》教案-162
- 2025年代理合同解除協(xié)議常用版(2篇)
- 2025年代合同標準樣本(2篇)
- 2025年五年級作文工作總結(jié)范例(二篇)
- 2025年五星級酒店保潔勞務(wù)合同協(xié)議(2篇)
- 2025年二年級老師個人教學工作總結(jié)模版(四篇)
- 熱點1-1 集合與復(fù)數(shù)(8題型+滿分技巧+限時檢測)(解析版)
- 2025年產(chǎn)品買賣協(xié)議燈具(2篇)
- SL 288-2014 水利工程施工監(jiān)理規(guī)范
- 部編版八年級語文上冊期末考試卷
- 2024年02月中央軍委后勤保障部2024年公開招考專業(yè)技能崗位文職人員筆試參考題庫附帶答案詳解
- (2024年)肺栓塞的護理課件
- 小學數(shù)學三年級下冊第八單元《數(shù)學廣角-搭配(二)》大單元集體備課整體設(shè)計
- (高清版)TDT 1031.6-2011 土地復(fù)墾方案編制規(guī)程 第6部分:建設(shè)項目
- 2024年江蘇省高中學業(yè)水平測試生物試卷
- 露天采場危險有害因素辨識
- 蘇教版一年級上、下冊勞動與技術(shù)教案
- 七上-動點、動角問題12道好題-解析
- 山東曲阜的孔廟之旅
評論
0/150
提交評論