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