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

下載本文檔

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

文檔簡介

1、<p><b>  目 錄</b></p><p>  第一章 設(shè)計(jì)的目的及要求1</p><p>  第二章 課程設(shè)計(jì)任務(wù)內(nèi)容2</p><p>  2.1課程設(shè)計(jì)題目2</p><p>  2.2課程設(shè)計(jì)任務(wù)內(nèi)容2</p><p>  第三章 詳細(xì)設(shè)計(jì)說明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結(jié)構(gòu)體建立的語句4</p><p>  3.3主要函數(shù)定義5</p><p>  3.4編碼與調(diào)試16</p

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

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

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

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

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

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

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

10、統(tǒng)存儲(chǔ)商品的一些基本信息:商品代碼,商品名,存放位置,剩余量,單價(jià)等,輸入商品名即可調(diào)出商品的所有信息。</p><p>  第三章 詳細(xì)設(shè)計(jì)說明</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ù),主要功能是實(shí)現(xiàn)執(zhí)行購物和查詢功能。</p><p><b>  購物主函數(shù)</b></p><p>  此函數(shù)為無返回值空類型函數(shù),主要功能是為顧

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

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

14、的平臺(tái)。</p><p>  3.2結(jié)構(gòu)體建立的語句</p><p><b>  會(huì)員系統(tǒng)信息</b></p><p>  struct VIP/*會(huì)員信息*/</p><p><b>  { </b></p><p>  int num;/*卡號(hào)*/</p>

15、<p>  int code;/*密碼*/</p><p>  char name[20];/*姓名*/</p><p>  float balance;/*卡上余額*/</p><p>  float consume;/*以消費(fèi)總額*/</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;/*單價(jià)*/</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("請輸入您所選商品的序號(hào)和數(shù)目,并以“,”隔開。請輸入“-1,-1”結(jié)束\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("輸入信息錯(cuò)誤!\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,單價(jià):%4.2f\

29、n,所購數(shù)目:%d\n",ware[i].name,ware[i].price,x);</p><p>  totalprice=ware[i].price*x;/*計(jì)算單種商品的總價(jià)*/</p><p>  ware[i].sale=ware[i].sale-x;</p><p>  printf("總價(jià):%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("合計(jì):%4.2f\n&

32、quot;,price1);</p><p>  printf("請輸入您要進(jìn)行的購物模式:\n");</p><p>  printf(" v : 刷卡服務(wù)\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("會(huì)員購物,享受9折優(yōu)惠\n");VIPSH();break;</p><p>  case'o':OSH();break;

34、</p><p>  default:printf("輸入信息錯(cuò)誤!\n請輸入字母v或o并注意大小寫。\n");wrong();break;/*和下面的wrong函數(shù)構(gòu)成循環(huán)調(diào)用*/</p><p><b>  }</b></p><p>  void wrong()/*和上面的switch(l)構(gòu)成循環(huán)調(diào)用*/</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("會(huì)員購物,享受9折優(yōu)惠\n");VIPSH();break;</p><p>  case&

37、#39;o':OSH();break;</p><p>  default:printf("輸入信息錯(cuò)誤!\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>  會(huì)員購物函數(shù)</b></p><p>  void VIPSH()/*會(huì)員購物函數(shù)*/</p><p><b&g

39、t;  {</b></p><p>  int num;/*卡號(hào)*/</p><p><b>  int i=0;</b></p><p><b>  int code;</b></p><p>  printf("請輸入您的卡號(hào):\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)/*卡號(hào)合法性*/</p><p>&l

41、t;b>  {</b></p><p>  printf("此卡不存在,請核對(duì)后再次輸入!\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)/*查找會(huì)員*/</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);/*會(huì)員價(jià),9折*/</p><p>  printf("姓名:%s\n,已消費(fèi)總額:%4.2f\n,卡上余額:%4.2f\n應(yīng)收

45、:%4.2f\n",mem[i].name,mem[i].consume,mem[i].balance,money);</p><p>  if(money>mem[i].balance)</p><p>  printf("卡上余額不足,請及時(shí)充值\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;/*購物成功后,會(huì)員歷史購物總額修改*/</p><p>  printf("刷卡成功,謝謝惠顧\n\n\n");bre

47、ak;/*修改會(huì)員的已消費(fèi)額,卡上余額信息*/</p><p><b>  }break;</b></p><p><b>  }</b></p><p><b>  else {</b></p><p>  printf("密碼錯(cuò)誤\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 會(huì)員購物函數(shù)流程圖</p><p><b>  一般顧客

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

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

52、>  printf("您的消費(fèi)已滿200元,可以免費(fèi)注冊會(huì)員,是否現(xiàn)在注冊?\n");</p><p>  printf(" Y 現(xiàn)在注冊,馬上享受會(huì)員全場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;/*調(diào)用注冊會(huì)員函數(shù)*/</p><p>  case 'N':printf("謝謝惠顧,歡迎下次再來。\n");;break;}</p><p><b>  }</b></p>

54、<p>  ban()/*注冊會(huì)員函數(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;/*增建會(huì)員庫*/</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("請?jiān)佥斎朊艽a\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("注冊成功!您已成為會(huì)員,即刻起可享受全場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、價(jià):%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("對(duì)不起,我們超市暫無此商品!\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編碼與調(diào)試</b></p><p>  根據(jù)主要的流程圖,函數(shù)功能,進(jìn)行錄入源代碼操作。在編碼時(shí),注意代碼的書寫規(guī)范,包括命名慣例、注釋、分隔和縮進(jìn)等,使程序?qū)哟吻逦?,增?qiáng)可讀性和維護(hù)性。編碼操作完成后,先靜態(tài)檢查一下有沒有語法錯(cuò)誤,然后進(jìn)行編譯,更深一

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

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

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

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

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

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

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

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

74、004年1月第一版</p><p>  [4].(美)戴特爾(Deitel,H.M.)等編著,張引等譯:《C++大學(xué)基礎(chǔ)教程(第五版)》,北京:電子工業(yè)出版社,2006年6月</p><p>  [5].夏云慶:《Visual C++ 6.0數(shù)據(jù)庫高級(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;/*單種商品總價(jià)*/</p><p>  struct VIP/*會(huì)員信息*/</p><p>  {int num;/*卡號(hào)*/&l

77、t;/p><p>  int code;/*密碼*/</p><p>  char name[20];/*姓名*/</p><p>  float balance;/*卡上余額*/</p><p>  float consume;/*以消費(fèi)總額*/</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;/*單價(jià)*/</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();/*會(huì)員購物*/</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(" *************************請選擇您所需要的服務(wù)*********************** \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("請輸入您所選商品的序號(hào)和數(shù)目,并以“,”隔開。請輸入“-1,-1”結(jié)束\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("輸入信息錯(cuò)誤!\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、價(jià):%4.2f\n,所購數(shù)目:%d\n",ware[i].name,ware[i].price,x);</p><p>  totalprice=ware[i].price*x;/*計(jì)算單種商品的總價(jià)*/</p><p>  ware[i].sale=ware[i].sale-x;</p><p>  printf("總價(jià):%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("合計(jì):

98、%4.2f\n",price1);</p><p>  printf("請輸入您要進(jìn)行的購物模式:\n");</p><p>  printf(" v : 刷卡服務(wù)\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("會(huì)員購物,享受9折優(yōu)惠\n");VIPSH();break;</p><p>  case'o':OSH();break;</p&

100、gt;<p>  default:printf("輸入信息錯(cuò)誤!\n請輸入字母v或o并注意大小寫。\n");wrong();break;/*和下面的wrong函數(shù)構(gòu)成循環(huán)調(diào)用*/</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("會(huì)員購物,享受9折優(yōu)惠\n");VIPSH();break;</p><p>  case'o':OSH();break;</p

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

104、lt;p>  void VIPSH()/*會(huì)員購物函數(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("請輸入您的卡號(hào):\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("此卡不存在,請核對(duì)后再次輸入!\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)/*查找會(huì)員*/</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);/*會(huì)員價(jià),9折*/</p><

110、p>  printf("姓名:%s\n,已消費(fèi)總額:%4.2f\n,卡上余額:%4.2f\n應(yīng)收:%4.2f\n",mem[i].name,mem[i].consume,mem[i].balance,money);</p><p>  if(money>mem[i].balance)</p><p>  printf("卡上余額不足,請及時(shí)充值\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;/*修改會(huì)員的已消費(fèi)額,卡上余額信息*/</p><p><b>  }break;</b></p><p><b>  }</b></p><p><b>  else {</b></p><p>  printf("密碼錯(cuò)誤\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("您的消費(fèi)已滿200元,可以免費(fèi)注冊會(huì)員,是否現(xiàn)在注冊?\n");</p><p>  printf(" Y 現(xiàn)在注冊,馬上享受會(huì)員全場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;/*增建會(huì)員庫*/</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("請?jiān)佥斎朊艽a\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("注冊成功!您已成為會(huì)員,即刻起可享受全場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、,單價(jià):%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)系上傳者。文件的所有權(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)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論