版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計(jì)報(bào)告</b></p><p><b> 目錄</b></p><p> 1、 課程設(shè)計(jì)目的1</p><p> 2、 課程設(shè)計(jì)名稱及內(nèi)容2</p><p> 2.1程序設(shè)計(jì)組成框圖2</p><p> 3、 任務(wù)和要求3
2、</p><p> 4、 課程設(shè)計(jì)報(bào)告內(nèi)容5</p><p> 4.1 流程圖顯示5</p><p> 4.2 程序?qū)崿F(xiàn)思路6</p><p><b> 5、程序演示10</b></p><p> 5.1、進(jìn)入系統(tǒng)10</p><p> 5.2添加設(shè)備
3、信息10</p><p> 5.3刪除指定設(shè)備信息11</p><p> 5.4根據(jù)設(shè)備數(shù)據(jù)查找設(shè)備信息12</p><p> 5.5 顯示所有設(shè)備信息12</p><p> 5.6 將設(shè)備信息存儲(chǔ)在文本中13</p><p><b> 6、總結(jié)14</b></p>
4、;<p><b> 源代碼15</b></p><p><b> 參考文獻(xiàn)32</b></p><p><b> 課程設(shè)計(jì)目的</b></p><p> 將理論教學(xué)中涉及到的知識(shí)點(diǎn)貫穿起來,對(duì)不同的數(shù)據(jù)類型、程序控制結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)作一比較和總結(jié),結(jié)合設(shè)計(jì)題目進(jìn)行綜合性應(yīng)用,對(duì)
5、所學(xué)知識(shí)達(dá)到融會(huì)貫通的程度。通過課程設(shè)計(jì),學(xué)生在下述各方面的能力應(yīng)該得到鍛煉:</p><p> ?。?)進(jìn)一步鞏固、加深學(xué)生所學(xué)專業(yè)課程《C++程序設(shè)計(jì)語言》的基本理論知識(shí),理論聯(lián)系實(shí)際,進(jìn)一步培養(yǎng)學(xué)生綜合分析問題,解決問題的能力。</p><p> ?。?)全面考核學(xué)生所掌握的基本理論知識(shí)及其實(shí)際業(yè)務(wù)能力,從而達(dá)到提高學(xué)生素質(zhì)的最終目的。</p><p> ?。?/p>
6、3)利用所學(xué)知識(shí),開發(fā)小型應(yīng)用系統(tǒng),掌握運(yùn)用C++語言編寫調(diào)試應(yīng)用系統(tǒng)程序,訓(xùn)練獨(dú)立開發(fā)應(yīng)用系統(tǒng),進(jìn)行數(shù)據(jù)處理的綜合能力。</p><p> ?。?)對(duì)于給定的設(shè)計(jì)題目,如何進(jìn)行分析,理清思路,并給出相應(yīng)的數(shù)學(xué)模型。 </p><p> ?。?)掌握結(jié)構(gòu)化程序設(shè)計(jì)方法,熟悉面向?qū)ο蟪绦蛟O(shè)計(jì)方法。</p><p> ?。?)熟練掌握C++語言的基本語法,靈活運(yùn)用各種數(shù)
7、據(jù)類型。</p><p> (7)進(jìn)一步掌握在集成環(huán)境下如何調(diào)試程序和修改程序。</p><p><b> 課程設(shè)計(jì)名稱及內(nèi)容</b></p><p> 課程設(shè)計(jì)名稱:實(shí)驗(yàn)室設(shè)備管理系統(tǒng)</p><p> 設(shè)計(jì)內(nèi)容:編寫一個(gè)簡單的實(shí)驗(yàn)室設(shè)備管理程序,幫助管理實(shí)驗(yàn)室設(shè)備信息。要求具有設(shè)備信息管理的功能。其中包括設(shè)備
8、信息的錄入、刪除、查詢和修改等功能。還應(yīng)包括對(duì)實(shí)驗(yàn)室信息管理的功能。其中包括對(duì)實(shí)驗(yàn)室信息的錄入、刪除、修改和查詢等功能。</p><p> 2.1程序設(shè)計(jì)組成框圖</p><p><b> 任務(wù)和要求</b></p><p> 運(yùn)用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,要求選擇動(dòng)態(tài)數(shù)組類模板或鏈表類模板,任務(wù)中要運(yùn)用I/O流對(duì)象對(duì)文件進(jìn)行讀寫操作。&l
9、t;/p><p> 本題程序應(yīng)提供的基本管理功能有:</p><p> 添加:即增加一條信息到設(shè)備信息中,或增加一條信息到實(shí)驗(yàn)室 信息中;</p><p> 顯示:即在屏幕上顯示所有設(shè)備或?qū)嶒?yàn)室信息;</p><p> 存儲(chǔ):即將設(shè)備信息和實(shí)驗(yàn)室信息分別保存在文件中;</p><p> 裝入:即將文件中
10、的信息讀入程序;</p><p> 查詢:可根據(jù)設(shè)備名稱查找具體情況,若找到,顯示在屏幕上; </p><p> 修改:可修改設(shè)備信息,或?qū)?shí)驗(yàn)室信息進(jìn)行修改。</p><p><b> 課程設(shè)計(jì)報(bào)告內(nèi)容</b></p><p><b> 4.1 流程圖顯示</b></p>&
11、lt;p> 4.2 程序?qū)崿F(xiàn)思路</p><p> 定義一個(gè)結(jié)點(diǎn)類,用于存放實(shí)驗(yàn)室設(shè)備的各種信息;</p><p> 定義一個(gè)Link類,把數(shù)據(jù)以鏈表的形式存儲(chǔ),鏈表的每個(gè)結(jié)點(diǎn)為一個(gè)Node對(duì)象;</p><p> 定義一個(gè)Shebei類,用于包裝Link類及菜單操作;</p><p> 定義Link類和Shebei類的成員函
12、數(shù),實(shí)現(xiàn)要求的各種功能;</p><p><b> Link類:</b></p><p> class Link//Link類,把數(shù)據(jù)以鏈表的形式存儲(chǔ),鏈表的每個(gè)結(jié)點(diǎn)為一個(gè)Node對(duì)象</p><p><b> {</b></p><p><b> private:</b&g
13、t;</p><p> Node *head; //鏈表的頭指針,為Node對(duì)象類型的指針</p><p><b> public :</b></p><p> Link();//構(gòu)造函數(shù),初始化變量</p><p> bool linkIsEmpty();//判斷鏈表是否為空</p><p&
14、gt; void linkInsert(Node *newnode);//向鏈表中插入新的結(jié)點(diǎn)</p><p> bool linkDelete(int nid);//從鏈表中刪除的結(jié)點(diǎn)</p><p> void linkClear();//清空鏈表中數(shù)據(jù)</p><p> void linkView();//查看鏈表中數(shù)據(jù)</p><
15、p> Node* linkFind(int nid);//在鏈表中查找id為nid結(jié)點(diǎn),返回指向該結(jié)點(diǎn)的指針</p><p> Node* getHead();//獲取頭指針</p><p><b> };</b></p><p><b> Shebei類:</b></p><p>
16、 class Shebei</p><p><b> {</b></p><p><b> private:</b></p><p> Link clink;//Link對(duì)象成員</p><p> bool k;//記錄數(shù)據(jù)是否被修改</p><p><b>
17、; public:</b></p><p><b> Shebei();</b></p><p> void ShebeiClear();</p><p> void ShebeiInsert();</p><p> void ShebeiDelete();</p><p>
18、 void ShebeiFind();</p><p> void ShebeiModify();</p><p> void ShebeiView();</p><p> void ShebeiLoad();</p><p> void ShebeiSave();</p><p> void Exit()
19、;//退出程序</p><p> void showMenu();//顯示菜單</p><p> void showTip();//顯示操作提示</p><p> void doMenu(char n);//執(zhí)行相應(yīng)菜單項(xiàng)功能</p><p><b> };</b></p><p> 然
20、后就是各個(gè)函數(shù)的具體定義。</p><p> 菜單選擇功能的實(shí)現(xiàn),使用switch語句;</p><p> 菜單選擇函數(shù)的定義:</p><p> void Shebei::showMenu()</p><p><b> {</b></p><p> cout<<"
21、\t\t**************************************************"<<endl; cout<<"\t\t* 實(shí)驗(yàn)室設(shè)備管理系統(tǒng) *"<<endl;</p><p> cout<<"\t\t*
22、 *"<<endl;</p><p> cout<<"\t\t* 1--清空:清除所有設(shè)備信息 *"<<endl;</p><p> cout<<"\t\t*
23、 *"<<endl;</p><p> cout<<"\t\t* 2--添加:增加一個(gè)設(shè)備到設(shè)備信息中 *"<<endl;</p><p> cout<<"\t\t*
24、 *"<<endl;</p><p> cout<<"\t\t* 3--刪除:刪除指定設(shè)備數(shù)據(jù) *"<<endl; cout<<"\t\t* *&
25、quot;<<endl;</p><p> cout<<"\t\t* 4--查找:根據(jù)設(shè)備數(shù)據(jù)查找設(shè)備信息 *"<<endl;</p><p> cout<<"\t\t* *"&
26、lt;<endl;</p><p> cout<<"\t\t* 5--修改:修改指定設(shè)備信息 *"<<endl;</p><p> cout<<"\t\t* *"<
27、;<endl;</p><p> cout<<"\t\t* 6--顯示:在屏幕上顯示所有設(shè)備的信息 *"<<endl;</p><p> cout<<"\t\t* *"<<en
28、dl;</p><p> cout<<"\t\t* 7--存儲(chǔ):將設(shè)備信息保存在一個(gè)文件中 *"<<endl;</p><p> cout<<"\t\t* *"<<endl;<
29、/p><p> cout<<"\t\t* 0--退出:安全的退出本系統(tǒng) *"<<endl;</p><p> cout<<"\t\t**************************************************"<<endl;</p
30、><p><b> }</b></p><p> void Shebei::showTip()</p><p><b> {</b></p><p> cout<<endl;</p><p> cout<<"**************
31、**操作完成*********************"<<endl;</p><p> cout<<"**************選擇0-7 繼續(xù)*****************"<<endl;</p><p> cout<<"請(qǐng)選擇:";</p><p>&l
32、t;b> }</b></p><p> void Shebei::doMenu(char n)</p><p><b> {</b></p><p><b> switch(n)</b></p><p><b> {</b></p>&
33、lt;p><b> case '1':</b></p><p> ShebeiClear();</p><p><b> break;</b></p><p><b> case '2':</b></p><p> ShebeiI
34、nsert();</p><p><b> break;</b></p><p><b> case '3':</b></p><p> ShebeiDelete();</p><p><b> break;</b></p><p&g
35、t;<b> case '4':</b></p><p> ShebeiFind();</p><p><b> break;</b></p><p><b> case '5':</b></p><p> ShebeiModify()
36、;</p><p><b> break;</b></p><p><b> case '6':</b></p><p> ShebeiView();</p><p><b> break;</b></p><p><b&g
37、t; case '7':</b></p><p> ShebeiSave();</p><p><b> break;</b></p><p><b> case '0':</b></p><p><b> Exit();</b&
38、gt;</p><p><b> break;</b></p><p><b> default:</b></p><p> cout<<"輸入錯(cuò)誤!";</p><p><b> }</b></p><p>&l
39、t;b> }</b></p><p><b> 5、程序演示</b></p><p><b> 5.1、進(jìn)入系統(tǒng)</b></p><p> 5.2添加設(shè)備信息 </p><p> 5.3刪除指定設(shè)備信息</p><p> 5.4根據(jù)設(shè)備數(shù)據(jù)查找設(shè)
40、備信息 </p><p> 5.5 顯示所有設(shè)備信息</p><p> 5.6 將設(shè)備信息存儲(chǔ)在文本中</p><p><b> 6、總結(jié)</b></p><p> 經(jīng)過一個(gè)星期的C++程序設(shè)計(jì),讓我明白到了C++這門課的重要性,C++作為一門電腦學(xué)的基礎(chǔ)課,是我們必須掌握的順電腦飛速發(fā)展的今天,掌握電腦的應(yīng)用是
41、如今每一位大學(xué)生所必須掌握的,掌握電腦有對(duì)各人來說有我種好處,學(xué)習(xí)電腦是一種本領(lǐng),也是一種生存的技能,而C++做為電腦的基礎(chǔ),掌握它更是我們這些大學(xué)生所必須掌握的。</p><p> 經(jīng)過這次程序設(shè)計(jì),讓我認(rèn)識(shí)到了C++的運(yùn)用是相當(dāng)廣泛的,才拿到題目的時(shí)候,我真的不知道該怎么辦,但隨著慢慢的設(shè)計(jì),思路也總算有了,這樣才能繼續(xù)進(jìn)行下去,這時(shí)我才真正認(rèn)識(shí)到了C+++的功能原來是那么的多。一個(gè)復(fù)雜的實(shí)驗(yàn)室設(shè)備管理系統(tǒng)
42、,經(jīng)過500-600行的代碼就可以完完全全的達(dá)到,這是讓我非常驚訝的,但相對(duì),如今的C++也是非常難的,這學(xué)期學(xué)到的一些內(nèi)容,都是C++的重點(diǎn),但學(xué)下來以后感覺還是很難所以必須先打好基礎(chǔ),基礎(chǔ)好了,學(xué)什么都會(huì)容易很多。</p><p> 這次的程序設(shè)計(jì)讓我重新認(rèn)識(shí)到了C++,這是一門非常重要的科目,我們必須付出很多倍的努力學(xué)習(xí)它,才能熟練地掌握它。</p><p><b>
43、源代碼</b></p><p> #include<iostream></p><p> #include<cstdlib></p><p> #include<string></p><p> #include<fstream></p><p>
44、#include<sstream></p><p> using namespace std;</p><p> class Node //結(jié)點(diǎn)類,用于存放客戶的各種信息</p><p><b> {</b></p><p><b> public:</b></p>
45、;<p> long id; //實(shí)驗(yàn)設(shè)備編號(hào)</p><p> string name; //名稱</p><p> string type; //設(shè)備類型</p><p> string suoshushiyanshi; //實(shí)
46、驗(yàn)設(shè)備所屬實(shí)驗(yàn)室</p><p> string buytime; //購買時(shí)間</p><p> string price; //價(jià)格</p><p> string amount; //庫存量</p><p> string shengchanri
47、qi; //生產(chǎn)日期</p><p> string shiyongshouming; //使用壽命</p><p> string weight; //重量</p><p> Node *next; //指向下一結(jié)點(diǎn)的指針</p><p> Nod
48、e(long id=000,string nname="noname",string ntype="unkown",string nsuoshushiyanshi="unknow",</p><p> string nbuytime="unknow",string nprice="unknow",string n
49、amount="unknow", string nshengchanriqi="unkown",</p><p> string nshiyongshouming="unknow",string nweight="unknow" );//構(gòu)造函數(shù),初始化變量</p><p><b> };<
50、/b></p><p> class Link//Link類,把數(shù)據(jù)以鏈表的形式存儲(chǔ),鏈表的每個(gè)結(jié)點(diǎn)為一個(gè)Node對(duì)象</p><p><b> {</b></p><p><b> private:</b></p><p> Node *head; //鏈表的頭指針,為Node對(duì)象類
51、型的指針</p><p><b> public :</b></p><p> Link();//構(gòu)造函數(shù),初始化變量</p><p> bool linkIsEmpty();//判斷鏈表是否為空</p><p> void linkInsert(Node *newnode);//向鏈表中插入新的結(jié)點(diǎn)</p
52、><p> bool linkDelete(int nid);//從鏈表中刪除的結(jié)點(diǎn)</p><p> void linkClear();//清空鏈表中數(shù)據(jù)</p><p> void linkView();//查看鏈表中數(shù)據(jù)</p><p> Node* linkFind(int nid);//在鏈表中查找id為nid結(jié)點(diǎn),返回指向該結(jié)
53、點(diǎn)的指針</p><p> Node* getHead();//獲取頭指針</p><p><b> };</b></p><p> Node::Node(long nid, string nname, string ntype,string nsuoshushiyanshi,</p><p> string n
54、buytime,string nprice,string namount, string nshengchanriqi,</p><p> string nshiyongshouming,string nweight)</p><p><b> {</b></p><p><b> id=nid;</b></p
55、><p> name=nname;</p><p> type=ntype;</p><p> suoshushiyanshi=nsuoshushiyanshi;</p><p> buytime=nbuytime;</p><p> price=nprice;</p><p> amo
56、unt=namount;</p><p> shengchanriqi=nshengchanriqi;</p><p> shiyongshouming=nshiyongshouming;</p><p> weight=nweight;</p><p> next=NULL;</p><p><b>
57、; }</b></p><p> Link::Link() //構(gòu)造函數(shù),初始化鏈表為空</p><p><b> {</b></p><p> head=NULL;</p><p><b> }</b></p><p> bool Link::li
58、nkIsEmpty() //判斷鏈表是否為空,空則返回true</p><p><b> {</b></p><p> return(head==NULL);</p><p><b> }</b></p><p> void Link::linkInsert(Node *newnode)
59、 //按id值從小到大的順序,插入新的結(jié)點(diǎn)</p><p><b> {</b></p><p><b> Node *p1;</b></p><p> if(!head)//鏈表為空的情況</p><p> head=newnode;</p><p> else
60、if((head->id)>(newnode->id)) //插入到第一個(gè)結(jié)點(diǎn)的情況</p><p><b> {</b></p><p> newnode->next=head;</p><p> head=newnode;</p><p><b> }</b>&l
61、t;/p><p> else //插入到第二個(gè)及以后情況</p><p><b> {</b></p><p><b> p1=head;</b></p><p><b> while(1)</b></p><p><b> {</
62、b></p><p> if(!(p1->next))</p><p><b> {</b></p><p> p1->next=newnode;</p><p><b> break;</b></p><p><b> }</b&
63、gt;</p><p> else if((p1->next)->id>newnode->id)</p><p><b> {</b></p><p> newnode->next=p1->next;</p><p> p1->next=newnode;</p>
64、;<p><b> break;</b></p><p><b> }</b></p><p> p1=p1->next;</p><p><b> }</b></p><p><b> }</b></p>&l
65、t;p><b> }</b></p><p> bool Link::linkDelete(int nid) //刪除結(jié)點(diǎn),成功則返回true</p><p><b> {</b></p><p><b> Node *p;</b></p><p> if(he
66、ad==NULL)//鏈表為空的情況</p><p> return false;</p><p> if(head->id==nid) //刪除的為第一個(gè)結(jié)點(diǎn)的情況</p><p><b> {</b></p><p> head=head->next;</p><p>
67、return true;</p><p><b> }</b></p><p><b> p=head;</b></p><p> while(p->next) //刪除的為第二個(gè)及以后結(jié)點(diǎn)的情況</p><p><b> {</b></p><
68、;p> if((p->next)->id==nid)</p><p><b> {</b></p><p> p->next=(p->next)->next;</p><p> return true;</p><p><b> }</b></p&
69、gt;<p> p=p->next;</p><p><b> }</b></p><p> return false;</p><p><b> }</b></p><p> void Link::linkClear() //清空鏈表</p><p
70、><b> {</b></p><p> head=NULL;</p><p><b> }</b></p><p> Node* Link::linkFind(int nid) //查找id值為nid的結(jié)點(diǎn),返回該結(jié)點(diǎn)的指針</p><p><b> {</b>
71、;</p><p> Node *p=head; //沒找到符合條件的結(jié)點(diǎn)的話,返回的指針值為NULL</p><p><b> while(p)</b></p><p><b> {</b></p><p> if(p->id==nid)</p>
72、<p><b> break;</b></p><p><b> else</b></p><p> p=p->next;</p><p><b> }</b></p><p><b> return p;</b></p&
73、gt;<p><b> }</b></p><p> void Link::linkView() //顯示鏈表數(shù)據(jù)</p><p><b> {</b></p><p> Node *p=head;</p><p><b> while(p)</b>&l
74、t;/p><p><b> {</b></p><p> cout<<"實(shí)驗(yàn)設(shè)備編號(hào):"<<p->id<<endl;</p><p> cout<<"名稱:"<<p->name<<endl;</p><
75、;p> cout<<"類型:"<<p->type<<endl;</p><p> cout<<"所屬實(shí)驗(yàn)室:"<<p->suoshushiyanshi<<endl;</p><p> cout<<"購買時(shí)間:"<<
76、;p->buytime<<endl;</p><p> cout<<"價(jià)格:"<<p->price<<endl;</p><p> cout<<"庫存量:"<<p->amount<<endl;</p><p> cout
77、<<"生產(chǎn)日期:"<<p->shengchanriqi<<endl;</p><p> cout<<"使用壽命:"<<p->shiyongshouming<<endl;</p><p> cout<<"重量:"<<p-&
78、gt;weight<<endl;</p><p> cout<<"*******************************************************"<<endl;</p><p> p=p->next;</p><p><b> }</b><
79、/p><p><b> }</b></p><p> Node* Link::getHead()</p><p><b> {</b></p><p> return head;</p><p><b> }</b></p><
80、p> //類Shebei,用于包裝Link類及菜單操作</p><p> class Shebei</p><p><b> {</b></p><p><b> private:</b></p><p> Link clink;//Link對(duì)象成員</p><p
81、> bool k;//記錄數(shù)據(jù)是否被修改</p><p><b> public:</b></p><p><b> Shebei();</b></p><p> void ShebeiClear();</p><p> void ShebeiInsert();</p>
82、<p> void ShebeiDelete();</p><p> void ShebeiFind();</p><p> void ShebeiModify();</p><p> void ShebeiView();</p><p> void ShebeiLoad();</p><p>
83、 void ShebeiSave();</p><p> void Exit();//退出程序</p><p> void showMenu();//顯示菜單</p><p> void showTip();//顯示操作提示</p><p> void doMenu(char n);//執(zhí)行相應(yīng)菜單項(xiàng)功能</p><
84、;p><b> };</b></p><p> Shebei::Shebei()</p><p><b> {</b></p><p> Link();//調(diào)用成員對(duì)象的構(gòu)造函數(shù)</p><p> ShebeiLoad();//從文件中讀取數(shù)據(jù),創(chuàng)建鏈表</p><
85、;p> k=false;//設(shè)置數(shù)據(jù)被修改</p><p><b> }</b></p><p> void Shebei::ShebeiClear() //清空設(shè)備記錄</p><p><b> {</b></p><p> clink.linkClear();</p>
86、<p> cout<<"成功清空設(shè)備信息記錄!"<<endl;</p><p><b> }</b></p><p> void Shebei::ShebeiInsert() //插入設(shè)備記錄</p><p><b> {</b></p>&l
87、t;p> Node *p=new Node();</p><p> cout<<"請(qǐng)輸入設(shè)備編號(hào):";</p><p> cin>>p->id;</p><p> cout<<"請(qǐng)輸入名稱:";</p><p> cin>>p->
88、;name;</p><p> cout<<"請(qǐng)輸入類型:";</p><p> cin>>p->type;</p><p> cout<<"請(qǐng)輸入所屬實(shí)驗(yàn)室:";</p><p> cin>>p->suoshushiyanshi;&l
89、t;/p><p> cout<<"請(qǐng)輸入購買時(shí)間:";</p><p> cin>>p->buytime;</p><p> cout<<"請(qǐng)輸入價(jià)格:";</p><p> cin>>p->price;</p><p&
90、gt; cout<<"請(qǐng)輸入庫存量:";</p><p> cin>>p->amount;</p><p> cout<<"請(qǐng)輸入生產(chǎn)日期:";</p><p> cin>>p->shengchanriqi;</p><p> cou
91、t<<"請(qǐng)輸入設(shè)備重量:";</p><p> cin>>p->weight;</p><p> if(!clink.linkFind(p->id)) //判斷設(shè)備信息是否存在</p><p><b> {</b></p><p> clink.linkIn
92、sert(p);</p><p><b> k=true;</b></p><p><b> }</b></p><p><b> else</b></p><p> cout<<"設(shè)備編號(hào)為"<<p->id<&l
93、t;"的的設(shè)備已存在,插入失敗!"<<endl;</p><p><b> }</b></p><p> void Shebei::ShebeiDelete() //刪除設(shè)備記錄</p><p><b> {</b></p><p><b> lon
94、g i;</b></p><p> if(clink.linkIsEmpty())//鏈表為空的情況</p><p> cout<<"沒有設(shè)備記錄!"<<endl;</p><p><b> else</b></p><p><b> {</
95、b></p><p> cout<<"請(qǐng)輸入設(shè)備編號(hào):";</p><p><b> cin>>i;</b></p><p> if(clink.linkDelete(i))</p><p><b> {</b></p><
96、;p> cout<<"成功刪除編號(hào)為"<<i<<"的實(shí)驗(yàn)記錄!"<<endl;</p><p><b> k=true;</b></p><p><b> }</b></p><p><b> else</
97、b></p><p> cout<<"沒有找到編號(hào)為"<<i<<"的設(shè)備!"<<endl;</p><p><b> }</b></p><p><b> }</b></p><p> void S
98、hebei::ShebeiFind() //查找某編號(hào)的設(shè)備記錄</p><p><b> {</b></p><p><b> long n;</b></p><p><b> Node *p;</b></p><p> if(clink.linkIsEmpty())
99、//鏈表為空的情況</p><p> cout<<"沒有設(shè)備記錄!"<<endl;</p><p><b> else</b></p><p><b> {</b></p><p> cout<<"請(qǐng)輸入要查找設(shè)備的編號(hào):&q
100、uot;;</p><p><b> cin>>n;</b></p><p> p=clink.linkFind(n);//獲得找到的結(jié)點(diǎn)的指針</p><p> if(p) //指針值不為NULL時(shí)</p><p><b> {</b></p><p>
101、 cout<<"實(shí)驗(yàn)設(shè)備編號(hào):"<<p->id<<endl;</p><p> cout<<"名稱:"<<p->name<<endl;</p><p> cout<<"類型:"<<p->type<<e
102、ndl;</p><p> cout<<"所屬實(shí)驗(yàn)室:"<<p->suoshushiyanshi<<endl;</p><p> cout<<"購買時(shí)間:"<<p->buytime<<endl;</p><p> cout<<
103、"價(jià)格:"<<p->price<<endl;</p><p> cout<<"庫存量:"<<p->amount<<endl;</p><p> cout<<"生產(chǎn)日期:"<<p->shengchanriqi<<en
104、dl;</p><p> cout<<"使用壽命:"<<p->shiyongshouming<<endl;</p><p> cout<<"重量:"<<p->weight<<endl;</p><p><b> }</b&
105、gt;</p><p> else//指針值為NULL時(shí)</p><p> cout<<"沒有找到編號(hào)為"<<n<<"的設(shè)備記錄!"<<endl;</p><p><b> }</b></p><p><b> }&
106、lt;/b></p><p> void Shebei::ShebeiModify() //修改某編號(hào)的設(shè)備信息</p><p><b> {</b></p><p><b> long n;</b></p><p><b> Node *p;</b></p
107、><p> if(clink.linkIsEmpty())//鏈表為空的情況</p><p> cout<<"沒有設(shè)備記錄!"<<endl;</p><p><b> else</b></p><p><b> {</b></p><
108、;p> cout<<"請(qǐng)輸入要修改設(shè)備的編號(hào):";</p><p><b> cin>>n;</b></p><p> p=clink.linkFind(n);//獲得找到的結(jié)點(diǎn)的指針</p><p> if(p) //指針值不為NULL時(shí)</p><p><
109、;b> {</b></p><p> cout<<"實(shí)驗(yàn)設(shè)備編號(hào):"<<p->id<<endl;</p><p> cout<<"名稱:"<<p->name<<endl;</p><p> cout<<&q
110、uot;類型:"<<p->type<<endl;</p><p> cout<<"所屬實(shí)驗(yàn)室:"<<p->suoshushiyanshi<<endl;</p><p> cout<<"購買時(shí)間:"<<p->buytime<<
111、endl;</p><p> cout<<"價(jià)格:"<<p->price<<endl;</p><p> cout<<"庫存量:"<<p->amount<<endl;</p><p> cout<<"生產(chǎn)日期:&qu
112、ot;<<p->shengchanriqi<<endl;</p><p> cout<<"使用壽命:"<<p->shiyongshouming<<endl;</p><p> cout<<"重量:"<<p->weight<<endl;
113、</p><p> cout<<"請(qǐng)輸入新的設(shè)備信息"<<endl;</p><p> cout<<"請(qǐng)輸入設(shè)備編號(hào):";</p><p> cin>>p->id;</p><p> cout<<"請(qǐng)輸入名稱:"
114、;;</p><p> cin>>p->name;</p><p> cout<<"請(qǐng)輸入類型:";</p><p> cin>>p->type;</p><p> cout<<"請(qǐng)輸入所屬實(shí)驗(yàn)室:";</p><p
115、> cin>>p->suoshushiyanshi;</p><p> cout<<"請(qǐng)輸入購買時(shí)間:";</p><p> cin>>p->buytime;</p><p> cout<<"請(qǐng)輸入價(jià)格:";</p><p>
116、cin>>p->price;</p><p> cout<<"請(qǐng)輸入庫存量:";</p><p> cin>>p->amount;</p><p> cout<<"請(qǐng)輸入生產(chǎn)日期:";</p><p> cin>>p->
117、;shengchanriqi;</p><p> cout<<"請(qǐng)輸入設(shè)備重量:";</p><p> cin>>p->weight;</p><p><b> }</b></p><p> else//指針值為NULL時(shí)</p><p>
118、 cout<<"沒有找到編號(hào)為"<<n<<"的設(shè)備記錄!"<<endl;</p><p><b> }</b></p><p><b> }</b></p><p> void Shebei::ShebeiView() //顯示
119、所有設(shè)備的記錄</p><p><b> {</b></p><p> if(clink.linkIsEmpty())</p><p> cout<<"沒有設(shè)備記錄!"<<endl;</p><p><b> else</b></p>
120、<p> clink.linkView();</p><p><b> }</b></p><p> void Shebei::ShebeiLoad() //從文件中讀入數(shù)據(jù),創(chuàng)建鏈表</p><p><b> {</b></p><p><b> Node *p;&
121、lt;/b></p><p><b> long nid;</b></p><p> ifstream infile("data.txt");</p><p> if(!infile)</p><p> cerr<<"錯(cuò)誤:數(shù)據(jù)文件不能打開!\n";<
122、;/p><p><b> else</b></p><p> while(infile>>nid) //讀取客戶,直到讀空</p><p><b> {</b></p><p> p=new Node();</p><p> p->id=nid;<
123、;/p><p> infile>>p->name>>" "; //讀取名稱</p><p> infile>>p->type>>" ";</p><p> infile>>p->suoshushiyanshi>>&qu
124、ot; ";</p><p> infile>>p->buytime>>" ";</p><p> infile>>p->price>>" ";</p><p> infile>>p->amount>>"
125、 ";</p><p> infile>>p->shengchanriqi>>" ";</p><p> infile>>p->weight>>" ";</p><p> clink.linkInsert(p);</p><p&
126、gt;<b> }</b></p><p> infile.close(); //關(guān)閉文件</p><p><b> }</b></p><p> void Shebei::ShebeiSave() //將數(shù)據(jù)保存到文件</p><p><b> {</b><
127、/p><p> Node *p=clink.getHead();</p><p> ofstream outfile("data.txt");</p><p> if(!outfile)</p><p> cerr<<"錯(cuò)誤:數(shù)據(jù)文件不能打開!\n";</p><p&
128、gt;<b> else</b></p><p><b> {</b></p><p><b> while(p)</b></p><p><b> {</b></p><p> outfile<<p->id<<&q
129、uot; "<<p->name<<" "<<p->type<<" "<<p->suoshushiyanshi</p><p> <<" "<<p->buytime<<" "<<p-&
130、gt;price<<" "<<p->amount<<" "<<p->shengchanriqi</p><p> <<" "<<p->weight<<" "<<endl;</p><p>
131、 p=p->next;</p><p><b> }</b></p><p><b> k=false;</b></p><p> cout<<"保存成功!"<<endl;</p><p><b> }</b><
132、/p><p><b> }</b></p><p> void Shebei::Exit()</p><p><b> {</b></p><p> char s='Y';</p><p> if(k) //判斷數(shù)據(jù)是否修改</p><
133、;p><b> {</b></p><p> cout<<"數(shù)據(jù)已經(jīng)改變,是否保存?(y/n):";</p><p><b> cin>>s;</b></p><p> if(s=='y'||s=='Y')</p>&l
134、t;p> ShebeiSave();</p><p><b> }</b></p><p> cout<<"已安全退出,";</p><p> system("pause");</p><p><b> exit(0);</b>&l
135、t;/p><p><b> }</b></p><p> void Shebei::showMenu()</p><p><b> {</b></p><p> cout<<"\t\t 實(shí)驗(yàn)室設(shè)備管理系統(tǒng) &quo
136、t;<<endl;</p><p> cout<<"\t\t**************************************************"<<endl; </p><p> cout<<"\t\t*
137、 *"<<endl;</p><p> cout<<"\t\t* 1--清空:清除所有設(shè)備信息 *"<<endl;</p><p> cout<<"\t\t*
138、 *"<<endl;</p><p> cout<<"\t\t* 2--添加:增加一個(gè)設(shè)備到設(shè)備信息中 *"<<endl;</p><p> cout<<"\t\t* *&qu
139、ot;<<endl;</p><p> cout<<"\t\t* 3--刪除:刪除指定設(shè)備數(shù)據(jù) *"<<endl;</p><p> cout<<"\t\t* *"
140、;<<endl;</p><p> cout<<"\t\t* 4--查找:根據(jù)設(shè)備數(shù)據(jù)查找設(shè)備信息 *"<<endl;</p><p> cout<<"\t\t* *"<&
141、lt;endl;</p><p> cout<<"\t\t* 5--修改:修改指定設(shè)備信息 *"<<endl;</p><p> cout<<"\t\t* *"<<
142、;endl;</p><p> cout<<"\t\t* 6--顯示:在屏幕上顯示所有設(shè)備的信息 *"<<endl;</p><p> cout<<"\t\t* *"<<endl;&
143、lt;/p><p> cout<<"\t\t* 7--存儲(chǔ):將設(shè)備信息保存在一個(gè)文件中 *"<<endl;</p><p> cout<<"\t\t* *"<<endl;</p&g
144、t;<p> cout<<"\t\t* 0--退出:安全的退出本系統(tǒng) *"<<endl;</p><p> cout<<"\t\t**************************************************"<<endl;</p>
145、<p><b> }</b></p><p> void Shebei::showTip()</p><p><b> {</b></p><p> cout<<endl;</p><p> cout<<"****************操作
146、完成*********************"<<endl;</p><p> cout<<"**************選擇0-7 繼續(xù)*****************"<<endl;</p><p> cout<<"請(qǐng)選擇:";</p><p><b&
147、gt; }</b></p><p> void Shebei::doMenu(char n)</p><p><b> {</b></p><p><b> switch(n)</b></p><p><b> {</b></p><p
148、><b> case '1':</b></p><p> ShebeiClear();</p><p><b> break;</b></p><p><b> case '2':</b></p><p> ShebeiInser
149、t();</p><p><b> break;</b></p><p><b> case '3':</b></p><p> ShebeiDelete();</p><p><b> break;</b></p><p>&l
150、t;b> case '4':</b></p><p> ShebeiFind();</p><p><b> break;</b></p><p><b> case '5':</b></p><p> ShebeiModify();<
151、;/p><p><b> break;</b></p><p><b> case '6':</b></p><p> ShebeiView();</p><p><b> break;</b></p><p><b>
152、case '7':</b></p><p> ShebeiSave();</p><p><b> break;</b></p><p><b> case '0':</b></p><p><b> Exit();</b>&
153、lt;/p><p><b> break;</b></p><p><b> default:</b></p><p> cout<<"輸入錯(cuò)誤!";</p><p><b> }</b></p><p><b&
154、gt; }</b></p><p> int main()</p><p><b> {</b></p><p><b> Shebei c;</b></p><p> char i='9';</p><p> c.showMenu()
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)(實(shí)驗(yàn)設(shè)備管理系統(tǒng))
- 資產(chǎn)設(shè)備管理系統(tǒng)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- 實(shí)驗(yàn)室設(shè)備管理系統(tǒng)(課程設(shè)計(jì)報(bào)告)
- c語言課程設(shè)計(jì)報(bào)告力學(xué)實(shí)驗(yàn)設(shè)備管理系統(tǒng)
- 個(gè)人課程設(shè)計(jì)報(bào)告—實(shí)驗(yàn)室設(shè)備管理系統(tǒng)
- java課程設(shè)計(jì)報(bào)告-設(shè)備管理系統(tǒng)
- 實(shí)驗(yàn)室設(shè)備管理系統(tǒng)課程設(shè)計(jì)
- 實(shí)驗(yàn)室設(shè)備管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)報(bào)告---設(shè)備管理系統(tǒng)
- javaee課程設(shè)計(jì)--實(shí)驗(yàn)室設(shè)備管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告--公司設(shè)備管理系統(tǒng)
- c++課程設(shè)計(jì)---實(shí)驗(yàn)室設(shè)備管理系統(tǒng)
- c語言課程設(shè)計(jì)--- 設(shè)備管理系統(tǒng)
- 課程設(shè)計(jì)--設(shè)備管理系統(tǒng)實(shí)現(xiàn)—管理模塊
- 操作系統(tǒng)課程設(shè)計(jì)(設(shè)備管理)
- 軟件工程課程設(shè)計(jì)實(shí)驗(yàn)室設(shè)備管理系統(tǒng)
- 實(shí)驗(yàn)室設(shè)備管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)-設(shè)備管理系統(tǒng)
- 設(shè)備管理系統(tǒng) 數(shù)據(jù)庫課程設(shè)計(jì)
- 網(wǎng)絡(luò)數(shù)據(jù)庫課程設(shè)計(jì)--設(shè)備管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論