2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  計(jì)算機(jī)科學(xué)與技術(shù)系</b></p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  2010~2011學(xué)年第二學(xué)期</p><p>  目 錄</p><p>  1 課程設(shè)計(jì)的目的………………………………………………………………2<

2、/p><p>  2 課程設(shè)計(jì)名稱及內(nèi)容…………………………………………………………2</p><p>  3 任務(wù)要求………………………………………………………………………2</p><p>  4 課程設(shè)計(jì)報(bào)告內(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í)驗(yàn)室設(shè)備管理系統(tǒng)</b></p><p><b>  1、課程設(shè)計(jì)目的</b></p><p>  將理論教學(xué)中涉及到的知識(shí)點(diǎn)貫穿起來,對

5、不同的數(shù)據(jù)類型、程序控制結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)作一比較和總結(jié),結(jié)合設(shè)計(jì)題目進(jìn)行綜合性應(yīng)用,對所學(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ù)能

6、力,從而達(dá)到提高學(xué)生素質(zhì)的最終目的。</p><p> ?。?)利用所學(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> ?。?)對于給定的設(shè)計(jì)題目,如何進(jìn)行分析,理清思路,并給出相應(yīng)的數(shù)學(xué)模型。 </p><p>  (5)掌握結(jié)構(gòu)化程序設(shè)計(jì)方法,熟悉面向?qū)ο蟪绦蛟O(shè)計(jì)方法。</p

7、><p> ?。?)熟練掌握C++語言的基本語法,靈活運(yùn)用各種數(shù)據(jù)類型。</p><p>  (7)進(jìn)一步掌握在集成環(huán)境下如何調(diào)試程序和修改程序。</p><p>  2、課程設(shè)計(jì)名稱及內(nèi)容</p><p>  課程設(shè)計(jì)名稱:實(shí)驗(yàn)室設(shè)備管理系統(tǒng)</p><p>  設(shè)計(jì)內(nèi)容:編寫一個(gè)簡單的實(shí)驗(yàn)室設(shè)備管理程序,幫助管理實(shí)驗(yàn)室

8、設(shè)備信息。要求具有設(shè)備信息管理的功能。其中包括設(shè)備信息的錄入、刪除、查詢和修改等功能。還應(yīng)包括對實(shí)驗(yàn)室信息管理的功能。其中包括對實(shí)驗(yàn)室信息的錄入、刪除、修改和查詢等功能。</p><p><b>  3、任務(wù)和要求</b></p><p>  運(yùn)用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,要求選擇動(dòng)態(tài)數(shù)組類模板或鏈表類模板,任務(wù)中要運(yùn)用I/O流對象對文件進(jìn)行讀寫操作。</p>

9、;<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>  4、 課程設(shè)計(jì)報(bào)告內(nèi)容</p><p><b>  4.1 流程圖顯示</b></p><p>  4.2 程序?qū)崿F(xiàn)思路</p>

11、;<p>  定義一個(gè)結(jié)點(diǎn)類,用于存放實(shí)驗(yàn)室設(shè)備的各種信息;</p><p>  定義一個(gè)Link類,把數(shù)據(jù)以鏈表的形式存儲(chǔ),鏈表的每個(gè)結(jié)點(diǎn)為一個(gè)Node對象;</p><p>  定義一個(gè)Shebei類,用于包裝Link類及菜單操作;</p><p>  定義Link類和Shebei類的成員函數(shù),實(shí)現(xiàn)要求的各種功能;</p><p

12、><b>  Link類:</b></p><p>  class Link//Link類,把數(shù)據(jù)以鏈表的形式存儲(chǔ),鏈表的每個(gè)結(jié)點(diǎn)為一個(gè)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é)點(diǎn)</p><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

15、);//在鏈表中查找id為nid結(jié)點(diǎn),返回指向該結(jié)點(diǎn)的指針</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)菜單項(xiàng)功能</p><p><b>  };</b></p><p>  然后就是各個(gè)函數(shù)的具體定義。</p><

20、p>  菜單選擇功能的實(shí)現(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í)驗(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* *"<<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--存儲(chǔ):將設(shè)備信息保存在一個(gè)文件中 *"<<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<<"輸入錯(cuò)誤!";</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è)備信息存儲(chǔ)在文本中</p><p><b>  總結(jié)</b></p><p>  經(jīng)過一個(gè)星期的C++程序設(shè)計(jì),讓我明白到了C++這門課的重要性,C++作為一門電腦學(xué)的基礎(chǔ)課,是我們必須掌握的順電腦飛速發(fā)展的今天,掌握電腦的應(yīng)用是

41、如今每一位大學(xué)生所必須掌握的,掌握電腦有對各人來說有我種好處,學(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á)到,這是讓我非常驚訝的,但相對,如今的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>  [1].鄭莉 等編著《C++語言程序設(shè)計(jì)(第三版)》北京:清華大學(xué)出版社</p><p>  [2].鄭莉 等編著《C++語言程序設(shè)計(jì)(第三版)學(xué)生用書》北京: 清華大學(xué)出版社</p><p>  [3].李春葆 等編著《C++程序設(shè)計(jì)學(xué)習(xí)與上機(jī)實(shí)驗(yàn)指導(dǎo)》 北京:清華大學(xué)出版社</p><p&g

44、t;  [4].范輝 等編著《Visual C++6.0程序設(shè)計(jì)簡明教程》 高等教育出版社</p><p>  [5].李龍澍《C++程序設(shè)計(jì)實(shí)訓(xùn)教程》北京:清華大學(xué)出版社 </p><p>  [6].洪國勝 等編著 《C++ Builder程序設(shè)計(jì)輕松上手》北京:清華大學(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è)計(jì)指導(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é)點(diǎn)類,用于存放

47、客戶的各種信息</p><p><b>  {</b></p><p><b>  public:</b></p><p>  long id; //實(shí)驗(yàn)設(shè)備編號(hào)</p><p>  string name; //名稱</

48、p><p>  string type; //設(shè)備類型</p><p>  string suoshushiyanshi; //實(shí)驗(yàn)設(shè)備所屬實(shí)驗(yàn)室</p><p>  string buytime; //購買時(shí)間</p><p>  string price;

49、 //價(jià)格</p><p>  string amount; //庫存量</p><p>  string shengchanriqi; //生產(chǎn)日期</p><p>  string shiyongshouming; //使用壽命</p><p>  string weight;

50、 //重量</p><p>  Node *next; //指向下一結(jié)點(diǎn)的指針</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ù)以鏈表的形式存儲(chǔ),鏈表的每個(gè)結(jié)點(diǎn)為一個(gè)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é)點(diǎn)</p><p>  bool linkDelete(int nid);//從鏈表中刪除的結(jié)點(diǎn)</p><p>  void linkClear();//清空鏈表中數(shù)據(jù)</p>

55、<p>  void linkView();//查看鏈表中數(shù)據(jù)</p><p>  Node* linkFind(int nid);//在鏈表中查找id為nid結(jié)點(diǎn),返回指向該結(jié)點(diǎn)的指針</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é)點(diǎn)</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)) //插入到第一個(gè)結(jié)點(diǎn)的情況</p><p><b>  {</b></p><p&

63、gt;  newnode->next=head;</p><p>  head=newnode;</p><p><b>  }</b></p><p>  else //插入到第二個(gè)及以后情況</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é)點(diǎn),成功則返回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) //刪除的為第一個(gè)結(jié)點(diǎn)的情況

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) //刪除的為第二個(gè)及以后結(jié)點(diǎn)的情況</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é)點(diǎn),返回該結(jié)點(diǎn)的指針</p><p><b>  {</b></p><p>  Node *p=head; //沒找到符合條件的結(jié)點(diǎn)的話,返回的指針值為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í)驗(yàn)設(shè)備編號(hào):"<<p->id&

77、lt;<endl;</p><p>  cout<<"名稱:"<<p->name<<endl;</p><p>  cout<<"類型:"<<p->type<<endl;</p><p>  cout<<"所屬實(shí)驗(yàn)室

78、:"<<p->suoshushiyanshi<<endl;</p><p>  cout<<"購買時(shí)間:"<<p->buytime<<endl;</p><p>  cout<<"價(jià)格:"<<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)菜單項(xià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è)備編號(hào):";</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<<"請輸入所屬實(shí)驗(yàn)室:";</p><p>  cin>>p->suoshushiyanshi;</p><p>  cout<<"請輸入購買時(shí)間:";</p><p>  cin>>p->buytime;</p>

92、<p>  cout<<"請輸入價(jià)格:";</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è)備編號(hào)為"<<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è)備編號(hào):";</p><p><b>  cin>>i;</b

98、></p><p>  if(clink.linkDelete(i))</p><p><b>  {</b></p><p>  cout<<"成功刪除編號(hào)為"<<i<<"的實(shí)驗(yàn)記錄!"<<endl;</p><p><

99、b>  k=true;</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  cout<<"沒有找到編號(hào)為"<<i<<"的設(shè)備!"<<endl;</p&

100、gt;<p><b>  }</b></p><p><b>  }</b></p><p>  void Shebei::ShebeiFind() //查找某編號(hào)的設(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è)備的編號(hào):";</p><p><b>  cin>>n;</b></p><p>  p=clink.linkFind(n);//獲得找到的結(jié)點(diǎn)

103、的指針</p><p>  if(p) //指針值不為NULL時(shí)</p><p><b>  {</b></p><p>  cout<<"實(shí)驗(yàn)設(shè)備編號(hào):"<<p->id<<endl;</p><p>  cout<<"名稱:"

104、<<p->name<<endl;</p><p>  cout<<"類型:"<<p->type<<endl;</p><p>  cout<<"所屬實(shí)驗(yàn)室:"<<p->suoshushiyanshi<<endl;</p>&

105、lt;p>  cout<<"購買時(shí)間:"<<p->buytime<<endl;</p><p>  cout<<"價(jià)格:"<<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時(shí)</p><p>  cout<<"沒有找到編號(hào)為"<<n<<

108、"的設(shè)備記錄!"<<endl;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void Shebei::ShebeiModify() //修改某編號(hào)的設(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è)備的編號(hào):";</p><p><b>  cin>>n;</b></p>

111、<p>  p=clink.linkFind(n);//獲得找到的結(jié)點(diǎn)的指針</p><p>  if(p) //指針值不為NULL時(shí)</p><p><b>  {</b></p><p>  cout<<"實(shí)驗(yàn)設(shè)備編號(hào):"<<p->id<<endl;</p>

112、<p>  cout<<"名稱:"<<p->name<<endl;</p><p>  cout<<"類型:"<<p->type<<endl;</p><p>  cout<<"所屬實(shí)驗(yàn)室:"<<p->s

113、uoshushiyanshi<<endl;</p><p>  cout<<"購買時(shí)間:"<<p->buytime<<endl;</p><p>  cout<<"價(jià)格:"<<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è)備編號(hào):";</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<<"請輸入所屬實(shí)驗(yàn)室:";</p><p>  cin>>p->suoshushiyanshi;</p><p>  cout<<"請輸入購買時(shí)間:";</p><p

118、>  cin>>p->buytime;</p><p>  cout<<"請輸入價(jià)格:";</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時(shí)</p><p>  cout<<"沒有找到編號(hào)為"<<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<<"錯(cuò)誤:數(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<<"錯(cuò)誤:數(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í)驗(yàn)室設(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--添加:增加一個(gè)設(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--存儲(chǔ):將設(shè)備信息保存在一個(gè)文件中 *"<<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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論