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

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  C語言課程設(shè)計(jì)</b></p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p><b>  小</b></p><p><b>  型</b></p><p><b>  商</b></p

2、><p><b>  品</b></p><p><b>  管</b></p><p><b>  理</b></p><p><b>  系</b></p><p><b>  統(tǒng)</b></p>

3、<p><b>  目錄</b></p><p>  0 題目和…………………………………………………………3</p><p>  1 設(shè)計(jì)目的………………………………………………………6</p><p>  2 功能描述………………………………………………………7</p><p>  3 總體設(shè)計(jì)……………

4、…………………………………………8 </p><p>  3.1 功能模塊設(shè)計(jì)………………………………………………8</p><p>  3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)………………………………………………9</p><p>  3.3 函數(shù)功能描述………………………………………………10 </p><p>  4 程序?qū)崿F(xiàn)………………………………………

5、………………11</p><p>  4.1 源碼分析……………………………………………………11 </p><p>  4.2 運(yùn)行結(jié)果……………………………………………………22</p><p>  5課程設(shè)計(jì)總結(jié)…………………………………………………28</p><p>  題目一 小型商品管理系統(tǒng) </p><p&

6、gt;<b>  設(shè)計(jì)要求</b></p><p><b> ?。?)基本功能:</b></p><p>  a) 創(chuàng)建商品價(jià)格信息文件 </p><p>  b) 增加商品價(jià)格信息 </p><p>  c) 刪除商品價(jià)格信息 </p><p>  d) 修改商品價(jià)格信息

7、</p><p>  e) 查詢商品價(jià)格 </p><p>  f) 商品價(jià)格排行瀏覽</p><p><b> ?。?)拓展功能:</b></p><p>  a) 管理員對(duì)用戶的管理(權(quán)限管理): </p><p>  增加、刪除、修改、查詢用戶信息 </p><p>

8、<b>  b) 用戶驗(yàn)證 </b></p><p>  (3)創(chuàng)新(自擬)功能:</p><p>  程序?qū)崿F(xiàn)的其它功能由個(gè)人自擬。 </p><p>  2. 設(shè)計(jì)要求具體說明 </p><p><b>  a)基本功能: </b></p><p>  􀁺

9、; (1)創(chuàng)建商品價(jià)格信息文件:提示具有管理員權(quán)限的用戶輸入保存商品價(jià)格信息記錄的文件名,在磁盤上創(chuàng)建該文件。用戶根據(jù)提示輸入商品的序號(hào)、名稱、各項(xiàng)價(jià)格要素,如價(jià)格、折扣和會(huì)員價(jià)??梢淮涡暂斎攵鄺l商品的價(jià)格信息記錄。系統(tǒng)將商品價(jià)格信息記錄存儲(chǔ)在系統(tǒng)磁盤的文件中,以便進(jìn)行管理、查找和備份。 </p><p>  􀁺 (2)增加商品價(jià)格信息:在原有商品價(jià)格信息文件的基礎(chǔ)上增加新的商品價(jià)格信息記錄,并

10、繼續(xù)保存至磁盤。 </p><p>  􀁺 (3)刪除商品價(jià)格信息:提示輸入要進(jìn)行刪除操作的商品序號(hào),如果在文件中有該商品的價(jià)格信息存在,則將該序號(hào)所對(duì)應(yīng)的名稱、序號(hào)、各種價(jià)格要素等在對(duì)應(yīng)文件中加以刪除,并提示顧客選擇是否繼續(xù)進(jìn)行刪除操作。 </p><p>  􀁺 (4)修改商品價(jià)格信息:提示用戶輸入要進(jìn)行修改操作的商品序號(hào),如果在文件中有該商品的價(jià)格

11、信息存在,則提示顧客輸入要修改的選項(xiàng),并將結(jié)果存儲(chǔ)于文件。提示用戶是否需要繼續(xù)修改。 </p><p>  􀁺 (5)查詢商品價(jià)格:分為根據(jù)商品名稱和商品序號(hào)兩種查詢方式,分別提示客戶輸入要查詢商品信息的序號(hào)或名稱,如果在磁盤文件中有對(duì)應(yīng)得商品價(jià)格信息,則提示用戶已找到,并逐項(xiàng)列出對(duì)應(yīng)商品的價(jià)格狀況。在該功能中,也需提示用戶是否需要繼續(xù)查找,如不再繼續(xù)查詢,則返回主界面。 </p>

12、<p>  􀁺 (6)商品價(jià)格排行瀏覽:根據(jù)商品的折扣價(jià)格進(jìn)行排行,以便用戶對(duì)商品價(jià)格狀況有較為直觀方便的了解。</p><p><b>  b)拓展功能: </b></p><p>  􀁺 (1)管理員對(duì)用戶的管理:管理員對(duì)用戶進(jìn)行創(chuàng)建、增加、刪除、修改和瀏覽。管理員創(chuàng)建的用戶登錄信息存儲(chǔ)在磁盤文件中,每當(dāng)有用戶登錄系

13、統(tǒng)時(shí),系統(tǒng)根據(jù)該文件中的用戶名和密碼進(jìn)行核實(shí)判斷。 </p><p>  􀁺 (2)用戶驗(yàn)證:用戶在使用系統(tǒng)治前要進(jìn)行登錄驗(yàn)證。提示輸入用戶名和密碼。并根據(jù)其權(quán)限提供不同操作界面。如未能通過驗(yàn)證則提示用戶重新登錄,超過三次則強(qiáng)制退出系統(tǒng)??蛻舻卿浀较到y(tǒng)后允許使用的系統(tǒng)功能和用戶權(quán)限有關(guān),普通用戶只能進(jìn)行查詢和瀏覽,具有管理員權(quán)限的用戶則可進(jìn)行對(duì)商品信息的增、刪、改和用戶登錄信息的管理。</

14、p><p><b>  圖1.程序的主界面</b></p><p><b>  1 設(shè)計(jì)目的 </b></p><p>  本課程設(shè)計(jì)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)重要的實(shí)踐性環(huán)節(jié)之一,是在學(xué)生學(xué)習(xí)完《C程序設(shè)計(jì)語言現(xiàn)代算法》課程后進(jìn)行的一次全面的綜合練習(xí)。本課程設(shè)計(jì)的目的和任務(wù):</p><p>  1. 鞏

15、固和加深學(xué)生對(duì)C語言課程的基本知識(shí)的理解和掌握; </p><p>  2. 掌握C語言編程和程序調(diào)試的基本技能; </p><p>  3. 利用C語言進(jìn)行基本的軟件設(shè)計(jì); </p><p>  4. 掌握書寫程序設(shè)計(jì)說明文檔的能力 </p><p>  5. 提高運(yùn)用C語言解決實(shí)際問題的能力。 </p><p>&

16、lt;b>  2 功能描述 </b></p><p>  本程序主要是對(duì)小型商品的基礎(chǔ)操作</p><p><b>  基本功能: </b></p><p>  a) 創(chuàng)建商品價(jià)格信息文件 </p><p>  b) 增加商品價(jià)格信息 </p><p>  c) 刪除商品價(jià)格信息

17、 </p><p>  d) 修改商品價(jià)格信息 </p><p>  e) 查詢商品價(jià)格 </p><p>  f) 商品價(jià)格排行瀏覽 </p><p><b>  拓展功能: </b></p><p>  a) 管理員對(duì)用戶的管理(權(quán)限管理): 增加、刪除、修改、查詢用戶信息 </p>

18、;<p><b>  b) 用戶驗(yàn)證 </b></p><p><b>  創(chuàng)新(自擬)功能:</b></p><p>  程序?qū)崿F(xiàn)的其它功能由個(gè)人自擬。</p><p><b>  3 總體設(shè)計(jì) </b></p><p>  3.1 功能模塊設(shè)計(jì) </p&

19、gt;<p><b>  主要結(jié)構(gòu)</b></p><p><b>  、</b></p><p>  圖2.程序主要結(jié)構(gòu)圖</p><p>  3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) </p><p><b>  圖3.程序流程圖</b></p><p>

20、  函數(shù)1:創(chuàng)建商品價(jià)格信息文件 </p><p>  由主函數(shù)跳轉(zhuǎn)到該函數(shù)后</p><p>  提示管理員輸入商品名和價(jià)格,存儲(chǔ)在結(jié)構(gòu)體中。</p><p>  提示管理員是否繼續(xù)添加,若繼續(xù)添加,則循環(huán)該函數(shù),若選擇不再添加,則跳出該函數(shù)。</p><p>  函數(shù)2:增加商品價(jià)格信息 </p><p>  由主

21、函數(shù)跳轉(zhuǎn)到該函數(shù)后</p><p>  (1)檢測(cè)是否有商品,若沒有商品,則提示管理員先創(chuàng)建商品價(jià)格信息;若有商品,則統(tǒng)計(jì)有多少個(gè)商品,然后提示用戶輸入新的商品名和價(jià)格。</p><p> ?。?)將輸入信息存儲(chǔ)在結(jié)構(gòu)體中,提示管理員是否繼續(xù)添加。</p><p>  (3)若繼續(xù)添加,則循環(huán)該函數(shù),若選擇不再添加,則跳出該函數(shù)。</p><p&

22、gt;  函數(shù)3:刪除商品價(jià)格信息 </p><p>  由主函數(shù)跳轉(zhuǎn)到該函數(shù)后</p><p> ?。?)提示管理員是選擇性刪除還是全部清空,并檢測(cè)輸入的內(nèi)容是否符合要求,若符合要求,則執(zhí)行相應(yīng)操作;若不符合,則重新運(yùn)行該函數(shù)。</p><p> ?。?)若選擇的是全部清空,則直接刪除所有內(nèi)容;若選擇的是選擇性刪除,提示管理員輸入要?jiǎng)h除的商品名,并存儲(chǔ)在字符串中。

23、</p><p>  (3)檢測(cè)是否有所輸入的商品名,若沒有,則提示沒有該商品;若有該商品,則將對(duì)應(yīng)結(jié)構(gòu)體的值清空,將其后的有商品的內(nèi)容全部前移一位,將最后前移的內(nèi)容原來的結(jié)構(gòu)體值清空。跳出函數(shù)。</p><p>  函數(shù)4:修改商品價(jià)格信息 </p><p>  由主函數(shù)跳轉(zhuǎn)到該函數(shù)后</p><p> ?。?)提示管理員輸入要?jiǎng)h除的商品名

24、并存儲(chǔ)在字符串中。</p><p>  (2)用strcmp(str1,str2)搜索輸入的商品,若有,則提示管理員輸入新的商品名和價(jià)格,代替原來的內(nèi)容;若沒有該商品,則提示輸入錯(cuò)誤。</p><p><b> ?。?)跳出函數(shù)。</b></p><p>  函數(shù)5:查詢商品價(jià)格 </p><p>  由主函數(shù)跳轉(zhuǎn)到該函

25、數(shù)后</p><p> ?。?)提示管理員或用戶輸入要查詢的商品名并存儲(chǔ)在字符串中。</p><p> ?。?)用strcmp(str1,str2)搜索輸入的商品,若有,則顯示商品價(jià)格;若沒有該商品,則提示輸入錯(cuò)誤。 </p><p><b> ?。?)跳出函數(shù)。</b></p><p>  函數(shù)6: 商品價(jià)格排行

26、瀏覽</p><p>  由主函數(shù)跳轉(zhuǎn)到該函數(shù)后</p><p> ?。?)提示管理員或用戶輸選擇想要的排序方式(按價(jià)格升序或降序)。</p><p> ?。?)檢測(cè)輸入是否正確,若不正確,則重新提示,直至輸入內(nèi)容符合要求。</p><p> ?。?)分別用兩個(gè)for循環(huán)進(jìn)行相應(yīng)排序。</p><p> ?。?)按要求

27、輸出排序后內(nèi)容</p><p>  3.3 函數(shù)功能描述 </p><p><b>  1.輸入函數(shù)</b></p><p>  1)函數(shù)原形:scanf(“%d”,&*)</p><p>  2) 功 能: scanf()函數(shù)利用取地址符號(hào)&完成對(duì)程序中某個(gè)變量的賦值,進(jìn)而程序中判斷循環(huán)的功能。&

28、lt;/p><p><b>  2.輸出函數(shù)</b></p><p>  1)函數(shù)原型:printf(“ ”, );</p><p>  2) 功 能:printf( )用于在屏幕上輸出內(nèi)容.</p><p><b>  3.跳轉(zhuǎn)函數(shù)</b></p><p>  

29、1)函數(shù)原型:goto 標(biāo)識(shí)符;</p><p><b>  2)用于無條件跳轉(zhuǎn)</b></p><p><b>  4.選擇函數(shù)</b></p><p>  1)函數(shù)原型:if(){}else{},for(; ; ){},switch(){case :break;case :break;default:break;}&l

30、t;/p><p>  2) 功 能:按條件進(jìn)行選擇。</p><p><b>  5.自定義函數(shù)</b></p><p>  1)函數(shù):(1)void establish(struct lable *p);</p><p>  (2)void add(struct lable *p);</p><p

31、> ?。?)void dele(struct lable *p);</p><p> ?。?)void alter(struct lable *p);</p><p> ?。?)void search(struct lable *p);</p><p> ?。?)void chars(struct lable *p);</p><p>

32、  2) 功 能:執(zhí)行自定義的功能。</p><p><b>  4 程序?qū)崿F(xiàn) </b></p><p><b>  4.1 源碼分析 </b></p><p>  /*小型商品管理系統(tǒng)/作者:尹永賢/2012-6-28*/</p><p>  /*管理員口令為:999999/用戶口令:888

33、888*/</p><p>  #include <stdio.h></p><p>  #include <conio.h></p><p>  #include <string.h></p><p>  struct lable{</p><p>  char name[20];

34、</p><p>  int price;</p><p>  } a[1000];</p><p>  void establish(struct lable *p);</p><p>  void add(struct lable *p);</p><p>  void dele(struct lable *p);

35、</p><p>  void alter(struct lable *p);</p><p>  void search(struct lable *p);</p><p>  void chars(struct lable *p); </p><p>  int main(void)</p><p><b&g

36、t;  {</b></p><p>  int K,M=100,N,X,Y,Z;</p><p>  /*start是用來顯示主界面并提示輸入對(duì)應(yīng)字符選擇操作*/</p><p><b>  start:</b></p><p>  printf(" ************

37、*******************\n\n");</p><p>  printf(" * 小型商品管理系統(tǒng) *\n\n");</p><p>  printf(" * 1.用戶登錄 *\n\n");</p><p

38、>  printf(" * 2.商品信息管理 *\n\n");</p><p>  printf(" * 3.權(quán)限管理 *\n\n");</p><p>  printf(" * 0.退出

39、 *\n\n");</p><p>  printf(" *******************************\n\n");</p><p>  printf("請(qǐng)輸入對(duì)應(yīng)首字符選擇你要的操作!\n");</p><p>  scanf("%d&q

40、uot;,&M);</p><p>  if(M!=0&&M!=1&&M!=2&&M!=3||M==100)/*這個(gè)if語句用來檢驗(yàn)輸入的字符是否正確*/</p><p><b>  {</b></p><p>  printf("Error!\n輸入有誤!\n");&

41、lt;/p><p>  getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p>  goto start;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b>  }</b></p><p>  /*這個(gè)級(jí)聯(lián)式if語句用來驗(yàn)證用戶口令并選擇執(zhí)行相應(yīng)的操作*/</p><p><

42、;b>  if(M==0)</b></p><p><b>  {</b></p><p>  goto exit;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b>  }</b></p><p>  else if(M==1)</p><p><b&

43、gt;  {</b></p><p>  printf("請(qǐng)輸入用戶口令:");</p><p>  scanf("%d",&X);</p><p>  if(X!=888888)</p><p><b>  {</b></p><p>

44、  printf("Error!\n口令錯(cuò)誤!\n");</p><p>  getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p>  goto start;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b>  } </b></p><p><b>  user:&

45、lt;/b></p><p>  printf(" **************************************\n\n");</p><p>  printf(" * 5) 查詢商品價(jià)格 *\n\n");</p><p>  pr

46、intf(" * 6) 商品價(jià)格排行瀏覽 *\n\n");</p><p>  printf(" * 0) 退出 *\n\n");</p><p>  printf(" *****************

47、*********************\n\n");</p><p>  printf("請(qǐng)輸入對(duì)應(yīng)首字符選擇你要的操作!\n");</p><p>  scanf("%d",&N);</p><p>  if(N!=5&&N!=6&&N!=0)/*這個(gè)if語句用來檢驗(yàn)輸入

48、的字符是否正確*/</p><p><b>  {</b></p><p>  printf("Error!\n輸入錯(cuò)誤!\n");</p><p>  getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p>  goto user;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/ </p>

49、;<p><b>  }</b></p><p><b>  }</b></p><p>  else if(M==2) </p><p><b>  {</b></p><p>  printf("請(qǐng)輸入管理員口令:");</p>

50、<p>  scanf("%d",&Y);</p><p>  if(Y!=999999)/*這個(gè)if語句用來檢驗(yàn)輸入的字符是否正確*/</p><p><b>  {</b></p><p>  printf("Error!\n口令錯(cuò)誤!\n");</p><p

51、>  getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p>  goto start;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b>  } </b></p><p><b>  manager:</b></p><p>  printf("

52、 **************************************\n\n");</p><p>  printf(" * 1) 創(chuàng)建商品價(jià)格信息文件 *\n\n");</p><p>  printf(" * 2) 增加商品價(jià)格信息 *\n\n&

53、quot;);</p><p>  printf(" * 3) 刪除商品價(jià)格信息 *\n\n");</p><p>  printf(" * 4) 修改商品價(jià)格信息 *\n\n");</p><p>  printf("

54、 * 5) 查詢商品價(jià)格 *\n\n");</p><p>  printf(" * 6) 商品價(jià)格排行瀏覽 *\n\n");</p><p>  printf(" * 7)返回主界面 *

55、\n\n");</p><p>  printf(" * 0) 退出 *\n\n");</p><p>  printf(" **************************************\n\n");</p><p&

56、gt;  printf("請(qǐng)輸入對(duì)應(yīng)首字符選擇你要的操作!\n");</p><p>  scanf("%d",&N);</p><p>  if(N>7||N<0)</p><p><b>  {</b></p><p>  printf("Erro

57、r!\n輸入錯(cuò)誤!\n");</p><p>  getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p>  goto manager;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/ </p><p><b>  }</b></p><p><b>  } </b></p>

58、<p>  else if(M==3)</p><p><b>  {</b></p><p>  printf("請(qǐng)輸入管理員口令:");</p><p>  scanf("%d",&K);</p><p>  if(K!=999999)/*這個(gè)if語句用來檢

59、驗(yàn)輸入的字符是否正確*/</p><p><b>  {</b></p><p>  printf("Error!\n口令錯(cuò)誤!\n");</p><p>  getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p>  goto start;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p

60、><p><b>  }</b></p><p>  printf("是否取消權(quán)限?\n是:請(qǐng)輸入1\n否:請(qǐng)輸入0\n");</p><p>  scanf("%d",&Z);</p><p>  if(Z!=0&&Z!=1)</p><p

61、><b>  {</b></p><p>  printf("Error!輸入有誤!\n");</p><p>  getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p>  goto start;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b>  }<

62、;/b></p><p><b>  if(Z==1)</b></p><p><b>  {</b></p><p>  printf(" **************************************\n\n");</p><p>  p

63、rintf(" * 1) 創(chuàng)建商品價(jià)格信息文件 *\n\n");</p><p>  printf(" * 2) 增加商品價(jià)格信息 *\n\n");</p><p>  printf(" * 3) 刪除商品價(jià)格信息

64、 *\n\n");</p><p>  printf(" * 4) 修改商品價(jià)格信息 *\n\n");</p><p>  printf(" * 5) 查詢商品價(jià)格 *\n\n");</p><p>  p

65、rintf(" * 6) 商品價(jià)格排行瀏覽 *\n\n");</p><p>  printf(" * 7)返回主界面 *\n\n");</p><p>  printf(" * 0) 退出

66、 *\n\n");</p><p>  printf(" **************************************\n\n");</p><p>  printf("請(qǐng)輸入對(duì)應(yīng)首字符選擇你要的操作!\n");</p><p>  scanf(&quo

67、t;%d",&N);</p><p>  if(N>7||N<0)/*這個(gè)if語句用來檢驗(yàn)輸入的字符是否正確*/</p><p><b>  {</b></p><p>  printf("Error!\n輸入錯(cuò)誤!\n");</p><p>  getch();/*等待

68、你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p>  goto manager;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/ </p><p><b>  }</b></p><p><b>  }</b></p><p>  else if(Z==0)</p><p><b>

69、  {</b></p><p>  goto start;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b>  }</b></p><p><b>  }</b></p><p>  /*用switch語句選擇要執(zhí)行的操作,跳轉(zhuǎn)到最后的函數(shù)*/</p><p>&

70、lt;b>  switch(N)</b></p><p><b>  {</b></p><p><b>  case 1:</b></p><p>  establish(a);</p><p>  goto manager;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><

71、p><b>  break;</b></p><p><b>  case 2:</b></p><p><b>  add(a);</b></p><p>  goto manager;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b>  break;</

72、b></p><p><b>  case 3:</b></p><p><b>  dele(a);</b></p><p>  goto manager;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b>  break;</b></p><p>

73、<b>  case 4:</b></p><p><b>  alter(a);</b></p><p>  goto manager;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b>  break;</b></p><p><b>  case 5:</b&

74、gt;</p><p>  search(a);</p><p><b>  if(M==1)</b></p><p><b>  {</b></p><p>  goto user;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b>  }</b><

75、;/p><p>  else if(M==2)</p><p><b>  {</b></p><p>  goto manager;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b>  }</b></p><p><b>  break;</b></p

76、><p><b>  case 6:</b></p><p><b>  chars(a);</b></p><p><b>  if(M==1)</b></p><p><b>  {</b></p><p>  goto user;

77、/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b>  }</b></p><p>  else if(M==2)</p><p><b>  {</b></p><p>  goto manager;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b>  }</b

78、></p><p><b>  break;</b></p><p>  case 0:/*執(zhí)行退出*/</p><p><b>  exit:</b></p><p>  printf(" *************************************

79、**\n");</p><p>  printf(" * *\n");</p><p>  printf(" * 謝謝惠顧! *\n");</p><p>  

80、printf(" * 歡迎你的下次光臨! *\n");</p><p>  printf(" * *\n");</p><p>  printf(" ***************

81、************************\n");</p><p><b>  break;</b></p><p><b>  default:</b></p><p>  printf("Error!\n");</p><p><b>  bre

82、ak;</b></p><p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p>  /*這個(gè)函數(shù)用來新建商品的價(jià)格信息*/</p><p>  void

83、 establish(struct lable *p)</p><p><b>  {</b></p><p>  int i=0,j;</p><p><b>  do{</b></p><p>  /*對(duì)商品名和價(jià)格進(jìn)行記錄*/</p><p>  printf(&quo

84、t;goods%d\n",i+1);</p><p>  printf("name:");</p><p>  scanf("%s",p[i].name);</p><p>  printf("price(¥):");</p><p>  scanf("%d&qu

85、ot;,&p[i].price);</p><p><b>  i+=1;</b></p><p>  est:/*選擇是否繼續(xù)添加*/</p><p><b>  j=100;</b></p><p>  printf("是否繼續(xù)添加?\n是,請(qǐng)輸入1\n否,請(qǐng)輸入0\n&quo

86、t;);</p><p>  scanf("%d",&j);</p><p>  if(j!=0&&j!=1)</p><p><b>  {</b></p><p>  printf("Error!!!\n輸入有誤!\n");</p><

87、;p>  getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p><b>  goto est;</b></p><p><b>  }</b></p><p>  }while(j==1);</p><p>  printf("共創(chuàng)建商品價(jià)格信息%d個(gè)

88、\n",i);</p><p><b>  }</b></p><p>  /*這個(gè)函數(shù)用來添加商品的價(jià)格信息*/</p><p>  void add(struct lable *p)</p><p><b>  {</b></p><p><b> 

89、 int i,j;</b></p><p>  if(p[0].price==0)/*判斷是否有商品*/</p><p><b>  {</b></p><p>  printf("還沒有任何商品!\n請(qǐng)先建立商品信息!\n"); </p><p><b>  }</b&g

90、t;</p><p><b>  else</b></p><p><b>  {</b></p><p>  for(i=1;p[i].price!=0;i++)/*統(tǒng)計(jì)已有商品數(shù)*/</p><p><b>  {}</b></p><p><

91、b>  /*添加商品*/</b></p><p><b>  do{</b></p><p>  printf("goods%d\n",i+1);</p><p>  printf("name:");</p><p>  scanf("%s",

92、&p[i]);</p><p>  printf("price(¥):");</p><p>  scanf("%d",&p[i].price);</p><p><b>  i+=1;</b></p><p><b>  ad:</b><

93、;/p><p>  printf("是否繼續(xù)添加?\n是,請(qǐng)輸入1\n否,請(qǐng)輸入0\n");</p><p>  scanf("%d",&j);</p><p>  if(j!=0&j!=1)/*判斷輸入是否正確*/</p><p><b>  {</b></p&

94、gt;<p>  printf("Error!!!\n輸入有誤!\n");</p><p>  getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p><b>  goto ad;</b></p><p><b>  }</b></p><

95、p>  }while(j==1);</p><p>  printf("共創(chuàng)建商品價(jià)格信息%d個(gè)\n",i);</p><p><b>  }</b></p><p><b>  }</b></p><p>  /*這個(gè)函數(shù)用來刪除商品的價(jià)格信息*/</p&g

96、t;<p>  void dele(struct lable *p)</p><p><b>  {</b></p><p>  int i,j=-1,X=-1;</p><p>  char str[20];</p><p><b>  del:</b></p><

97、;p>  printf("請(qǐng)選擇是全部清空還是選擇性刪除!\n清空,請(qǐng)輸入:0\n選擇性刪除,請(qǐng)輸入1\n");</p><p>  scanf("%d",&j);</p><p>  /*按對(duì)應(yīng)方式刪除商品*/</p><p>  if(j!=0&&j!=1)/*判斷輸入是否正確*/</p

98、><p><b>  {</b></p><p>  printf("Error!輸入有誤!\n");</p><p>  getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p><b>  goto del;</b></p><p>

99、;<b>  }</b></p><p><b>  if(j==0)</b></p><p><b>  {</b></p><p>  for(i=0;p[i].price!=0;i++)</p><p><b>  {</b></p>

100、<p>  strcpy(p[i].name, "0");/*把字符串?dāng)?shù)組清空*/</p><p>  p[i].price=0;</p><p><b>  }</b></p><p>  printf("商品信息已清空!\n");</p><p><b>

101、  }</b></p><p>  else if(j==1)</p><p><b>  {</b></p><p>  printf("請(qǐng)輸入你要?jiǎng)h除的商品名稱:");</p><p>  scanf("%s",str);</p><p> 

102、 for(i=0;p[i].price!=0;i++)</p><p><b>  {</b></p><p>  if(strcmp(p[i].name,str)==0)/*比較兩個(gè)字符串是否相等。*/</p><p><b>  {</b></p><p>  printf("商品%

103、s已刪除!\n",str);</p><p><b>  X=i;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  for(i=X;p[i+1].price!=0;i++)</p><p&

104、gt;<b>  {</b></p><p><b>  if(X==-1)</b></p><p><b>  {</b></p><p>  printf("搜索的商品不存在!\n");</p><p><b>  break;</b&g

105、t;</p><p><b>  }</b></p><p>  p[i].name=p[i+1].name;</p><p>  p[i].price=p[i+1].price;</p><p>  strcpy(p[i+1].name, "0");/*把字符串?dāng)?shù)組清空*/</p>&

106、lt;p>  p[i+1].price=0;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /*這個(gè)函數(shù)用來改變商品的價(jià)格信息*/</p><p>

107、;  void alter(struct lable *p)</p><p><b>  {</b></p><p>  char str[20],i,j=0;</p><p>  printf("請(qǐng)輸入你要修改的商品名:");</p><p>  scanf("%s",str)

108、;</p><p>  /*選擇商品進(jìn)行修改*/</p><p>  for(i=0;p[i].price!=0;i++)</p><p><b>  {</b></p><p>  if(strcmp(p[i].name,str)==0)/*判斷兩個(gè)字符串是否相等*/</p><p><

109、b>  {</b></p><p>  printf("goods%d\n",i+1);</p><p>  printf("name:");</p><p>  scanf("%s",p[i].name);</p><p>  printf("price

110、(¥):");</p><p>  scanf("%d",&p[i].price);</p><p><b>  j=1;</b></p><p><b>  }</b></p><p><b>  }</b></p>&l

111、t;p><b>  if(j==0)</b></p><p><b>  {</b></p><p>  printf("你搜索的商品不存在!\n");</p><p><b>  }</b></p><p><b>  }</b&g

112、t;</p><p>  /*這個(gè)函數(shù)用來查看商品的價(jià)格信息*/</p><p>  void search(struct lable *p)</p><p><b>  {</b></p><p>  char str[20],i,j=0,N;</p><p>  if(p[0].price==

113、0)/*判斷是否有商品*/</p><p><b>  {</b></p><p>  printf("沒有任何商品?。?!\n");</p><p><b>  }</b></p><p><b>  else</b></p><p>

114、;<b>  {</b></p><p>  printf("請(qǐng)輸入你要查詢價(jià)格的商品名:");</p><p>  scanf("%s",str);</p><p>  for(i=0;p[i].price!=0;i++)/*對(duì)商品進(jìn)行搜索*/</p><p><b>

115、  {</b></p><p>  if(strcmp(p[i].name,str)==0)/*比較兩個(gè)字符串是否相等。*/ </p><p><b>  {</b></p><p>  printf("price(¥):%d\n",p[i].price);</p><p><b&

116、gt;  j=1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  if(j==0)</b></p><p><b>  {</b></p><p>

117、  printf("你搜索的商品不存在!\n");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /*這個(gè)函數(shù)用來按商品的價(jià)格進(jìn)行排序*/</p>

118、<p>  void chars(struct lable *p)</p><p><b>  {</b></p><p>  int i,j,t=-1,min,max;</p><p>  char str[20];</p><p><b>  {</b></p><

119、p>  cha:/*選擇排序方式*/</p><p>  printf("請(qǐng)選擇排序方式!\n按升序排列請(qǐng)輸入:0\n按降序排列請(qǐng)輸入:1\n");</p><p>  getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p>  scanf("%d",&t);</p>&l

120、t;p>  if(t!=0&&t!=1)</p><p><b>  {</b></p><p>  printf("Error!!!\n輸入有誤!\n");</p><p>  getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p><b>

121、  goto cha;</b></p><p><b>  }</b></p><p>  if(t==0)/*按價(jià)格升序排列*/</p><p><b>  {</b></p><p>  printf("按價(jià)格升序排列\(zhòng)n");</p><p&

122、gt;  min=p[0].price;</p><p>  for(i=0;p[i].price!=0;i++)</p><p>  for(j=i+1;p[j].price!=0;j++)</p><p><b>  {</b></p><p>  if(p[j].price<=p[i].price)</

123、p><p><b>  {</b></p><p>  min=p[j].price,p[j].price=p[i].price,p[i].price=min;</p><p>  strcpy(str,p[j].name);/*將后面的字符數(shù)組賦值給前面的字符數(shù)組*/ </p><p>  strcpy(p[j].name

124、,p[i].name);</p><p>  strcpy(p[i].name,str);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  else/*按價(jià)格降序

125、排列*/</p><p><b>  {</b></p><p>  printf("按價(jià)格降序排列\(zhòng)n");</p><p>  max=p[0].price;</p><p>  for(i=0;p[i].price!=0;i++)</p><p>  for(j=i+1;

126、p[j].price!=0;j++)</p><p><b>  {</b></p><p>  if(p[j].price>=p[i].price)</p><p><b>  {</b></p><p>  max=p[j].price,p[j].price=p[i].price,p[i]

127、.price=max;</p><p>  strcpy(str,p[j].name);/*將后面的字符數(shù)組賦值給前面的字符數(shù)組*/ </p><p>  strcpy(p[j].name,p[i].name);</p><p>  strcpy(p[i].name,str);</p><p><b>  }</b>&l

128、t;/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(p[0].price==0)</p><p><b>  {</b></p&g

129、t;<p>  printf("沒有任何商品?。?!\n");</p><p><b>  }</b></p><p>  else/*輸出商品信息*/</p><p><b>  {</b></p><p>  printf("**************

130、***************************\n");</p><p>  for(i=0;p[i].price!=0;i++)</p><p><b>  {</b></p><p>  printf("goods%d\n",i+1);</p><p>  printf(&quo

131、t;name:%-20s\t",p[i].name);</p><p>  printf("price:%d\n",p[i].price);</p><p><b>  }</b></p><p>  printf("*****************************************\n&

132、quot;);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  4.2 運(yùn)行結(jié)果 </b></p><p><b>  1. </b></p><p><b> 

133、 2. </b></p><p><b>  3. </b></p><p><b>  4. </b></p><p><b>  5. </b></p><p><b>  6. </b></p><p><b

134、>  7. </b></p><p><b>  5課程設(shè)計(jì)總結(jié) </b></p><p>  本程序在做的過程中有許多錯(cuò)誤,但在我的努力及同學(xué)的幫助下都被一一克服,現(xiàn)在操作本程序時(shí)可根據(jù)提示進(jìn)行相關(guān)操作,能正確輸出結(jié)果。在剛開始的幾次調(diào)試中曾經(jīng)出現(xiàn)過不能運(yùn)行、經(jīng)過多次調(diào)試,這些問題得到克服,并且使程序的功能也得到了一定的完善。</p>

135、<p>  在這次設(shè)計(jì)過程中,不僅復(fù)習(xí)課本上所學(xué)知識(shí),還通過上網(wǎng)查資料、問同學(xué)學(xué)到了課本上沒有的知識(shí)。從而啟發(fā)我,要想寫好程序,在學(xué)好課本知識(shí)的同時(shí)還需要多讀和專業(yè)有關(guān)的一些書籍,同時(shí)還需要多動(dòng)腦子,盡量把所學(xué)的知識(shí)綜合起來應(yīng)用,力爭(zhēng)寫出完美的程序。除此之外,我還得到了一些有用的教訓(xùn):寫程序時(shí)必須要細(xì)心,不能輸錯(cuò)一個(gè)字符標(biāo)點(diǎn)。在修改時(shí)要有耐心,編譯出錯(cuò)后必須逐個(gè)錯(cuò)誤去改正,絕不能心急浮躁,否則修改之后還會(huì)有新的錯(cuò)誤。<

136、/p><p><b>  致謝</b></p><p>  能夠完成這次課程設(shè)計(jì)必須感謝C語言課程老師xx(是她教會(huì)了我C語言這門課程)、xx同學(xué)……。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] C程序設(shè)計(jì)語言現(xiàn)代算法</p><p><b

137、>  附件:源代碼:</b></p><p>  /*小型商品管理系統(tǒng)/作者:尹永賢/2012-6-28*/</p><p>  /*管理員口令為:999999/用戶口令:888888*/</p><p>  #include <stdio.h></p><p>  #include <conio.h>

138、;</p><p>  #include <string.h></p><p>  struct lable{</p><p>  char name[20];</p><p>  int price;</p><p>  } a[1000];</p><p>  void esta

139、blish(struct lable *p);</p><p>  void add(struct lable *p);</p><p>  void dele(struct lable *p);</p><p>  void alter(struct lable *p);</p><p>  void search(struct lable

140、 *p);</p><p>  void chars(struct lable *p); </p><p>  int main(void)</p><p><b>  {</b></p><p>  int K,M=100,N,X,Y,Z;</p><p><b>  start:&l

141、t;/b></p><p>  printf(" *******************************\n\n");</p><p>  printf(" * 小型商品管理系統(tǒng) *\n\n");</p><p>  printf("

142、 * 1.用戶登錄 *\n\n");</p><p>  printf(" * 2.商品信息管理 *\n\n");</p><p>  printf(" * 3.權(quán)限管理 *\n\n&q

143、uot;);</p><p>  printf(" * 0.退出 *\n\n");</p><p>  printf(" *******************************\n\n");</p><p>  printf(&q

144、uot;請(qǐng)輸入對(duì)應(yīng)首字符選擇你要的操作!\n");</p><p>  scanf("%d",&M);</p><p>  if(M!=0&&M!=1&&M!=2&&M!=3||M==100)</p><p><b>  {</b></p>&l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論