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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  本 科 生 課 程 設 計</p><p>  課 程 名 稱: C++課程設計 </p><p>  題 目: 小型超市管理系統(tǒng) </p><p>  專 業(yè) 班 級: 14電信1班 </p><p>  學 生 姓 名:

2、 </p><p>  學 生 學 號: </p><p>  日 期: </p><p>  指 導 教 師: </p><p>  指導教師簽字:

3、 </p><p>  年 月 日</p><p><b>  目 錄</b></p><p>  摘 要··················

4、·····················1</p><p>  1概 述···········

5、····························2</p><p>  2 設計方案簡述···&#

6、183;···························3</p><p>  2.1 設計內容···

7、3;·····························3</p><p>  2.2 設計目的與要求·

8、83;·························3</p><p>  2.3 系統(tǒng)分析與設計·····&

9、#183;····················3</p><p>  3 詳細設計···········

10、;·······················12</p><p>  3.1 系統(tǒng)總體設計·······

11、83;···················12</p><p>  3.2 源程序代碼···········&#

12、183;·················13</p><p>  4 運行結果··············

13、;····················28</p><p>  5設計體會···········

14、83;······················32</p><p><b>  摘 要</b></p><p>  當代社會中伴隨著計算機技術在各

15、行各業(yè)日益廣泛和深入的應用,超市對貨品于職員的管理不在像過去一樣靠手工去做,在一些超市管理中也開始信息化。信息化的管理可以為超市節(jié)省大量人力物力,提高其運行效率,從而為顧客提供更好的服務,實現(xiàn)超市的業(yè)務提升。 </p><p>  本系統(tǒng)就是為了適應這種要求而設計的。集信息的顯示、輸入、修改、刪除、查詢等各種處理為一體,信息維護起來非常方便。大大減少了超市的人力和物力。  本系統(tǒng)大致

16、要做到以下幾點: </p><p> ?。?) 操作簡便,節(jié)省大量人力; </p><p> ?。?) 可以方便的進行貨品管理,安全、高效; </p><p> ?。?) 可以迅速計算銷售額和所買賣貨品; </p><p> ?。?) 可以迅速查到所需信息,便于管理<

17、;/p><p><b>  1 概 述</b></p><p><b>  1.1任務: </b></p><p>  超市管理系統(tǒng)對職員商品信息進行高效簡潔的管理,使之能正常高效的進行售賣活動。系統(tǒng)充分考慮到超市管理系統(tǒng)對貨物資料進行登記并處理??紤]到進貨、退貨、庫存預警、年月日銷售額結算等多種特殊情況,同時可將相

18、關資料進行有效處理。</p><p><b>  1.2目標: </b></p><p>  當代社會中伴隨著計算機技術在各行各業(yè)日益廣泛和深入的應用,超市對貨品于職員的管理不在像過去一樣靠手工去做,在一些超市管理中也開始信息化。信息化的管理可以為超市節(jié)省大量人力物力,提高其運行效率,從而為顧客提供更好的服務,實現(xiàn)超市的業(yè)務提升。 </p&g

19、t;<p>  本系統(tǒng)就是為了適應這種要求而設計的。集信息的顯示、輸入、修改、刪除、查詢等各種處理為一體,信息維護起來非常方便。大大減少了超市的人力和物力。  本系統(tǒng)大致要做到以下幾點: </p><p> ?。?) 操作簡便,節(jié)省大量人力; </p><p> ?。?)可以方便的進行貨品管理,安全、高效; <

20、/p><p>  (3) 可以迅速計算銷售額和所買賣貨品; </p><p> ?。?) 可以迅速查到所需信息,便于管理。</p><p><b>  2.設計方案簡述</b></p><p><b>  2.1設計內容</b></p><p>  

21、設計一個簡單的超市管理系統(tǒng)。</p><p>  1.暫定有三個貨架,分別放著日常用品、食品和家電。</p><p>  2.可以實貨架商品的增加和出售。</p><p>  3.設計查詢功能,可以查找商品的現(xiàn)狀。</p><p>  4.不同商品有不同屬性:食品類,保質期,家電,顏色。</p><p>  5.重載運

22、算符>>。</p><p>  2.2設計目的與要求</p><p><b>  2.2.1設計目的</b></p><p>  達到熟練掌握C++語言的基本知識和技能; </p><p>  基本掌握面向對象程序設計的基本思路和方法; </p><p>  能夠利用所學的基本知識和技

23、能,解決簡單的面向對象程序設計問題。</p><p>  2.2.2 設計要求</p><p>  要求利用面向對象的方法以及C++的編程思想來完成系統(tǒng)的設計; </p><p>  要求在設計的過程中,建立清晰的類層次; </p><p>  在系統(tǒng)的設計中,至少要用到面向對象的一種機制。</p><p>  2.3

24、系統(tǒng)分析與設計</p><p>  2.3.1主要知識點</p><p>  1)類,類內包含構造函數(shù)、成員函數(shù)、私有數(shù)據(jù)成員和某些輸入輸出函數(shù);</p><p>  2)運算符重載,定義一個重載運算符的函數(shù),在需要執(zhí)行被重載的運算符是,系統(tǒng)自動調用該函數(shù);</p><p>  3)繼承與派生:1.基類即父類,被繼承的已有類;2.派生類即子

25、類,新建立的類;3.這些類的定義和聲明同類; 4.虛函數(shù)的作用是允許在派生類中重新定義與基類同名的函數(shù),并且可以通過基類指針或引用來訪問基類和派生類中的同名函數(shù)。 </p><p><b>  2.3.2關鍵技術</b></p><p>  1)程序共有四個頭文件和四個源文件。</p><p>  頭文件Supermarket,包含增加Add,

26、出售Sale和查詢Search三個公有成員函數(shù);</p><p>  源文件Supermarket,增加函數(shù),出售函數(shù)和查詢函數(shù)的功能相似,選擇功能,輸出商品類型列表。</p><p>  頭文件Goods,在這個頭文件中有四個類,一個基類和三個派生類。</p><p>  基類Goods中設置增加AddGoods,出售SaleGoods,顯示函數(shù)virtual S

27、howMe。同時定義統(tǒng)一的出售函數(shù)Sale。保護成員包括,商品名稱name[],商品數(shù)量number[]和商品分類的數(shù)量count。</p><p>  派生類,日常用品類DailyGoods,食物Food和家電ElectricalAppliance,除了自身的無參構造函數(shù),均從基類中繼承增加AddGoods,出售SaleGoods,顯示函數(shù)virtual ShowMe,并根據(jù)課題要求加入運算符重載函數(shù)istre

28、am operator >>(istream &in,DailyGoods &d)。同時借助函數(shù)Input_file和函數(shù)Save_file將商品信息輸出并保存到文件中。</p><p>  源文件Goods,實現(xiàn)各函數(shù)功能。</p><p>  頭文件diaplay,保存了小系統(tǒng)的基本頁面和選擇頁面。登錄界面Loading,功能選擇界面SelectMenu,商

29、品功能列表GoodList和結束頁面End。</p><p>  源文件display,進行頭文件的各項函數(shù)的功能實現(xiàn)。</p><p>  頭文件file,是關于文件的存儲,打開和關閉的功能。</p><p>  源文件main,實現(xiàn)功能的匯總和實現(xiàn)方式。</p><p><b>  2)部分函數(shù)的實現(xiàn)</b><

30、/p><p>  //Supermaket</p><p><b>  *Add函數(shù)</b></p><p>  int Supermarket::Add()</p><p><b>  {</b></p><p>  int Good_num;</p><p

31、>  system("cls");</p><p>  GoodList(); //調用GoodList()函數(shù)語言</p><p>  cout<<"\t\t您要增加什么類型的商品?";</p><p>  cin>>Good_num;</p><p>  ret

32、urn Good_num;</p><p><b>  }</b></p><p><b>  *Sale函數(shù)</b></p><p>  int Supermarket::Sale()</p><p><b>  {</b></p><p>  int

33、 Good_num;</p><p>  system("cls");</p><p>  GoodList(); //調用GoodList()函數(shù)語言</p><p>  cout<<"\t\t您要出售什么類型的商品?";</p><p>  cin>>Good_num;&

34、lt;/p><p>  return Good_num;</p><p><b>  }</b></p><p><b>  *Search函數(shù)</b></p><p>  int Supermarket::Search()</p><p><b>  {</b&

35、gt;</p><p>  int Good_num;</p><p>  system("cls");</p><p>  GoodList(); //調用GoodList()函數(shù)語言</p><p>  cout<<"\t\t您想要查詢什么類型的商品?";</p>&l

36、t;p>  cin>>Good_num;</p><p>  return Good_num; </p><p><b>  }</b></p><p><b>  //Goods</b></p><p><b>  *Sale函數(shù)</b></p>

37、<p>  void Goods::Sale()//統(tǒng)一定義商品出售函數(shù)功能模塊 </p><p><b>  { </b></p><p>  int flag=0; </p><p>  string goods_name; </p><p>  int goods_number; </p

38、><p>  cout<<"商品名稱:"; cin>>goods_name;</p><p>  cout<<"出售數(shù)量:"; cin>>goods_number; </p><p>  for(int i=0;i<count;i++) //count 在Goods

39、.h中定義的保護成員</p><p><b>  { </b></p><p>  if(name[i]==goods_name) </p><p><b>  { </b></p><p>  if(number[i]<goods_number) </p><p

40、><b>  { </b></p><p>  flag=1; </p><p>  cout<<endl<<"\t\t∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞"<<endl; </p><p>  cout<<"\t\t\t !!! 貨存不足!!!&

41、quot;<<endl; </p><p><b>  } </b></p><p><b>  else </b></p><p><b>  { </b></p><p>  flag=1; </p><p>  n

42、umber[i]-=goods_number; </p><p>  cout<<endl<<"\t\t∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞"<<endl; </p><p>  cout<<"\t\t\t !!!出售成功!!!"<<endl; </p>

43、<p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  if(flag==0) </p><p><b>  { </b></p><p

44、>  getchar();</p><p>  cout<<endl<<"\t\t∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞"<<endl; </p><p>  cout<<"\t\t\t 沒有該物品! "<<endl; </p><

45、p>  getchar();</p><p><b>  } </b></p><p><b>  }</b></p><p>  *AddGoods函數(shù)</p><p>  void DailyGoods::AddGoods()//增加日常用品 </p><p>&l

46、t;b>  { </b></p><p>  system("cls"); </p><p>  int flag=1; </p><p>  ShowMe(); </p><p>  cout<<endl<<"\t\t>>>>>>

47、;>>請輸入要增加日常用品的信息<<<<<<<<<"<<endl<<endl; </p><p>  cout<<"商品名稱:"; cin>>name[count]; </p><p>  cout<<"商品數(shù)量:&quo

48、t;; cin>>number[count]; </p><p>  for(int i=0;i<count;i++) </p><p><b>  { </b></p><p>  if(name[i]==name[count])//判斷該物品是否已經(jīng)存在 </p><p><b>

49、;  { </b></p><p>  number[i]+=number[count]; </p><p>  flag=0; </p><p><b>  } </b></p><p><b>  } </b></p><p><b&

50、gt;  if(flag) </b></p><p>  count++;//用于新增物品</p><p>  cout<<endl<<endl<<"\t\t∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞"<<endl;</p><p>  cout<<"\t\t\t !

51、!! 添加商品成功!!!"<<endl; </p><p>  cout<<"\t\t∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞"<<endl; </p><p><b>  }</b></p><p>  void Food::AddGoods()//增加食品</p>

52、;<p><b>  {</b></p><p>  system("cls");</p><p>  int flag=1;</p><p><b>  ShowMe();</b></p><p>  cout<<endl<<"≯

53、≯≯≯≯≯≯≯≯≯≯≯≯≯≯請輸入需要增加的食品信息≮≮≮≮≮≮≮≮≮≮≮≮≮≮≮"<<endl;</p><p>  cout<<"商品名稱:"; cin>>number[count];</p><p>  for(int i=0;i<count;i++)</p><p><b> 

54、 {</b></p><p>  if(name[i]==name[count])//判斷該物品是否存在</p><p><b>  {</b></p><p>  number[i] += number[count];</p><p><b>  flag=0;</b></p&g

55、t;<p><b>  }</b></p><p><b>  }</b></p><p><b>  if(flag)</b></p><p><b>  {</b></p><p>  cout<<"商品數(shù)量:&qu

56、ot;; cin>>number[count];</p><p>  cout<<"保質期:"; cin>>SaveTime[count];</p><p>  count++; //用于新增物品</p><p><b>  }</b></p><

57、p>  cout<<endl<<endl<<endl<<"\t\t∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞"<<endl<<endl;</p><p>  cout<<"\t\t\t 添加商品成功!!!

58、 "<<endl;</p><p>  cout<<endl<<endl<<endl<<endl;</p><p>  cout<<endl<<"\t\t∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞"<<endl<<endl;</p>

59、;<p><b>  }</b></p><p>  void ElectricalAppliance::AddGoods()//增加家電 </p><p><b>  { </b></p><p>  system("cls"); </p><p>  int

60、 flag=1; </p><p>  ShowMe(); </p><p>  cout<<endl<<"≯≯≯≯≯≯≯≯≯≯≯≯≯≯≯請輸入要增加的家電的信息≮≮≮≮≮≮≮≮≮≮≮≮≮≮≮"<<endl<<endl; </p><p>  cout<<"商品名稱:&q

61、uot;; cin>>name[count]; </p><p>  for(int i=0;i<count;i++) </p><p><b>  { </b></p><p>  if(name[i]==name[count])//判斷該物品是否已經(jīng)存在 </p><p><b&g

62、t;  { </b></p><p>  cout<<"商品數(shù)量:";</p><p>  cin>>number[count]; </p><p>  number[i]+=number[count]; </p><p>  flag=0; </p>

63、<p><b>  } </b></p><p><b>  } </b></p><p>  if(flag) </p><p><b>  { </b></p><p>  cout<<"商品數(shù)量:";</p>

64、;<p>  cin>>number[count]; </p><p>  cout<<"顏色:";</p><p>  cin>>color[count]; </p><p>  count++;//用于新增物品 </p><p><b>  } &

65、lt;/b></p><p>  cout<<endl<<endl<<"\t\t*************************************"<<endl; </p><p>  cout<<"\t\t !!! 添加商品成功!!!!"<<endl; <

66、;/p><p>  cout<<"\t\t*************************************"<<endl; </p><p><b>  } </b></p><p>  *SaleGoods函數(shù)</p><p>  void DailyGoods::Sa

67、leGoods()//出售日常用品 </p><p><b>  { </b></p><p>  system("cls"); </p><p>  ShowMe(); </p><p>  cout<<endl<<"≯≯≯≯≯≯≯≯≯≯≯≯≯≯≯請輸入要出售

68、的日常用品信息≮≮≮≮≮≮≮≮≮≮≮≮≮≮≮"<<endl<<endl; </p><p>  Sale();//調用基類Goods里的Sale()函數(shù) </p><p><b>  }</b></p><p>  void Food::SaleGoods()//出售食品</p><p&g

69、t;<b>  {</b></p><p>  system("cls");</p><p><b>  ShowMe();</b></p><p>  cout<<endl<<"~~~~~~~~~~~~~~~~~~~~~~~~請輸入要出售的食品信息~~~~~~~~~~

70、~~~~~~~~~~~~~~"<<endl<<endl;</p><p>  Sale(); //調用基類Goods里的Sale函數(shù)</p><p><b>  }</b></p><p>  void ElectricalAppliance::SaleGoods() //賣出家電</p>

71、<p><b>  {</b></p><p>  system("cls"); </p><p>  ShowMe(); </p><p>  cout<<endl<<">>>>>>>>請輸入要出售的家電信息>>&g

72、t;>>>>>"<<endl<<endl; </p><p>  Sale();//調用基類Goods里的Sale()函數(shù) </p><p><b>  } </b></p><p><b>  *ShowMe函數(shù)</b></p><p

73、>  void DailyGoods::ShowMe() //顯示日常用品</p><p><b>  { </b></p><p>  cout<<endl<<" 超市商品管理系統(tǒng)**日常用品區(qū) "<<endl<

74、;<endl; </p><p>  cout<<endl<<"現(xiàn)有日常用品類商品庫存:"<<endl<<endl; </p><p>  for(int i=0;i<count;i++) </p><p><b>  { </b></p>

75、;<p>  cout<<" 【"<<i+1<<"】"<<"日常用品名稱:"<<setiosflags(ios::left)<<setw(15)<<name[i]; </p><p>  cout<<"現(xiàn)存數(shù)量

76、:"<<number[i]<<"個"<<endl; </p><p>  cout<<" -----------------------------------------------"<<endl; </p><p><b>  } <

77、/b></p><p><b>  } </b></p><p>  void Food::ShowMe() //顯示食品信息</p><p><b>  { </b></p><p>  cout<<endl<<"

78、超市商品管理系統(tǒng)**食品區(qū) "<<endl<<endl; </p><p>  cout<<endl<<"現(xiàn)有食品類商品庫存:"<<endl<<endl; </p><p>  for(int i=0;i<count;i++) <

79、;/p><p><b>  { </b></p><p>  cout<<" 【"<<i+1<<"】"<<"食品名稱:"<<setiosflags(ios::left)<<setw(15)<<name[i]; //

80、執(zhí)行由有參數(shù)指定區(qū)域內的動作</p><p>  cout<<"現(xiàn)存數(shù)量:"<<setw(4)<<number[i]<<setw(8)<<"千克"; // setw( n ) 設域寬為n個字符</p><p>  cout<<"保質期:"<&l

81、t;setw(3)<<SaveTime[i]<<"天"<<endl; </p><p>  cout<<" -----------------------------------------------------------"<<endl; </p><p>&l

82、t;b>  } </b></p><p><b>  } </b></p><p>  void ElectricalAppliance::ShowMe() //顯示家電信息</p><p><b>  { </b></p><p>  cout<<endl<

83、<" 超市商品管理系統(tǒng)**家電區(qū) "<<endl<<endl; </p><p>  cout<<endl<<"現(xiàn)有家電類商品庫存:"<<endl<<endl; </p><p>

84、  for(int i=0;i<count;i++) </p><p><b>  { </b></p><p>  cout<<" 【"<<i+1<<"】"<<"家電名稱:"<<setiosflags(ios::le

85、ft)<<setw(15)<<name[i]; </p><p>  cout<<"現(xiàn)存數(shù)量:"<<number[i]<<setw(6)<<"臺"; </p><p>  cout<<"顏色:"<<color[i]<<

86、;endl; </p><p>  cout<<" ------------------------------------------------------------"<<endl; </p><p><b>  } </b></p><p><b>  }&l

87、t;/b></p><p>  *文件的輸入和保存函數(shù)</p><p>  void DailyGoods::Input_file(ostream&outfile)//將DailyGoods類商品信息打印到文件中 </p><p><b>  { </b></p><p>  outfile<<

88、;endl<<"現(xiàn)有日常用品類商品庫存:"<<endl<<endl; </p><p>  for(int i=0;i<count;i++) </p><p><b>  { </b></p><p>  outfile<<"【"<<

89、;i+1<<"】"<<"日常用品名稱:"<<setiosflags(ios::left)<<setw(15)<<name[i]; </p><p>  outfile<<"現(xiàn)存數(shù)量:"<<number[i]<<"個"<<en

90、dl; </p><p><b>  } </b></p><p>  outfile<<endl<<endl<<endl<<endl<<endl; </p><p><b>  } </b></p><p>  void DailyG

91、oods::Save_file(ostream&Write_DailyGoods)//用于將DailyGoods商品信息單獨保存到文件中 </p><p><b>  { </b></p><p>  Write_DailyGoods<<count<<endl; </p><p>  for(int i=0

92、;i<count;i++) </p><p><b>  { </b></p><p>  Write_DailyGoods<<name[i]<<" "<<number[i]<<endl; </p><p><b>  } </b></

93、p><p><b>  }</b></p><p>  void Food::Input_file(ostream&outfile)//將Food類商品信息打印到文件中 </p><p><b>  { </b></p><p>  outfile<<endl<<&qu

94、ot;現(xiàn)有食品類商品庫存:"<<endl<<endl; </p><p>  for(int i=0;i<count;i++) </p><p><b>  { </b></p><p>  outfile<<"【"<<i+1<<"

95、】"<<"食品名稱:"<<setiosflags(ios::left)<<setw(15)<<name[i]; </p><p>  outfile<<"現(xiàn)存數(shù)量:"<<setw(4)<<number[i]<<setw(8)<<"千克"

96、;; </p><p>  outfile<<"保質期:"<<setw(3)<<SaveTime[i]<<"天"<<endl; </p><p><b>  } </b></p><p>  outfile<<endl<

97、<endl<<endl<<endl<<endl; </p><p><b>  }</b></p><p>  void Food::Save_file(ostream&Write_Food)//用于將Food商品信息保存到文件中</p><p><b>  { </b>

98、</p><p>  Write_Food<<count<<endl; </p><p>  for(int i=0;i<count;i++) </p><p><b>  { </b></p><p>  Write_Food<<name[i]<<"

99、; "<<number[i]<<" "<<SaveTime[i]<<endl; </p><p><b>  }</b></p><p><b>  }</b></p><p>  void ElectricalAppliance:: Inpu

100、t_file(ostream&outfile)//將ElectricalAppliance類商品信息打印到文件中 </p><p><b>  { </b></p><p>  outfile<<endl<<"現(xiàn)有家電類(ElectricalAppliance)商品庫存:"<<endl<<

101、endl; </p><p>  for(int i=0;i<count;i++) </p><p>  { outfile<<"【"<<i+1<<"】"<<"家電名稱:"<<setiosflags(ios::left)<<setw(15)&l

102、t;<name[i]; </p><p>  outfile<<"現(xiàn)存數(shù)量:"<<number[i]<<setw(6)<<"臺"; outfile<<"顏色:"<<color[i]<<endl; </p><p><b>

103、  } </b></p><p>  outfile<<endl<<endl<<endl<<endl<<endl; </p><p><b>  } </b></p><p>  void ElectricalAppliance::Save_file(ostream&am

104、p;Write_ElectricalAppliance)//用于將ElectricalAppliance商品信息保存到文件中 </p><p><b>  { </b></p><p>  Write_ElectricalAppliance<<count<<endl; </p><p>  for(int i=0;i&l

105、t;count;i++) </p><p><b>  {</b></p><p>  Write_ElectricalAppliance<<name[i]<<" "<<number[i]<<" "<<color[i]<<endl; </p>

106、<p><b>  } </b></p><p><b>  }</b></p><p>  //Display函數(shù)</p><p>  void SelectMenu()//實現(xiàn)商品操作的列表 </p><p><b>  { </b></p>&l

107、t;p>  cout<<endl<<"∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴ 超 市 商 品 管 理 系 統(tǒng)∵∴∵∴∵∴∵∴∵∴∵ "<<endl<<endl; </p><p>  cout<<"\t 可操作選項:"<<endl<<endl; </p><p>  

108、cout<<endl<<endl;</p><p>  cout<<"\t\t\t 1 增加商品"<<endl; </p><p>  cout<<"\t\t\t 2 出售商品"<<endl; </p><p>  cout<<&q

109、uot;\t\t\t 3 查詢商品"<<endl; </p><p>  cout<<"\t\t\t "<<endl<<endl; </p><p>  cout<<"\t您要進行的操作是:"; </p><p><b>  } <

110、/b></p><p>  void GoodList()//商品類別列表 </p><p><b>  { </b></p><p>  cout<<endl<<"∴∵∴∵∴∵∴∵∴∵∴∴∵∵∴ 超 市 商 品 管 理 系 統(tǒng)∵∴∵∴∵∴∵∴∵∴∵"<<endl<<e

111、ndl; </p><p>  cout<<"\t 我們提供的商品有:"<<endl; </p><p>  cout<<endl<<endl;</p><p>  cout<<"\t\t\t 1 日常用品類"<<endl; </p>

112、<p>  cout<<"\t\t\t 2 食品類"<<endl; </p><p>  cout<<"\t\t\t 3 家電類"<<endl; </p><p>  cout<<"\t\t "<<endl<<endl; <

113、;/p><p><b>  } </b></p><p><b>  3 詳細設計</b></p><p><b>  3.1系統(tǒng)總體設計</b></p><p><b>  3.2源程序代碼</b></p><p>  //Supe

114、rmarket.h</p><p>  #pragma once //保證頭文件只被編譯一次</p><p>  #include<iostream></p><p>  using namespace std;</p><p>  class Supermarket //要求(1)超市類,描述函數(shù)Add,Sale,Se

115、arch</p><p><b>  {</b></p><p><b>  public:</b></p><p>  int Add(); //增加商品函數(shù),可以增加新商品,也可以增加已有商品</p><p>  int Sale(); //按照商品名稱賣出商品函數(shù)(如果商品現(xiàn)有數(shù)量小

116、于賣出數(shù)量,則不能繼續(xù)賣出,并給出提示信息)</p><p>  int Search(); //按照商品類別查詢商品情況的函數(shù),查詢結果:每類商品中有哪些商品,每種花商品的名稱和現(xiàn)有數(shù)量</p><p>  int Good_num;</p><p><b>  };</b></p><p>  //Supermark

117、et.cpp</p><p>  #pragma once </p><p>  #include"Goods.h"</p><p>  #include"Supermarket.h"</p><p>  #include"Display.h"</p><p>

118、;  using namespace std;</p><p><b>  //增加商品的函數(shù)</b></p><p>  int Supermarket::Add()</p><p><b>  {</b></p><p>  int Good_num;</p><p> 

119、 system("cls");</p><p>  GoodList(); //調用GoodList()函數(shù)語言</p><p>  cout<<"\t\t您要增加什么類型的商品?";</p><p>  cin>>Good_num;</p><p>  return G

120、ood_num;</p><p><b>  }</b></p><p>  //按照商品名稱賣出商品的函數(shù)</p><p>  int Supermarket::Sale()</p><p><b>  {</b></p><p>  int Good_num;</p

121、><p>  system("cls");</p><p>  GoodList(); //調用GoodList()函數(shù)語言</p><p>  cout<<"\t\t您要出售什么類型的商品?";</p><p>  cin>>Good_num;</p><p

122、>  return Good_num;</p><p><b>  }</b></p><p>  //按照商品類別查詢商品情況的函數(shù)</p><p>  int Supermarket::Search()</p><p><b>  {</b></p><p>  i

123、nt Good_num;</p><p>  system("cls");</p><p>  GoodList(); //調用GoodList()函數(shù)語言</p><p>  cout<<"\t\t您想要查詢什么類型的商品?";</p><p>  cin>>Good_nu

124、m;</p><p>  return Good_num; </p><p><b>  }</b></p><p><b>  //Goods.h</b></p><p>  #pragma once </p><p>  #include<iostream>&

125、lt;/p><p>  #include<string></p><p>  #include<fstream></p><p>  using namespace std;</p><p>  //商品類Goods</p><p>  class Goods</p><p>

126、;<b>  {</b></p><p><b>  public:</b></p><p>  virtual void AddGoods()=0; //增加商品</p><p>  virtual void SaleGoods()=0; //出售商品</p><p>  virtual

127、 void ShowMe()=0; //顯示商品名稱、現(xiàn)有數(shù)量、和食品類的保質期、以及家電的顏色</p><p>  void Sale(); //統(tǒng)一定義商品出售函數(shù)功能模塊</p><p>  protected:</p><p>  string name[100]; //記錄商品名稱</p><

128、;p>  int number[100]; //記錄商品數(shù)量</p><p>  int count; //記錄各類商品的各自的商品種數(shù)</p><p><b>  };</b></p><p>  //派生類:日常用品類DailyGoods</p><p>  class DailyGoods

129、:public Goods</p><p><b>  {</b></p><p><b>  public:</b></p><p>  DailyGoods(); //無參構造函數(shù)</p><p>  void AddGoods(); //增加商品</p><p>

130、  void SaleGoods();//出售商品</p><p>  friend istream operator >>(istream &in,DailyGoods &d);</p><p>  //對DailyGoods類重載運算符>>,用于文件中讀取日常用品類的信息</p><p>  void ShowMe();

131、 //顯示商品屬性</p><p>  void Input_file(ostream&outfile); //用于將商品信息輸出到文件中</p><p>  void Save_file(ostream&Write_DailyGoods); //用于將商品信息單獨保存到文件中</p><p><b>  };</b><

132、;/p><p>  //派生類:食品類Food</p><p>  class Food:public Goods</p><p><b>  {</b></p><p><b>  public:</b></p><p>  Food(); //無參構造函數(shù)&

133、lt;/p><p>  void AddGoods(); //增加商品</p><p>  void SaleGoods();//出售商品</p><p>  //friend istream operator >>(istream &in,Food &f);</p><p>  //對Food類重載運算符>&g

134、t;,用于文件中讀取日常用品類的信息</p><p>  void ShowMe(); //顯示商品屬性</p><p>  void Input_file(ostream&outfile); //用于將商品信息輸出到文件中</p><p>  void Save_file(ostream&Write_Food); //用于將商品信息單獨保存到

135、文件中</p><p><b>  private:</b></p><p>  int SaveTime[100]; //保質期</p><p><b>  };</b></p><p>  //派生類:家電類ElectricalAppliance</p><p>  

136、class ElectricalAppliance:public Goods</p><p><b>  {</b></p><p><b>  public:</b></p><p>  ElectricalAppliance();//無參構造函數(shù)</p><p>  void AddGoods(

137、); //增加商品</p><p>  void SaleGoods(); //出售商品</p><p>  //friend istream operator >>(istream &in,ElectricalAppliance &e);</p><p>  //對ElectricalAppliance類重載運算符&g

138、t;>,用于文件中讀取日常用品類的信息</p><p>  void ShowMe(); //顯示商品屬性</p><p>  void Input_file(ostream&outfile); //用于將商品信息輸出到文件中</p><p>  void Save_file(ostream&Write_ElectricalApplianc

139、e); //用于將商品信息單獨保存到文件中</p><p><b>  private:</b></p><p>  string color[100]; //顏色屬性</p><p><b>  };</b></p><p>  //Goods.cpp</p><p>

140、;  #pragma once </p><p>  #include"Goods.h" </p><p>  #include"Supermarket.h" </p><p>  #include"Display.h" </p><p>  #include<fstream

141、> </p><p>  #include<iomanip> </p><p>  using namespace std; </p><p>  void Goods::Sale()//統(tǒng)一定義商品出售函數(shù)功能模塊 </p><p><b>  { </b></p><p>

142、;  int flag=0; </p><p>  string goods_name; </p><p>  int goods_number; </p><p>  cout<<"商品名稱:"; cin>>goods_name;</p><p>  cout<<"出

143、售數(shù)量:"; cin>>goods_number; </p><p>  for(int i=0;i<count;i++) //count 在Goods.h中定義的保護成員</p><p><b>  { </b></p><p>  if(name[i]==goods_name) </p>

144、<p><b>  { </b></p><p>  if(number[i]<goods_number) </p><p><b>  { </b></p><p>  flag=1; </p><p>  cout<<endl<<"

145、\t\t∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞"<<endl; </p><p>  cout<<"\t\t\t !!! 貨存不足!!!"<<endl; </p><p><b>  } </b></p><p><b>  else <

146、/b></p><p><b>  { </b></p><p>  flag=1; </p><p>  number[i]-=goods_number; </p><p>  cout<<endl<<"\t\t∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞"<&

147、lt;endl; </p><p>  cout<<"\t\t\t !!!出售成功!!!"<<endl; </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  }

148、</b></p><p>  if(flag==0) </p><p><b>  { </b></p><p>  getchar();</p><p>  cout<<endl<<"\t\t∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞"<<endl;

149、</p><p>  cout<<"\t\t\t 沒有該物品! "<<endl; </p><p><b>  } </b></p><p><b>  } </b></p><p>  //日常用品類函數(shù)定義</p&

150、gt;<p>  DailyGoods::DailyGoods()//類外定義構造函數(shù),初始化貨存日常用品信息 </p><p><b>  { </b></p><p>  count=4; </p><p>  name[0]="臺燈";number[0]=76; </p><p&

151、gt;  name[1]="毛巾";number[1]=68; </p><p>  name[2]="杯子";number[2]=53; </p><p>  name[3]="水壺";number[3]=48; </p><p><b>  } </b></p>

152、<p>  void DailyGoods::AddGoods()//增加日常用品 </p><p><b>  { </b></p><p>  system("cls"); </p><p>  int flag=1; </p><p>  ShowMe(); </p>

153、;<p>  cout<<endl<<"\t\t>>>>>>>>請輸入要增加日常用品的信息<<<<<<<<<"<<endl<<endl; </p><p>  cout<<"商品名稱:"; cin&

154、gt;>name[count]; </p><p>  cout<<"商品數(shù)量:"; cin>>number[count]; </p><p>  for(int i=0;i<count;i++) </p><p><b>  { </b></p><p>

155、  if(name[i]==name[count])//判斷該物品是否已經(jīng)存在 </p><p><b>  { </b></p><p>  number[i]+=number[count]; </p><p>  flag=0; </p><p><b>  } </b>&

156、lt;/p><p><b>  } </b></p><p><b>  if(flag) </b></p><p>  count++;//用于新增物品</p><p>  cout<<endl<<endl<<"\t\t∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論