c語(yǔ)言課程設(shè)計(jì)—超市收銀系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
已閱讀1頁(yè),還剩31頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  課 程 設(shè) 計(jì) 報(bào) 告</p><p>  課程名稱(chēng) 《C語(yǔ)言程序設(shè)計(jì)》 </p><p>  課題名稱(chēng) 超市收銀系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) </p><p>  專(zhuān) 業(yè) 統(tǒng)計(jì)學(xué) </p><p>  班

2、級(jí) </p><p>  學(xué) 號(hào) </p><p>  姓 名 </p><p>  指導(dǎo)教師 <

3、/p><p>  2013年 5月20日</p><p>  課 程 設(shè) 計(jì) 任 務(wù) 書(shū)</p><p>  課程名稱(chēng) 《C語(yǔ)言程序設(shè)計(jì)》 </p><p>  課 題超市收銀系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  專(zhuān)業(yè)班級(jí) 統(tǒng)計(jì)1201班 </p>

4、<p>  學(xué)生姓名 </p><p>  學(xué) 號(hào) </p><p>  指導(dǎo)老師 </p><p>  審 批

5、 </p><p>  任務(wù)書(shū)下達(dá)日期 2013 年 5月 20日</p><p>  任務(wù)完成日期 2013年 6月 23 日</p><p><b>  目 錄</b></p><p>  1.系統(tǒng)需求分析1</p><p><b>  1.1系統(tǒng)要求</b>&

6、lt;/p><p><b>  1.2功能要求</b></p><p><b>  2.總體設(shè)計(jì)1</b></p><p><b>  2.1模塊劃分</b></p><p>  2.2系統(tǒng)功能模塊圖</p><p><b>  2.3模塊功能說(shuō)

7、明</b></p><p>  2.4商品函數(shù)數(shù)據(jù)類(lèi)型</p><p><b>  3.詳細(xì)設(shè)計(jì)3</b></p><p>  3.1商品進(jìn)貨流程圖</p><p>  3.2商品修改流程圖</p><p>  4.程序調(diào)試分析4</p><p><b

8、>  5.總結(jié)9</b></p><p>  6.系統(tǒng)使用說(shuō)明9</p><p><b>  附件:源程序清單</b></p><p><b>  系統(tǒng)需求分析</b></p><p><b>  1.1系統(tǒng)要求:</b></p><p

9、>  實(shí)現(xiàn)對(duì)超市商品的收銀以及各項(xiàng)數(shù)據(jù)的顯示、查詢(xún)、修改、排序等操作的管理。</p><p><b>  1.2功能要求:</b></p><p>  1)本系統(tǒng)采用一個(gè)結(jié)構(gòu)體數(shù)組,數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:商品編號(hào)、商品名稱(chēng)、單價(jià)、庫(kù)存量、購(gòu)買(mǎi)量、總價(jià)、成本、利潤(rùn)。</p><p>  2)本系統(tǒng)顯示這樣的菜單:</p><

10、;p><b>  請(qǐng)選擇系統(tǒng)功能項(xiàng):</b></p><p><b>  收銀</b></p><p><b>  數(shù)據(jù)查詢(xún)</b></p><p><b>  數(shù)據(jù)管理</b></p><p><b> ?、?入庫(kù)</b>&l

11、t;/p><p><b> ?、?刪除</b></p><p><b>  ⑶ 修改</b></p><p><b>  利潤(rùn)統(tǒng)計(jì)</b></p><p> ?、?按類(lèi)統(tǒng)計(jì)利潤(rùn)并排序</p><p><b>  ⑵ 統(tǒng)計(jì)總利潤(rùn)</b>&

12、lt;/p><p><b>  退出系統(tǒng)</b></p><p>  3)執(zhí)行一個(gè)具體的功能之后,程序?qū)⒅匦嘛@示菜單。</p><p>  4)將數(shù)據(jù)保存到文件中。</p><p>  5)進(jìn)入系統(tǒng)前要求先輸入密碼</p><p><b>  總體設(shè)計(jì)</b></p>

13、<p><b>  2.1模塊劃分</b></p><p>  首先輸入管理員的賬號(hào)、密碼,成功登入系統(tǒng),然后系統(tǒng)模塊分為“商品管理”、“商品銷(xiāo)售”、“查看利潤(rùn)”三個(gè)部分。商品管理又包含:商品進(jìn)貨,商品添加,商品瀏覽,商品搜索,商品刪除,商品修改或返回上一級(jí)。</p><p>  2.2系統(tǒng)功能模塊圖</p><p><b&

14、gt;  2.3模塊功能說(shuō)明</b></p><p> ?。?).登入模塊:輸入賬號(hào),密碼登入。</p><p>  (2).商品管理模塊:對(duì)商品條形碼,名稱(chēng),單價(jià),庫(kù)存量,購(gòu)買(mǎi)量,成本價(jià),利潤(rùn)等信息錄入的管理。還可對(duì)已建立的商品信息進(jìn)行查詢(xún),并且可根據(jù)需要選擇按商品名查詢(xún)或按商品種類(lèi)查詢(xún)或按商品進(jìn)貨量查詢(xún)。</p><p>  (3).商品銷(xiāo)售模塊:輸

15、入要銷(xiāo)售商品條形碼,名稱(chēng)以及數(shù)量,最后進(jìn)行付款,找零,或者打印小票。</p><p><b> ?。?).進(jìn)貨模塊:</b></p><p>  錄入需要管理的商品信息并將信息保存于文件中,以方便日后進(jìn)行打印、讀取、更新等操作。</p><p><b> ?。?).刪除模塊:</b></p><p>

16、;  可對(duì)過(guò)期的商品做刪除處理。</p><p><b> ?。?).修改模塊:</b></p><p>  可根據(jù)需要對(duì)多件商品信息進(jìn)行修改,也可隨時(shí)對(duì)個(gè)別項(xiàng)進(jìn)行修改。</p><p><b> ?。?).瀏覽模塊:</b></p><p>  將所有商品信息或想要查詢(xún)的商品信息顯示于屏幕,用于打

17、印商品信息或查找某些商品信息。</p><p><b>  (8).利潤(rùn)模塊:</b></p><p>  統(tǒng)計(jì)商品的利潤(rùn)進(jìn)行統(tǒng)計(jì)。</p><p> ?。?).返回上一級(jí):</p><p>  選擇該項(xiàng),自動(dòng)返回上一級(jí)的選擇。</p><p>  2.4商品函數(shù)數(shù)據(jù)類(lèi)型</p>&

18、lt;p><b>  3.詳細(xì)設(shè)計(jì)</b></p><p>  3.1 商品進(jìn)貨流程圖</p><p><b>  y</b></p><p><b>  n</b></p><p><b>  n</b></p><p> 

19、 3.2商品修改流程圖</p><p><b>  y</b></p><p><b>  n</b></p><p>  n </p><p><b>  4. 程序調(diào)試分析</b></p><p>  1.首先輸入賬號(hào)、密碼,

20、登入收銀系統(tǒng)</p><p>  2.選擇商品菜單功能</p><p>  3..輸入進(jìn)貨的商品條碼、名稱(chēng)、單價(jià)、數(shù)量、售價(jià)</p><p>  4.修改商品名稱(chēng)、單價(jià)、售價(jià)、庫(kù)存</p><p>  5.瀏覽所有商品信息</p><p><b>  6.查找商品</b></p>&

21、lt;p><b>  7.添加商品</b></p><p><b>  8.刪除部分商品</b></p><p><b>  9.購(gòu)買(mǎi)商品</b></p><p><b>  5. 總結(jié)</b></p><p>  此次實(shí)踐課編寫(xiě)的是一個(gè)應(yīng)用程序,相

22、對(duì)于以前我們見(jiàn)到的程序,它要大得多,于是就按課本上的例子編了超市管理系統(tǒng),先把界面弄好然后再添加各模塊。忙碌了一個(gè)多星期,在大家的共同努力下,我們總算將此程序設(shè)計(jì)出來(lái)。盡管不是自己獨(dú)立完成,但仍然很高興,因?yàn)樵谠O(shè)計(jì)的過(guò)程中,讓我了解到要設(shè)計(jì)一個(gè)大型程序,查找資料是至關(guān)重要的,在他人的基礎(chǔ)上,再根據(jù)自己所學(xué)進(jìn)行修改與調(diào)試,現(xiàn)在在操作本程序時(shí)可根據(jù)提示進(jìn)行相關(guān)操作,能正確輸出結(jié)果。這過(guò)程艱辛,但只要你持之以恒,成功指日可待。</p&g

23、t;<p>  在這次設(shè)計(jì)過(guò)程中,不僅復(fù)習(xí)課本上所學(xué)知識(shí),還通過(guò)查資料、問(wèn)同學(xué), 學(xué)到了課本上沒(méi)有的知識(shí)。從而啟發(fā)我,要想寫(xiě)好程序,在寫(xiě)好課本知識(shí)的同時(shí)還需要多讀和專(zhuān)業(yè)有關(guān)的一些書(shū)籍,同時(shí)還需要多動(dòng)腦子,盡量把所學(xué)的知識(shí)綜合起應(yīng)用,除此之外,寫(xiě)程序時(shí)必須要細(xì)心,不能輸錯(cuò)一個(gè)字符標(biāo)點(diǎn),就連全角半角也得注意。在修改時(shí)要有耐心,編譯出錯(cuò)后必須逐個(gè)錯(cuò)誤去改正,絕不能心急浮躁,否則修改之后還會(huì)有新的錯(cuò)誤。當(dāng)然由于自己學(xué)的不夠好,知識(shí)

24、不夠豐富,在選題報(bào)告中還有一些不夠完美的地方。希望自己繼續(xù)努力,下次能做的更好。</p><p>  同時(shí)我想向所有為我的實(shí)習(xí)提供幫助和指導(dǎo)的老師和同學(xué)致謝,感謝你們?yōu)槲业捻樌麑?shí)習(xí)所作的努力和幫助。</p><p>  通過(guò)實(shí)踐的學(xué)習(xí),我認(rèn)識(shí)到學(xué)好計(jì)算機(jī)要重視實(shí)踐操作,不僅僅是學(xué)洗C語(yǔ)言,還是其它的語(yǔ)言,以及其它的計(jì)算機(jī)方面的知識(shí)都要重在實(shí)踐,所以后在學(xué)習(xí)過(guò)程中,我會(huì)更加注視實(shí)踐操作,使自

25、己便好地學(xué)好計(jì)算機(jī)。</p><p><b>  6. 系統(tǒng)使用說(shuō)明</b></p><p> ?。?)初次使用先添加管路員的賬號(hào)、密碼,密碼需要再次輸入 。 </p><p> ?。?)輸入正確的賬號(hào)、密碼即可登入成功,進(jìn)入商品管理。</p><p>  (3)添加商品時(shí),只可添加已有條碼商品的數(shù)量,若添加新的商品則

26、進(jìn)入進(jìn)貨模塊。</p><p> ?。?)修改商品時(shí),可修改商品全部信息,也可以只是修改商品部分的信息。</p><p> ?。?)退出再次進(jìn)入系統(tǒng)時(shí),原來(lái)進(jìn)貨的商品信息依然存在,方便操作。</p><p> ?。?)退出系統(tǒng),再次登入,直接輸入賬號(hào)、密碼即可,無(wú)需再添加賬戶(hù)。</p><p>  計(jì)算機(jī)與通信學(xué)院課程設(shè)計(jì)評(píng)分表</p&

27、gt;<p>  課程名稱(chēng): C語(yǔ)言程序設(shè)計(jì) </p><p>  教師簽名: </p><p>  日 期: </p><p><b>  附件:源程序清單</b></p><p>  #include <stdio.h></p>

28、;<p>  #include<string></p><p>  #include<windows.h></p><p>  void jieshao()//軟件介紹</p><p><b>  {</b></p><p>  printf("\t************

29、**************************************\n");</p><p>  printf("\t***** 歡 迎 來(lái) 到 超 市 收 銀 系 統(tǒng) ******\n");</p><p>  printf("\t**********************************************

30、***\n");</p><p><b>  }</b></p><p>  float zongjine=0;//消費(fèi)總金額</p><p>  float chengben=0;//保存使用的成本</p><p>  float yingli=0;//保存盈利金額</p><p> 

31、 int guanshuliang=0;//記錄管理員數(shù)量</p><p>  int xiaoshuliang=0;//記錄銷(xiāo)售員數(shù)量</p><p>  int chenggong=0;//0則是管理員,非0則是銷(xiāo)售員。證明登陸是否成功</p><p>  int zhonglei=0;//記錄貨物種類(lèi)</p><p>  int zhe

32、njia=0;//記錄是否是會(huì)員 0則不是會(huì)員1則是會(huì)員</p><p>  int diji=0;//記錄是會(huì)員編號(hào)</p><p>  int zongjifen=0;//記錄一共接受了多少積分</p><p>  struct huiyuan//定義會(huì)員信息結(jié)構(gòu)</p><p><b>  {</b></

33、p><p>  float jifen;//記錄會(huì)員積分</p><p>  char name[50];//帳戶(hù)</p><p>  char mima[50];//密碼</p><p>  };huiyuan hui[1000000];//會(huì)員信息</p><p>  struct shangpin//定義商品結(jié)構(gòu)體&

34、lt;/p><p><b>  {</b></p><p>  char name[50];//商品名</p><p>  char tiaoxinma[50];//條形碼</p><p>  float xiaoshoudanjia;//銷(xiāo)售單價(jià)</p><p>  float jinhuodanj

35、ia;//進(jìn)貨單價(jià)</p><p>  int kucun;//庫(kù)存</p><p><b>  };</b></p><p>  shangpin shp[10000000];//用于保存商品的信息</p><p>  struct xiaoshouyuan//定義銷(xiāo)售員結(jié)構(gòu)體</p><p>

36、<b>  {</b></p><p>  int cunzai;//用于記錄該銷(xiāo)售員是否存在,=-1則表示被刪除</p><p>  char zhanghu[20];//銷(xiāo)售員帳戶(hù)</p><p>  char mima[20];//銷(xiāo)售員密碼</p><p>  };xiaoshouyuan xiao[50];

37、</p><p>  struct guanliyuan//定義管理員結(jié)構(gòu)體</p><p><b>  {</b></p><p>  int cunzai;//用于記錄該管理員員是否存在,=-1則表示被刪除</p><p>  char zhanghu[20];//管理員帳戶(hù)</p><p>

38、  char mima[20];//管理員密碼</p><p>  };guanliyuan guan[100];</p><p>  FILE *fp;//定義一個(gè)FILE類(lèi)型的*fp指針</p><p>  //保存商品結(jié)構(gòu)體數(shù)組</p><p>  void Saveshangpin()//wb為二進(jìn)制寫(xiě),如果文件不存在則自動(dòng)創(chuàng)建文件

39、shangpin.dat</p><p><b>  {</b></p><p>  fp=fopen("shangpin.dat","wb");</p><p>  if(fp)//如果文件被成功打開(kāi)的話(huà)(有可能文件不存在)</p><p><b>  {</b

40、></p><p>  for(int i=0;i<zhonglei;i++)</p><p><b>  {</b></p><p>  if(fwrite(&shp[i],sizeof(struct shangpin),1,fp)!=1)</p><p>  printf("文件寫(xiě)入錯(cuò)誤

41、!\n");</p><p><b>  }</b></p><p>  fclose(fp);</p><p><b>  }</b></p><p><b>  }</b></p><p>  //讀取商品結(jié)構(gòu)體數(shù)組到文件</p>

42、;<p>  void Loadshangpin()</p><p><b>  {</b></p><p>  fp=fopen("shangpin.dat","rb");</p><p>  if(fp)//如果文件被成功打開(kāi)的話(huà)(有可能文件不存在)</p><p&

43、gt;<b>  {</b></p><p>  for(int i=0;fread(&shp[i],sizeof(struct shangpin),1,fp);i++)</p><p><b>  {</b></p><p>  zhonglei++;</p><p><b> 

44、 }</b></p><p>  fclose(fp);</p><p><b>  }</b></p><p><b>  }</b></p><p>  //保存管理員結(jié)構(gòu)體數(shù)組</p><p>  void Saveguanliyuan()//wb為二進(jìn)制寫(xiě)

45、,如果文件不存在則自動(dòng)創(chuàng)建文件</p><p><b>  {</b></p><p>  fp=fopen("guanliyuan.dat","wb");</p><p>  if(fp)//如果文件被成功打開(kāi)的話(huà)(有可能文件不存在)</p><p><b>  {&

46、lt;/b></p><p>  for(int i=0;i<guanshuliang;i++)</p><p><b>  {</b></p><p>  if(fwrite(&guan[i],sizeof(struct guanliyuan),1,fp)!=1)</p><p>  printf(

47、"文件寫(xiě)入錯(cuò)誤!\n");</p><p><b>  }</b></p><p>  fclose(fp);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void Loadgu

48、anliyuan()//讀取管理員結(jié)構(gòu)體數(shù)組到文件</p><p><b>  {</b></p><p>  fp=fopen("guanliyuan.dat","rb");</p><p>  if(fp)//如果文件被成功打開(kāi)的話(huà)(有可能文件不存在)</p><p><

49、;b>  {</b></p><p>  guanshuliang=0;</p><p>  for(int i=0;fread(&guan[i],sizeof(struct guanliyuan),1,fp);i++)</p><p><b>  {</b></p><p>  guanshu

50、liang++;</p><p><b>  }</b></p><p>  fclose(fp);</p><p><b>  }</b></p><p><b>  }</b></p><p>  //保存銷(xiāo)售員結(jié)構(gòu)體數(shù)組</p>&l

51、t;p>  void Savexiaoshouyuan()//wb為二進(jìn)制寫(xiě),如果文件不存在則自動(dòng)創(chuàng)建文件shangpin.dat</p><p><b>  {</b></p><p>  fp=fopen("xiaoshouyuan.dat","wb");</p><p>  if(fp)//

52、如果文件被成功打開(kāi)的話(huà)(有可能文件不存在)</p><p><b>  {</b></p><p>  for(int i=0;i<xiaoshuliang;i++)</p><p><b>  {</b></p><p>  if(fwrite(&xiao[i],sizeof(str

53、uct xiaoshouyuan),1,fp)!=1)</p><p>  printf("文件寫(xiě)入錯(cuò)誤!\n");</p><p><b>  }</b></p><p>  fclose(fp);</p><p><b>  }</b></p><p>

54、;<b>  }</b></p><p>  void Loadxiaoshouyuan()//讀取銷(xiāo)售員結(jié)構(gòu)體數(shù)組到文件</p><p><b>  {</b></p><p>  fp=fopen("xiaoshouyuan.dat","rb");</p><

55、p>  if(fp)//如果文件被成功打開(kāi)的話(huà)(有可能文件不存在)</p><p><b>  {</b></p><p>  xiaoshuliang=0;</p><p>  for(int i=0;fread(&xiao[i],sizeof(struct xiaoshouyuan),1,fp);i++)</p>

56、<p><b>  {</b></p><p>  xiaoshuliang++;</p><p><b>  }</b></p><p>  fclose(fp);</p><p><b>  }</b></p><p><b>

57、;  }</b></p><p>  void guanlicaidan()//管理員權(quán)限菜單</p><p><b>  {</b></p><p>  printf("\n\n\t********* 管理員權(quán)限菜單: **************\n");</p><p> 

58、 printf("\t**************************************************\n");</p><p>  printf("\t********** 1. 商品管理 **********\n");</p><p>  printf("\t

59、 \n");</p><p>  printf("\t********** 2. 查看利潤(rùn) **********\n");</p><p>  printf("\t

60、 \n");</p><p>  printf("\t********** 0. 返回身份選擇! **********\n");</p><p>  printf("\t**************************************************\n");</p>

61、<p><b>  }</b></p><p>  void xiaocaidan()//銷(xiāo)售員權(quán)限菜單</p><p><b>  {</b></p><p>  printf("\n\n\t******** 銷(xiāo)售員權(quán)限菜單: ***********\n");</p

62、><p>  printf("\t \n");</p><p>  printf("\t******* 1. 瀏覽商品信息 *******\n");</p><p>  printf("

63、\t \n");</p><p>  printf("\t******* 2. 銷(xiāo) 售 *******\n");</p><p>  printf("\t

64、 \n");</p><p>  printf("\t******* 0. 返回身份選擇! *******\n");</p><p>  printf("\t**************************************************\n&quo

65、t;);</p><p><b>  }</b></p><p>  void jinhuo()//進(jìn)貨</p><p><b>  {</b></p><p>  Loadshangpin();</p><p>  char choose;</p><p

66、>  int i=zhonglei;</p><p>  int shi=1;//記錄條形碼是否被使用-數(shù)則表示被使用了</p><p><b>  do</b></p><p><b>  {</b></p><p>  shi=1;//在判斷條碼前為非負(fù)數(shù)</p><

67、p>  printf("購(gòu)買(mǎi)商的條碼:");</p><p>  fflush(stdin);</p><p>  scanf("%s",shp[i].tiaoxinma);</p><p>  if(zhonglei>0)</p><p><b>  {</b><

68、;/p><p>  for(int a=0;a<zhonglei;a++)</p><p><b>  {</b></p><p>  if(a!=i&&shp[a].kucun>=0)</p><p><b>  {</b></p><p>  if

69、(strcmp(shp[i].tiaoxinma,shp[a].tiaoxinma)==0)</p><p><b>  {</b></p><p>  printf("錯(cuò)誤?。〈藯l碼已經(jīng)被使用!\n");</p><p>  shi=-1;//條碼被使用。標(biāo)記為-數(shù);</p><p><b&g

70、t;  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(sh

71、i!=-1)</p><p><b>  {</b></p><p>  printf("商品的名稱(chēng):");</p><p>  fflush(stdin);</p><p>  scanf("%s",shp[i].name);</p><p>  prin

72、tf("進(jìn)貨單價(jià):");</p><p>  fflush(stdin);</p><p>  scanf("%f",&shp[i].jinhuodanjia);</p><p>  printf("進(jìn)貨數(shù)量:");</p><p>  fflush(stdin);</

73、p><p>  scanf("%d",&shp[i].kucun);</p><p>  printf("銷(xiāo)售價(jià)格:");</p><p>  fflush(stdin);</p><p>  scanf("%f",&shp[i].xiaoshoudanjia);<

74、/p><p><b>  i++;</b></p><p>  zhonglei++;</p><p>  printf("是否繼續(xù)進(jìn)貨:(y/n)");</p><p>  fflush(stdin);</p><p>  scanf("%c",&ch

75、oose);</p><p><b>  }</b></p><p>  }while(choose=='y'||choose=='Y');</p><p>  Saveshangpin();</p><p><b>  }</b></p><p&

76、gt;  void xiaoshou()//銷(xiāo)售物品</p><p><b>  {</b></p><p><b>  int i=0;</b></p><p>  int shiyongjifen=0;//保存每次的使用積分</p><p>  int dayin[1000];//標(biāo)記打印,若值

77、為1則為打印商品</p><p>  char tiaoma[50];</p><p>  char choose;</p><p>  int shuliang=0;//保存購(gòu)買(mǎi)數(shù)量</p><p>  int geshu[1000];//記錄多次購(gòu)物的個(gè)數(shù)</p><p>  float shifu=0;//保存實(shí)

78、付金額</p><p>  float zhaoling=0;//找零</p><p>  int chaochu;//標(biāo)記購(gòu)買(mǎi)量是否超出庫(kù)存</p><p>  if(zhenjia==1)</p><p><b>  {</b></p><p><b>  do</b>&

79、lt;/p><p><b>  {</b></p><p>  chaochu=0;</p><p>  printf("\n請(qǐng)輸入條形碼:");</p><p>  fflush(stdin);</p><p>  scanf("%s",tiaoma);<

80、;/p><p>  printf("數(shù)量:");</p><p>  fflush(stdin);</p><p>  scanf("%d",&shuliang);</p><p>  for(i=0;i<zhonglei;i++)</p><p><b> 

81、 {</b></p><p>  if(shp[i].kucun>=0)</p><p><b>  {</b></p><p>  if(strcmp(tiaoma,shp[i].tiaoxinma)==0)</p><p><b>  {</b></p><

82、p>  printf("\n購(gòu)買(mǎi)商品信息如下:\n");</p><p>  printf("\t商品名:%s\t進(jìn)貨單價(jià):%.2f\t銷(xiāo)售單價(jià):%.2f\n",shp[i].name,shp[i].jinhuodanjia,shp[i].xiaoshoudanjia);</p><p>  if(shuliang>shp[i].kucu

83、n) </p><p><b>  {</b></p><p>  chaochu=-1;//標(biāo)記為-數(shù)表示超出</p><p>  printf("沒(méi)有足夠庫(kù)存!\n\n");</p><p><b>  break;</b></p><p><b

84、>  }</b></p><p>  dayin[i]=1;</p><p>  geshu[i]=shuliang;</p><p>  shp[i].kucun=shp[i].kucun-shuliang;</p><p>  zongjine+=shp[i].xiaoshoudanjia*shuliang;//計(jì)算應(yīng)付

85、金額</p><p>  chengben+=shp[i].jinhuodanjia*shuliang;//計(jì)算成本</p><p>  hui[diji].jifen+=shp[i].xiaoshoudanjia*shuliang;</p><p><b>  break;</b></p><p><b> 

86、 }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(i==zhonglei) printf("沒(méi)有此商品!\n");</p><p>  if(chaochu!=-1)</p><

87、p><b>  {</b></p><p>  printf("是否繼續(xù)購(gòu)買(mǎi)(y/n):");</p><p>  fflush(stdin);</p><p>  scanf("%c",&choose);</p><p><b>  }</b>

88、</p><p>  }while(choose=='y'||choose=='Y'||chaochu==-1);</p><p>  printf("應(yīng)付金額%.2f\n",zongjine);</p><p>  printf("實(shí)付金額:");</p><p>  

89、fflush(stdin);</p><p>  scanf("%f",&shifu);</p><p>  printf("100積分=1元,是否使用積分?(y/n)");</p><p>  fflush(stdin);</p><p>  scanf("%c",&

90、;choose);</p><p>  if(choose=='y'||choose=='Y')</p><p><b>  {</b></p><p>  printf("剩余積分%.2f\n",hui[diji].jifen);</p><p>  printf(&

91、quot;使用多少積分?");</p><p>  fflush(stdin);</p><p>  scanf("%d",&shiyongjifen);</p><p>  zongjifen+=shiyongjifen;</p><p>  zhaoling=shifu-zongjine+shiyon

92、gjifen/100.0;</p><p>  hui[diji].jifen-=shiyongjifen;</p><p><b>  }</b></p><p>  else zhaoling=shifu-zongjine;</p><p><b>  }</b></p><

93、p>  if(zhenjia!=1)</p><p><b>  {</b></p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("請(qǐng)輸入條形碼:");</p><p&

94、gt;  fflush(stdin);</p><p>  scanf("%s",tiaoma);</p><p>  printf("數(shù)量:");</p><p>  fflush(stdin);</p><p>  scanf("%d",&shuliang);</p

95、><p>  for(i=0;i<zhonglei;i++)</p><p><b>  {</b></p><p>  if(shp[i].kucun>=0)</p><p><b>  {</b></p><p>  if(strcmp(tiaoma,shp[i]

96、.tiaoxinma)==0)//找到被銷(xiāo)售的商品</p><p><b>  {</b></p><p>  printf("\n購(gòu)買(mǎi)商品信息如下:\n");</p><p>  printf("\t商品名:%s\t進(jìn)貨單價(jià):%.2f\t銷(xiāo)售單價(jià):%.2f\n",shp[i].name,shp[i].j

97、inhuodanjia,shp[i].xiaoshoudanjia);</p><p>  if(shp[i].kucun<=10) printf(" 提示:該商品庫(kù)存不足10份!請(qǐng)及時(shí)補(bǔ)充!\n");//提示庫(kù)存信息</p><p>  if(shuliang>shp[i].kucun)//判斷是否有足夠庫(kù)存</p><p><

98、;b>  {</b></p><p>  chaochu=-1;//-數(shù)表示超出</p><p>  printf("沒(méi)有足夠庫(kù)存!\n");</p><p><b>  break;</b></p><p><b>  }</b></p><

99、;p>  dayin[i]=1;//銷(xiāo)售的商品標(biāo)記打印為1;用于打印小票</p><p>  geshu[i]=shuliang;</p><p>  shp[i].kucun-=shuliang;//庫(kù)存=原庫(kù)存-銷(xiāo)售數(shù)量</p><p>  zongjine+=shp[i].xiaoshoudanjia*shuliang;//計(jì)算應(yīng)付金額</p>

100、;<p>  chengben+=shp[i].jinhuodanjia*shuliang;//計(jì)算成本</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b&

101、gt;  }</b></p><p>  if(i==zhonglei) printf("沒(méi)有此商品!\n");</p><p>  printf("\n是否繼續(xù)購(gòu)買(mǎi)(y/n):");</p><p>  fflush(stdin);</p><p>  scanf("%c&quo

102、t;,&choose);</p><p>  }while(choose=='y'||choose=='Y'||i==zhonglei);</p><p>  printf("應(yīng)付金額%.2f\n",zongjine);</p><p>  printf("實(shí)付金額:");</p&

103、gt;<p>  fflush(stdin);</p><p>  scanf("%f",&shifu);</p><p>  zhaoling=shifu-zongjine;</p><p><b>  }</b></p><p>  printf("是否打印小票(y

104、/n)");</p><p>  fflush(stdin);</p><p>  scanf("%c",&choose);</p><p>  if(choose=='y'||choose=='Y')//打印小票</p><p><b>  {</b>

105、;</p><p>  printf("\n\n條形碼\t名稱(chēng)\t銷(xiāo)售單價(jià)\t數(shù)量\t金額\n");</p><p>  for(i=0;i<zhonglei;i++)</p><p><b>  {</b></p><p>  if(dayin[i]==1)</p><p&

106、gt;<b>  {</b></p><p>  printf("%s\t%s\t%.2f\t\t%d\t%.2f\n",shp[i].tiaoxinma,shp[i].name,shp[i].xiaoshoudanjia,geshu[i],shp[i].xiaoshoudanjia*geshu[i]);</p><p><b>  }&

107、lt;/b></p><p><b>  }</b></p><p>  if(zhenjia==1) printf("使用%d積分!\n",shiyongjifen);</p><p>  printf("應(yīng)付金額%.2f元\t實(shí)付金額%.2f元\t找零%.2f元\n",zongjine,shif

108、u,zhaoling);</p><p><b>  }</b></p><p>  yingli+=zongjine-chengben;//盈利=收入金額-成本</p><p>  zongjine=0;</p><p>  chengben=0;</p><p>  Saveshangpin(

109、);</p><p><b>  }</b></p><p>  void lirun()//利潤(rùn)函數(shù)</p><p><b>  {</b></p><p>  printf("共接受了%d的抵價(jià)積分!\n",zongjifen);//顯示共接受的積分量</p>

110、<p>  printf("今日已賺%.2f元\n",yingli);//顯示盈利量</p><p><b>  }</b></p><p>  void shanchu()//刪除商品</p><p><b>  {</b></p><p>  Loadshangpi

111、n();</p><p>  char tiaoma[50];</p><p>  char choose;</p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("請(qǐng)輸入要?jiǎng)h除的商品的條碼:"

112、);</p><p>  fflush(stdin);</p><p>  scanf("%s",tiaoma);</p><p>  for(int i=0;i<zhonglei;i++)</p><p><b>  {</b></p><p>  if(shp[i].

113、kucun!=-1)</p><p><b>  {</b></p><p>  if(strcmp(tiaoma,shp[i].tiaoxinma)==0)//找到要?jiǎng)h除的商品</p><p><b>  {</b></p><p>  printf("\n原信息如下:\n")

114、;</p><p>  printf("\t商品名:%s\t進(jìn)貨單價(jià):%.2f\t銷(xiāo)售單價(jià):%.2f庫(kù)存:%d\n",shp[i].name,shp[i].jinhuodanjia,shp[i].xiaoshoudanjia,shp[i].kucun);</p><p>  shp[i].kucun=-1; //刪除則將庫(kù)存標(biāo)為負(fù)數(shù)</p><p&g

115、t;  printf("該商品已刪除!\n");</p><p><b>  break;</b></p><p><b>  }</b></p><p>  if(i==zhonglei) //沒(méi)有找到商品</p><p><b>  {</b></

116、p><p>  printf("沒(méi)有此商品!\n"); </p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</

117、b></p><p>  printf("\n是否繼續(xù)刪除(y/n):");</p><p>  fflush(stdin);</p><p>  scanf("%c",&choose);</p><p>  }while(choose=='y'||choose=='

118、;Y');</p><p>  Saveshangpin();</p><p><b>  }</b></p><p>  void xiugai()//修改商品</p><p><b>  {</b></p><p>  Loadshangpin();</p&

119、gt;<p>  char tiaoma[50];</p><p>  char choose;</p><p><b>  do{</b></p><p>  printf("請(qǐng)輸入要修改的商品條碼:");</p><p>  fflush(stdin);</p><

120、;p>  scanf("%s",tiaoma);</p><p>  for(int i=0;i<zhonglei;i++)</p><p><b>  {</b></p><p>  if(shp[i].kucun>=0) //判斷是否被刪除</p><p><b>  

121、{</b></p><p>  if(strcmp(tiaoma,shp[i].tiaoxinma)==0)//找到要修改的商品</p><p><b>  {</b></p><p>  printf("\n原信息如下:\n");</p><p>  printf("\t商品名

122、:%s\t進(jìn)貨單價(jià):%.2f\t銷(xiāo)售單價(jià):%.2f庫(kù)存:%d\n",shp[i].name,shp[i].jinhuodanjia,shp[i].xiaoshoudanjia,shp[i].kucun);</p><p>  printf("\n修改商品名:");</p><p>  fflush(stdin);</p><p>  s

123、canf("%s",shp[i].name);</p><p>  printf("修改進(jìn)貨單價(jià):");</p><p>  fflush(stdin);</p><p>  scanf("%f",&shp[i].jinhuodanjia);</p><p>  printf

124、("修改銷(xiāo)售單價(jià):");</p><p>  fflush(stdin);</p><p>  scanf("%f",&shp[i].xiaoshoudanjia);</p><p>  printf("修改庫(kù)存:");</p><p>  scanf("%d&qu

125、ot;,&shp[i].kucun);</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(i==zhonglei)</p><p>  pr

126、intf("沒(méi)有此貨物!\n");</p><p><b>  }</b></p><p>  printf("\n是否繼續(xù)修改?(y/n)");</p><p>  fflush(stdin);</p><p>  scanf("%c",&choose

127、);</p><p>  }while(choose=='y'||choose=='Y');</p><p>  Saveshangpin();</p><p><b>  }</b></p><p>  void liulanshp()//瀏覽所有商品</p><p&

128、gt;<b>  {</b></p><p>  printf("條形碼\t名稱(chēng)\t銷(xiāo)售單價(jià)\t進(jìn)貨單價(jià)\t庫(kù)存\n");</p><p>  for(int i=0;i<zhonglei;i++)</p><p><b>  {</b></p><p>  if(shp[

129、i].kucun>=0)</p><p><b>  {</b></p><p>  if(shp[i].jinhuodanjia!=0)//判斷是否存在</p><p><b>  {</b></p><p>  printf("%s\t%s\t%.2f\t\t%.2f\t\t%d

130、\n",shp[i].tiaoxinma,shp[i].name,shp[i].xiaoshoudanjia,shp[i].jinhuodanjia,shp[i].kucun);</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(zhonglei==i) b

131、reak;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void sousuo()//搜索商品</p><p><b>  {</b></p><p>  char tiaoma[50];</

132、p><p>  printf("請(qǐng)輸入您要查找的商品條形碼:");</p><p>  fflush(stdin);</p><p>  scanf("%s",tiaoma);</p><p>  for(int i=0;i<zhonglei;i++)</p><p><

133、b>  {</b></p><p>  if(shp[i].kucun>=0)//判斷是否存在</p><p><b>  {</b></p><p>  if(strcmp(tiaoma,shp[i].tiaoxinma)==0)//找到商品</p><p><b>  {</b

134、></p><p>  printf("\n條形碼\t名稱(chēng)\t銷(xiāo)售單價(jià)\t進(jìn)貨單價(jià)\t庫(kù)存\n");</p><p>  if(shp[i].jinhuodanjia!=0)</p><p>  printf("%s\t%s\t%.2f\t\t%.2f\t\t%d\n",shp[i].tiaoxinma,shp[i].n

135、ame,shp[i].xiaoshoudanjia,shp[i].jinhuodanjia,shp[i].kucun);</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(

136、zhonglei==i) </p><p><b>  {</b></p><p>  printf("沒(méi)有此商品!\n");</p><p><b>  }</b></p><p><b>  }</b></p><p><b

137、>  }</b></p><p>  void tianjia()//添加貨物數(shù)量</p><p><b>  {</b></p><p>  Loadshangpin();</p><p>  char choose;</p><p>  char tiaoma[50];<

138、;/p><p>  int jia=0;</p><p><b>  do</b></p><p><b>  {</b></p><p>  printf("請(qǐng)輸入條形碼:");</p><p>  fflush(stdin);</p><

139、;p>  scanf("%s",tiaoma);</p><p>  for(int i=0;i<zhonglei;i++)</p><p><b>  {</b></p><p>  if(shp[i].kucun>=0)</p><p><b>  {</b>

140、;</p><p>  if(strcmp(tiaoma,shp[i].tiaoxinma)==0)//找到要添加的商品</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p>&l

141、t;p>  if(i==zhonglei) </p><p><b>  {</b></p><p>  printf("沒(méi)有此商品!\n");</p><p><b>  break;</b></p><p><b>  }</b></p>

142、;<p>  printf("\n原信息如下:\n");</p><p>  printf("\t商品名:%s\t進(jìn)貨單價(jià):%.2f\t銷(xiāo)售單價(jià):%.2f庫(kù)存:%d\n",shp[i].name,shp[i].jinhuodanjia,shp[i].xiaoshoudanjia,shp[i].kucun);</p><p>  prin

143、tf("\n請(qǐng)輸入添加的數(shù)量:");</p><p>  fflush(stdin);</p><p>  scanf("%d",&jia);</p><p>  shp[i].kucun=shp[i].kucun+jia;</p><p>  printf("\n是否繼續(xù)添加(y/n

144、)");</p><p>  fflush(stdin);</p><p>  scanf("%c",&choose);</p><p>  }while(choose=='y'||choose=='Y');</p><p>  Saveshangpin();</p&

溫馨提示

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

評(píng)論

0/150

提交評(píng)論