超市購物管理系統(tǒng)課程設計_第1頁
已閱讀1頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目 錄</b></p><p>  第一章 設計的目的及要求1</p><p>  第二章 課程設計任務內容2</p><p>  2.1課程設計題目2</p><p>  2.2課程設計任務內容2</p><p>  第三章 詳細設計說明3</p&g

2、t;<p><b>  3.1模塊3</b></p><p>  3.1.1系統(tǒng)模塊圖3</p><p>  3.1.2模塊描述4</p><p>  3.2結構體建立的語句4</p><p>  3.3主要函數(shù)定義5</p><p>  3.4編碼與調試16</p

3、><p>  3.5使用說明17</p><p>  3.5運行界面19</p><p>  第四章 課程設計心得與體會21</p><p>  附錄一 參考文獻22</p><p>  附錄二 程序代碼23</p><p>  第一章 設計的目的及要求</p><p&

4、gt;  課程設計的主要目的是鍛煉學生綜合運用所學的C語言程序設計知識的能力,獨自利用C語言知識編寫承訓解決實際問題的能力,培養(yǎng)同學嚴謹?shù)墓ぷ鲬B(tài)度和良好的程序設計習慣,讓同學們認識到必須重視實踐環(huán)節(jié),多讀程序,多編寫程序,多上機實踐。進一步培養(yǎng)結構化程序設計的思想,加深對高級語言要素和控制結構的理解。通過課程設計的訓練,學生能夠了解程序設計的基本開發(fā)過程,掌握編寫、調試和測試C語言程序的基本過程,掌握程序設計的技巧的大體流程。</

5、p><p>  本次程序設計主要側重于知識的運用,把平時學到的運用到實踐中去,對我們所學的理論知識進一步深化。其次程序設計也是要求學生遵循軟件開發(fā)過程的基本規(guī)范,按要求獨立自主完成課程設計任務。 </p><p><b>  本課程設計的目標:</b></p><p>  鍛煉學生綜合運用所學的C語言程序設計知識的能力</p><

6、;p>  掌握分析、設計、編寫、調試和測試C語言程序及編寫設計報告的能力。</p><p>  了解程序設計的基本開發(fā)過程,掌握利用C語言進行軟件設計的方法。</p><p>  提高書寫程序設計說明文檔的能力。</p><p>  培養(yǎng)運用C語言解決實際問題的能力。</p><p><b>  基本要求:</b>

7、</p><p>  分析超市購物管理系統(tǒng)的要求;</p><p>  對程序函數(shù)功能模塊進行分析,寫出詳細設計說明文檔;</p><p>  編寫程序代碼,代碼量要求不少于300行。調試程序使其能正確運行;</p><p>  設計完成的軟件要便于操作和使用;</p><p>  設計完成后提交課程設計報告。<

8、/p><p>  第二章 課程設計任務內容</p><p><b>  2.1課程設計題目</b></p><p><b>  超市購物管理系統(tǒng)</b></p><p>  2.2課程設計任務內容</p><p>  用C語言制作一個超市購物系統(tǒng),為顧客提供一個查詢商品,快捷購物

9、的平臺。該系統(tǒng)主要有以下功能:</p><p>  購物包括會員購物和普通顧客購物;</p><p>  系統(tǒng)需存儲會員的一般信息:卡號,姓名,密碼,卡上余額,已消費總額等信息,會員購物享受九折優(yōu)惠;</p><p>  非會員顧客消費滿200元即可免費成為會員,如果需要可獲會員卡一張,即可享受會員服務;</p><p>  對于商品查詢,系

10、統(tǒng)存儲商品的一些基本信息:商品代碼,商品名,存放位置,剩余量,單價等,輸入商品名即可調出商品的所有信息。</p><p>  第三章 詳細設計說明</p><p><b>  3.1模塊</b></p><p>  3.1.1系統(tǒng)模塊圖</p><p>  圖3-1函數(shù)功能模塊圖</p><p>

11、<b>  3.1.2模塊描述</b></p><p><b>  主函數(shù)</b></p><p>  主函數(shù)為無返回值空類型函數(shù),主要功能是實現(xiàn)執(zhí)行購物和查詢功能。</p><p><b>  購物主函數(shù)</b></p><p>  此函數(shù)為無返回值空類型函數(shù),主要功能是為顧

12、客構造一個購物平臺。</p><p><b>  會員購物函數(shù)</b></p><p>  此函數(shù)為無返回值的空類型函數(shù),實現(xiàn)會員購物的優(yōu)惠服務。</p><p><b>  一般顧客購物函數(shù)</b></p><p>  此函數(shù)為無返回值的空類型函數(shù),為一般顧客提供購物環(huán)境,滿足條件享受其他待遇等。

13、</p><p><b>  免費注冊會員函數(shù)</b></p><p>  此函數(shù)為無返回值的空類型函數(shù),為消費滿足條件的一般顧客提供免費注冊會員的平臺,通過輸入Y/N選擇相應操作。</p><p><b>  查詢商品函數(shù)</b></p><p>  此函數(shù)為有返回值的函數(shù),為顧客提供查詢商品信息

14、的平臺。</p><p>  3.2結構體建立的語句</p><p><b>  會員系統(tǒng)信息</b></p><p>  struct VIP/*會員信息*/</p><p><b>  { </b></p><p>  int num;/*卡號*/</p>

15、<p>  int code;/*密碼*/</p><p>  char name[20];/*姓名*/</p><p>  float balance;/*卡上余額*/</p><p>  float consume;/*以消費總額*/</p><p><b>  };</b></p><

16、;p>  struct VIP mem[]={{1001,1001,"Feng Wen Hui",1000.00,0.00},{1002,1002,"Zhou Cheng Hui",1000.00,0.00},{1003,1003,"Xu Hong Yuan",1000.00,0.00},{1004,1004,"Xie Yu Lin",1000.00,

17、0.00},{1005,1005,"Zhang Fu Qiang",1000.00,0.00},{1006,1006,"He Han Lin",1000.00,0.00},{1007,1007,"Zhang Fan",1000.00,0.00},{1008,1008,"Li Ji Yan",1000.00,0.00},{1009,1009,"Zha

18、o Liang Wei",1000.00,0.00},{1010,1010,"Qi Jun",1000.00,0.00}};</p><p><b>  商品系統(tǒng)信息</b></p><p>  struct Goods/*商品信息*/</p><p><b>  {</b></p>

19、;<p>  int num;/*商品代碼*/</p><p>  char name[50];/*商品名*/</p><p>  int sale;/*數(shù)量*/</p><p>  float price;/*單價*/</p><p>  int location;/*位置*/</p><p><

20、b>  };</b></p><p>  struct Goods ware[]={{101,"HuiYuanGuoZhi",34,3.50,10103},{102,"KeBiKe",34,4.50,10203},{103,"KangShiFuTea",34,2.50,20103},{104,"DiaoPaiwashing-p

21、owder",34,3.50,10113},{105,"LuoJImouse",34,110.50,20203},{106,"YUJIeshampoo",34,13.50,10703},{107,"Zhonghuajianchibaitoothpaste",34,3.50,10503},{108,"TheromsBottle",34,13.50,1

22、0123},{109,"YingYangKuaiXian",314,3.50,10108},{110,"Farewellquickservednoodle",134,1.50,30106}};</p><p><b>  3.3主要函數(shù)定義</b></p><p><b>  主函數(shù)部分程序代碼</b>&l

23、t;/p><p>  scanf("\n%c",&k);</p><p><b>  switch(k)</b></p><p>  {case 'p':</p><p>  printf("請輸入您所選商品的序號和數(shù)目,并以“,”隔開。請輸入“-1,-1”結束\n&qu

24、ot;);</p><p>  purchase();break;</p><p><b>  case 's':</b></p><p>  printf("請輸入所要查詢商品的名稱\n");</p><p>  search();break;</p><p>

25、;  case 'e': exit(0);</p><p><b>  default:</b></p><p>  printf("輸入信息錯誤!\n請輸入字母p或s或e.\n");break;}</p><p><b>  函數(shù)流程圖</b></p><p>

26、  圖3-2 主函數(shù)流程圖</p><p><b>  購物主函數(shù)</b></p><p>  void purchase()/*購物主函數(shù)*/</p><p><b>  {</b></p><p>  int num;/*商品代碼*/</p><p>  int n;/*

27、所購數(shù)目*/</p><p><b>  int i=0;</b></p><p><b>  char l;</b></p><p><b>  price1=0;</b></p><p>  scanf("%ld,%d",&num,&x)

28、;/*輸入商品代碼和所購數(shù)量*/</p><p>  while(i>=0&&i<=9)</p><p><b>  {</b></p><p>  if(num==ware[i].num)/*找到這種商品*/</p><p>  printf("商品名:%s\n,單價:%4.2f\

29、n,所購數(shù)目:%d\n",ware[i].name,ware[i].price,x);</p><p>  totalprice=ware[i].price*x;/*計算單種商品的總價*/</p><p>  ware[i].sale=ware[i].sale-x;</p><p>  printf("總價:%4.2f\n",total

30、price);</p><p>  price1=price1+totalprice;</p><p>  totalprice=0.00;</p><p>  scanf("%ld,%d",&num,&x);</p><p><b>  n++;</b></p><

31、;p><b>  i++;</b></p><p>  if(num==-1 && x==-1)</p><p><b>  break;</b></p><p><b>  }</b></p><p>  printf("合計:%4.2f\n&

32、quot;,price1);</p><p>  printf("請輸入您要進行的購物模式:\n");</p><p>  printf(" v : 刷卡服務\n o : 現(xiàn)金交易\n");</p><p>  scanf("%s",&l);/*輸入字母,選擇購物方式*/</p>

33、<p><b>  switch(l)</b></p><p><b>  {</b></p><p>  case'v':printf("會員購物,享受9折優(yōu)惠\n");VIPSH();break;</p><p>  case'o':OSH();break;

34、</p><p>  default:printf("輸入信息錯誤!\n請輸入字母v或o并注意大小寫。\n");wrong();break;/*和下面的wrong函數(shù)構成循環(huán)調用*/</p><p><b>  }</b></p><p>  void wrong()/*和上面的switch(l)構成循環(huán)調用*/</p

35、><p><b>  {</b></p><p><b>  char l;</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  scanf("%s&quo

36、t;,&l);</p><p><b>  switch(l)</b></p><p><b>  {</b></p><p>  case'v':printf("會員購物,享受9折優(yōu)惠\n");VIPSH();break;</p><p>  case&

37、#39;o':OSH();break;</p><p>  default:printf("輸入信息錯誤!\n請輸入字母v或p并注意大小寫。\n");break;</p><p><b>  }</b></p><p><b>  }</b></p><p><b&

38、gt;  }</b></p><p><b>  函數(shù)流程圖</b></p><p>  圖3-3 購物主函數(shù)流程圖</p><p><b>  會員購物函數(shù)</b></p><p>  void VIPSH()/*會員購物函數(shù)*/</p><p><b&g

39、t;  {</b></p><p>  int num;/*卡號*/</p><p><b>  int i=0;</b></p><p><b>  int code;</b></p><p>  printf("請輸入您的卡號:\n");</p>&

40、lt;p>  scanf("%ld",&num);</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  if(num<=100||num>topnum)/*卡號合法性*/</p><p>&l

41、t;b>  {</b></p><p>  printf("此卡不存在,請核對后再次輸入!\n");</p><p>  scanf("%ld",&num);</p><p><b>  }</b></p><p>  else break;</p&

42、gt;<p><b>  }</b></p><p>  while(i>=0&&i<=9)</p><p><b>  {</b></p><p>  if(mem[i].num==num)/*查找會員*/</p><p><b>  {<

43、/b></p><p>  printf("請輸入密碼:\n");</p><p>  scanf("%d",&code);/*鍵入密碼*/</p><p><b>  while(1)</b></p><p><b>  {</b></p

44、><p>  if(code==mem[i].code)/*密碼正確*/</p><p><b>  {</b></p><p>  money=(float)(price1*0.9);/*會員價,9折*/</p><p>  printf("姓名:%s\n,已消費總額:%4.2f\n,卡上余額:%4.2f\n應收

45、:%4.2f\n",mem[i].name,mem[i].consume,mem[i].balance,money);</p><p>  if(money>mem[i].balance)</p><p>  printf("卡上余額不足,請及時充值\n\n\n");</p><p><b>  else {</b

46、></p><p>  mem[i].balance=mem[i].balance-money;/*購物成功后,卡上余額修改*/</p><p>  mem[i].consume=mem[i].consume+money;/*購物成功后,會員歷史購物總額修改*/</p><p>  printf("刷卡成功,謝謝惠顧\n\n\n");bre

47、ak;/*修改會員的已消費額,卡上余額信息*/</p><p><b>  }break;</b></p><p><b>  }</b></p><p><b>  else {</b></p><p>  printf("密碼錯誤\n請重新輸入密碼\n\n&quo

48、t;);</p><p>  scanf("%d",&code);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  

49、i++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  函數(shù)流程圖</b></p><p>  圖3-4 會員購物函數(shù)流程圖</p><p><b>  一般顧客

50、購物函數(shù)</b></p><p>  void OSH()/*一般顧客購物函數(shù)*/</p><p><b>  {</b></p><p>  if(price1>=200)/*購物金額滿200,調用提示是否注冊會員函數(shù)register1()*/</p><p>  register1();</p

51、><p>  else printf("謝謝惠顧,歡迎下次再來。\n");</p><p><b>  }</b></p><p>  void register1()/*提示是否注冊會員函數(shù)*/</p><p><b>  {char w;</b></p><p

52、>  printf("您的消費已滿200元,可以免費注冊會員,是否現(xiàn)在注冊?\n");</p><p>  printf(" Y 現(xiàn)在注冊,馬上享受會員全場9折優(yōu)惠。\n N 暫不注冊。\n");</p><p>  scanf("%s",&w);</p><p><b>  sw

53、itch(w)</b></p><p>  {case 'Y':ban();break;/*調用注冊會員函數(shù)*/</p><p>  case 'N':printf("謝謝惠顧,歡迎下次再來。\n");;break;}</p><p><b>  }</b></p>

54、<p>  ban()/*注冊會員函數(shù)*/</p><p><b>  {int i=0;</b></p><p>  char vipname[16];</p><p>  printf("請輸入您的姓名\n");</p><p>  scanf("%s",vipnam

55、e);</p><p>  while(mem[i].num!=0)</p><p>  {mem[i+1].num=mem[i].num+1;/*增建會員庫*/</p><p>  strcpy(mem[i+1].name,vipname);/*輸入姓名*/</p><p><b>  while(1)</b><

56、/p><p>  {int code,recode;</p><p>  printf("請輸入密碼\n");/*創(chuàng)建密碼*/</p><p>  scanf("%d",&code);</p><p>  printf("請再輸入密碼\n");</p><p&

57、gt;  scanf("%d",&recode);</p><p>  if(code==recode)</p><p>  {mem[i+1].code=recode;</p><p>  topnum=topnum+1;</p><p>  printf("注冊成功!您已成為會員,即刻起可享受全場9折

58、優(yōu)惠\n");</p><p><b>  return 1;</b></p><p><b>  }</b></p><p><b>  else </b></p><p><b>  {</b></p><p>  p

59、rintf("兩次輸入密碼不同,請重新輸入\n");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  i++;</b></p><p>  printf("謝謝惠顧,歡迎下次再來。\n&q

60、uot;);</p><p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  函數(shù)流程圖</b></p><p>  圖3-5 一般

61、顧客購物流程圖</p><p><b>  查詢商品函數(shù)</b></p><p><b>  search()</b></p><p><b>  {int i=0;</b></p><p>  char str[100];</p><p>  scan

62、f("%s",str);</p><p>  while(i>=0&&i<=9)</p><p>  {if(strcmp(ware[i].name,str)==0)</p><p><b>  {</b></p><p>  printf("商品名:%s\n,單

63、價:%4.2f\n,位置:%d\n,剩余量:%d\n\n\n", ware[i].name, ware[i].price, ware[i].location, ware[i].sale);return 0;</p><p><b>  }</b></p><p><b>  i++;</b></p><p>&l

64、t;b>  }</b></p><p>  printf("對不起,我們超市暫無此商品!\n\n\n");</p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  函數(shù)流程圖</

65、b></p><p>  圖3-7 商品查詢流程圖</p><p><b>  3.4編碼與調試</b></p><p>  根據(jù)主要的流程圖,函數(shù)功能,進行錄入源代碼操作。在編碼時,注意代碼的書寫規(guī)范,包括命名慣例、注釋、分隔和縮進等,使程序層次清晰,增強可讀性和維護性。編碼操作完成后,先靜態(tài)檢查一下有沒有語法錯誤,然后進行編譯,更深一

66、步檢查語法錯誤。待編譯通過時運行程序,觀察是否能夠正常運行,若有問題,再去修改源程序,直到達到預期的效果。</p><p><b>  3.5使用說明</b></p><p>  顧客進入購物系統(tǒng)主界面,通過輸入相應字符選擇服務項目p:購物;s:查詢;e:退出。(如圖)</p><p>  圖3-8 進入主界面</p><p

67、>  顧客進入購物環(huán)境后,通過輸入商品名和所夠數(shù)目得到總價,輸入(-1,-1)結束。如果是會員,輸入卡號和密碼,享受9折優(yōu)惠?。ㄈ鐖D)</p><p>  圖3-9 會員購物界面</p><p>  普通顧客若小費滿200元可免費注冊,通過鍵入Y/N選擇是否注冊。(如圖)</p><p>  圖3-10 普通顧客購物和注冊</p><p&g

68、t;  顧客進入商品查詢環(huán)境后,通過鍵入商品名可以了解商品的基本信息,商品名,商品代碼,單價,剩余數(shù)量,位置。(如圖)</p><p>  圖3-11 商品查詢</p><p><b>  3.5運行界面 </b></p><p><b>  會員購物截圖如下:</b></p><p>  圖3-1

69、2 會員某次購物和查詢截圖</p><p>  一般顧客購物截圖如下:</p><p>  圖3-13 一般顧客某次購物和注冊截圖</p><p>  第四章 課程設計心得與體會</p><p>  通過這三周的課程設計,我通過運用自己過去所學的C語言只是,獨立自主完成了一個較大的C語言程序設計,以及按照要求,認真完成了課程設計的報告。<

70、;/p><p>  回憶著三周的自己動手編寫,調試,修改,我的收獲,很大對C語言有了更進一步的認識和了解。首先,通過這次課程設計,我熟練的掌握并運用了所學的知識進行了編程,而且取得了較大的成功,這大大激發(fā)了我對編程的興趣;其次,在涉及的過程中所遇到的困難,我都認真的去思考,和同學以及老師交流,或者利用網(wǎng)上資源來獲取幫助,了解解決辦法。通過各種渠道,完善所學到的東西。最后,我了解到了軟件開發(fā)的答題過程和各個必要的步驟,

71、這對我將來的學習和應用都是很有幫助的。也讓我了解到,要想學好C,重在實踐,要通過不斷的上機操作才能更好地學習它,通過實踐,我也發(fā)現(xiàn)我的好多不足之處,首先是自己在指法上還不行,經(jīng)常按錯字母,通過學習也有所改進;再有對C語言的一些標準庫函數(shù)不太了解,還有對函數(shù)調用的正確使用不夠熟悉,還有對C語言中經(jīng)常出現(xiàn)的錯誤也不了解,通過實踐,使我在這幾個方面的認識有所提高。</p><p>  通過實踐的學習,我認到學好計算機要

72、重視實踐操作,不僅僅是學習C語言,還是其它的語言,以及其它的計算機方面的知識都要重在實踐,所以后在學習過程中,我會更加注視實踐操作,使自己便好地學好計算機。 </p><p>  對于計算機專業(yè)的大學生來說,積累實戰(zhàn)經(jīng)驗是一項極其重要的內容,很可能成為將來就業(yè)的敲門磚。而程序設計綜合課程設計就是積累實戰(zhàn)經(jīng)驗的一個過程,雖然程序的規(guī)模不是很大,但是能夠讓我們盡早的認識軟件開發(fā)的重要性和必要性,為將來的就業(yè)打下堅實的

73、基礎。</p><p><b>  附錄一 參考文獻</b></p><p>  [1].譚浩強:《C程序設計》,清華大學出版社,2005年7月第三版</p><p>  [2].譚浩強:《C++程序設計》,清華大學出版社,2004年6月第一版</p><p>  [3].高林 周海燕:《數(shù)據(jù)庫技術》,人民郵電出版社,2

74、004年1月第一版</p><p>  [4].(美)戴特爾(Deitel,H.M.)等編著,張引等譯:《C++大學基礎教程(第五版)》,北京:電子工業(yè)出版社,2006年6月</p><p>  [5].夏云慶:《Visual C++ 6.0數(shù)據(jù)庫高級編程》,北京希望電子出版社 2002年</p><p><b>  附錄二 程序代碼</b>&

75、lt;/p><p>  #include<stdio.h></p><p>  #include<process.h></p><p>  #include<string.h></p><p>  float price,money;</p><p>  int topnum=1010;

76、</p><p><b>  int x;</b></p><p>  float price1=0.00;</p><p>  float totalprice;/*單種商品總價*/</p><p>  struct VIP/*會員信息*/</p><p>  {int num;/*卡號*/&l

77、t;/p><p>  int code;/*密碼*/</p><p>  char name[20];/*姓名*/</p><p>  float balance;/*卡上余額*/</p><p>  float consume;/*以消費總額*/</p><p><b>  };</b></p

78、><p>  struct VIP mem[]={{1001,1001,"Feng Wen Hui",1000.00,0.00},{1002,1002,"Zhou Cheng Hui",1000.00,0.00},{1003,1003,"Xu Hong Yuan",1000.00,0.00},{1004,1004,"Xie Yu Lin"

79、,1000.00,0.00},{1005,1005,"Zhang Fu Qiang",1000.00,0.00},{1006,1006,"He Han Lin",1000.00,0.00},{1007,1007,"Zhang Fan",1000.00,0.00},{1008,1008,"Li Ji Yan",1000.00,0.00},{1009,1009,

80、"Zhao Liang Wei",1000.00,0.00},{1010,1010,"Qi Jun",1000.00,0.00}};</p><p>  struct Goods/*商品信息*/</p><p>  {int num;/*商品代碼*/</p><p>  char name[50];/*商品名*/</p&

81、gt;<p>  int sale;/*數(shù)量*/</p><p>  float price;/*單價*/</p><p>  int location;/*位置*/</p><p><b>  };</b></p><p>  struct Goods ware[]={{101,"HuiYuan

82、GuoZhi",34,3.50,10103},{102,"KeBiKe",34,4.50,10203},{103,"KangShiFuTea",34,2.50,20103},{104,"DiaoPaiwashing-powder",34,3.50,10113},{105,"LuoJImouse",34,110.50,20203},{106,&quo

83、t;YUJIeshampoo",34,13.50,10703},{107,"Zhonghuajianchibaitoothpaste",34,3.50,10503},{108,"TheromsBottle",34,13.50,10123},{109,"YingYangKuaiXian",314,3.50,10108},{110,"Farewellquicks

84、ervednoodle",134,1.50,30106}};</p><p>  float totalmoney;</p><p>  void purchase();/*購物函數(shù)*/</p><p>  search();/*查找函數(shù)*/</p><p>  void VIPSH();/*會員購物*/</p>&l

85、t;p>  void OSH(); /*普通購物*/</p><p>  void wrong();</p><p>  void register1();</p><p><b>  ban();</b></p><p>  void main()/*主函數(shù)*/</p><p><b

86、>  {char k;</b></p><p>  printf("**************************國際大超市,歡迎您的光臨************************\n\n\n");</p><p><b>  while(1)</b></p><p><b>  {&

87、lt;/b></p><p>  printf(" *************************請選擇您所需要的服務*********************** \n\n p:購物\n s:查詢\n

88、 e:退出\n");</p><p>  scanf("\n%c",&k);</p><p><b>  switch(k)</b></p><p><b>  {</b></p><p><b>  case '

89、;p':</b></p><p>  printf("請輸入您所選商品的序號和數(shù)目,并以“,”隔開。請輸入“-1,-1”結束\n");</p><p>  purchase();</p><p><b>  break;</b></p><p><b>  case &#

90、39;s':</b></p><p>  printf("請輸入所要查詢商品的名稱\n");</p><p><b>  search();</b></p><p><b>  break;</b></p><p><b>  case 'e

91、':</b></p><p><b>  exit(0);</b></p><p><b>  default:</b></p><p>  printf("輸入信息錯誤!\n請輸入字母p或s或e.\n");break;</p><p><b>  

92、}</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void purchase()</p><p><b>  {int num;</b></p><p><b>  in

93、t n;</b></p><p><b>  int i=0;</b></p><p><b>  char l;</b></p><p><b>  price1=0;</b></p><p>  scanf("%ld,%d",&num

94、,&x);/*輸入商品代碼和所購數(shù)量*/</p><p>  while(i>=0&&i<=9)</p><p><b>  {</b></p><p>  if(num==ware[i].num)/*找到這種商品*/</p><p>  printf("商品名:%s\n,單

95、價:%4.2f\n,所購數(shù)目:%d\n",ware[i].name,ware[i].price,x);</p><p>  totalprice=ware[i].price*x;/*計算單種商品的總價*/</p><p>  ware[i].sale=ware[i].sale-x;</p><p>  printf("總價:%4.2f\n&quo

96、t;,totalprice);</p><p>  price1=price1+totalprice;</p><p>  totalprice=0.00;</p><p>  scanf("%ld,%d",&num,&x);</p><p><b>  n++;</b></p&

97、gt;<p><b>  i++;</b></p><p>  if(num==-1 && x==-1)</p><p><b>  break;</b></p><p><b>  }</b></p><p>  printf("合計:

98、%4.2f\n",price1);</p><p>  printf("請輸入您要進行的購物模式:\n");</p><p>  printf(" v : 刷卡服務\n o : 現(xiàn)金交易\n");</p><p>  scanf("%s",&l);</p><p&g

99、t;<b>  switch(l)</b></p><p><b>  {</b></p><p>  case'v':printf("會員購物,享受9折優(yōu)惠\n");VIPSH();break;</p><p>  case'o':OSH();break;</p&

100、gt;<p>  default:printf("輸入信息錯誤!\n請輸入字母v或o并注意大小寫。\n");wrong();break;/*和下面的wrong函數(shù)構成循環(huán)調用*/</p><p><b>  }</b></p><p><b>  }</b></p><p>  void

101、wrong()</p><p><b>  {char l;</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  scanf("%s",&l);</p><p&

102、gt;<b>  switch(l)</b></p><p><b>  {</b></p><p>  case'v':printf("會員購物,享受9折優(yōu)惠\n");VIPSH();break;</p><p>  case'o':OSH();break;</p

103、><p>  default:printf("輸入信息錯誤!\n請輸入字母v或p并注意大小寫。\n");break;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p>&

104、lt;p>  void VIPSH()/*會員購物函數(shù)*/</p><p><b>  {</b></p><p><b>  int num;</b></p><p><b>  int i=0;</b></p><p><b>  int code;<

105、/b></p><p>  printf("請輸入您的卡號:\n");</p><p>  scanf("%ld",&num);</p><p><b>  while(1)</b></p><p><b>  {</b></p>

106、<p>  if(num<=100||num>topnum)</p><p><b>  {</b></p><p>  printf("此卡不存在,請核對后再次輸入!\n");</p><p>  scanf("%ld",&num);</p><p>

107、;<b>  }</b></p><p>  else break;</p><p><b>  }</b></p><p>  while(i>=0&&i<=9)</p><p><b>  {</b></p><p>  

108、if(mem[i].num==num)/*查找會員*/</p><p><b>  {</b></p><p>  printf("請輸入密碼:\n");</p><p>  scanf("%d",&code);</p><p><b>  while(1)<

109、;/b></p><p><b>  {</b></p><p>  if(code==mem[i].code)/*密碼正確*/</p><p><b>  {</b></p><p>  money=(float)(price1*0.9);/*會員價,9折*/</p><

110、p>  printf("姓名:%s\n,已消費總額:%4.2f\n,卡上余額:%4.2f\n應收:%4.2f\n",mem[i].name,mem[i].consume,mem[i].balance,money);</p><p>  if(money>mem[i].balance)</p><p>  printf("卡上余額不足,請及時充值\n

111、\n\n");</p><p><b>  else {</b></p><p>  mem[i].balance=mem[i].balance-money;</p><p>  mem[i].consume=money;</p><p>  printf("刷卡成功,謝謝惠顧\n\n\n"

112、);break;/*修改會員的已消費額,卡上余額信息*/</p><p><b>  }break;</b></p><p><b>  }</b></p><p><b>  else {</b></p><p>  printf("密碼錯誤\n請重新輸入密碼\n\

113、n");</p><p>  scanf("%d",&code);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b&

114、gt;  i++;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void OSH()</p><p><b>  {</b></p><p>  if(price1>=20

115、0)</p><p>  register1();</p><p>  else printf("謝謝惠顧,歡迎下次再來。\n");</p><p><b>  }</b></p><p>  void register1()</p><p><b>  {</

116、b></p><p><b>  char w;</b></p><p>  printf("您的消費已滿200元,可以免費注冊會員,是否現(xiàn)在注冊?\n");</p><p>  printf(" Y 現(xiàn)在注冊,馬上享受會員全場9折優(yōu)惠。\n N 暫不注冊。\n");</p><

117、;p>  scanf("%s",&w);</p><p><b>  switch(w)</b></p><p>  {case 'Y':ban();break;</p><p>  case 'N':printf("謝謝惠顧,歡迎下次再來。\n");;bre

118、ak;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  ban()</b></p><p><b>  {</b></p><p><b>  int i=0;&

119、lt;/b></p><p>  char vipname[16];</p><p>  printf("請輸入您的姓名\n");</p><p>  scanf("%s",vipname);</p><p>  while(mem[i].num!=0)</p><p>&

120、lt;b>  {</b></p><p>  mem[i+1].num=mem[i].num+1;/*增建會員庫*/</p><p>  strcpy(mem[i+1].name,vipname);/*輸入姓名*/</p><p><b>  while(1)</b></p><p><b>

121、  {</b></p><p>  int code,recode;</p><p>  printf("請輸入密碼\n");</p><p>  scanf("%d",&code);</p><p>  printf("請再輸入密碼\n");</p>

122、<p>  scanf("%d",&recode);</p><p>  if(code==recode)</p><p><b>  {</b></p><p>  mem[i+1].code=recode;</p><p>  topnum=topnum+1;</p&g

123、t;<p>  printf("注冊成功!您已成為會員,即刻起可享受全場9折優(yōu)惠\n");</p><p><b>  return 1;</b></p><p><b>  }</b></p><p><b>  else </b></p><p

124、><b>  {</b></p><p>  printf("兩次輸入密碼不同,請重新輸入\n");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  i++;</b>&l

125、t;/p><p>  printf("謝謝惠顧,歡迎下次再來。\n");</p><p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b&

126、gt;  search()</b></p><p><b>  {</b></p><p><b>  int i=0;</b></p><p>  char str[100];</p><p>  scanf("%s",str);</p><p&

127、gt;  while(i>=0&&i<=9)</p><p><b>  {</b></p><p>  if(strcmp(ware[i].name,str)==0)</p><p><b>  {</b></p><p>  printf("商品名:%s\n

128、,單價:%4.2f\n,位置:%d\n,剩余量:%d\n\n\n", ware[i].name, ware[i].price, ware[i].location, ware[i].sale);return 0;</p><p><b>  }</b></p><p><b>  i++;</b></p><p>

溫馨提示

  • 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

提交評論