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

下載本文檔

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

文檔簡介

1、<p><b>  《C語言程序設計》</b></p><p><b>  課程設計報告</b></p><p>  題 目: 商品訂購系統設計 </p><p>  院 (系): 計算機與電子系 </p><p>  專業班級:

2、 電子科學與技術1101班 </p><p>  學生姓名: </p><p>  學 號: </p><p>  指導教師: </p><p>  20 1

3、2 年 6 月 18 日至20 12 年 6 月 22 日</p><p>  C語言程序設計 課程設計任務書</p><p><b>  目 錄</b></p><p>  1 課程設計目的1</p><p>  2 課程設計題目描述和要求1</p><p>  3 課程設

4、計報告內容2</p><p>  3.1 功能需求分析2</p><p>  3.2 總體設計2</p><p>  3.2.1 功能模塊設計2</p><p>  3.2.2 程序處理流程2</p><p>  3.3 詳細設計與程序實現2</p><p>  3.3.1 預處理

5、2</p><p>  3.3.2 數據結構定義2</p><p>  3.3.3 函數及變量聲明3</p><p>  3.3.4 main函數3</p><p>  3.3.5 主要處理函數5</p><p>  3.3.6 輔助函數功能介紹7</p><p>  3.4 系統實現

6、截圖10</p><p><b>  4 總結11</b></p><p><b>  1 課程設計目的</b></p><p>  本課程設計是利用C語言理論和實驗中學到的編程知識和編程技巧,通過布置具有一定難度、一定編程量的課程設計題目,使學生通過課程設計掌握高級編程語言的知識和編程技術,掌握程序設計的思想和方法,

7、具備利用計算機求解實際問題的能力。</p><p>  C語言課程設計的目的和任務主要有一下幾點:</p><p>  鞏固和加深學生對C語言課程的基本知識的理解和掌握;</p><p>  掌握C語言編程和程序調試的基本技能;</p><p>  利用C語言進行基本的軟件設計的基本思路和方法</p><p>  提高

8、運用C語言解決實際問題的能力;</p><p>  掌握書寫程序設計說明文檔的能力。</p><p>  2 課程設計題目描述和要求</p><p>  題目:商品訂購系統設計</p><p>  功能:屏幕上出現一個界面,讓顧客或輸入商品名稱,或商品型號,或選擇列表進而輸入商品編號都可以,如查到所選商品,則列出商品編號、商品名稱、商品型號、

9、商品價格、商品產地、庫存數量和已訂購數量;然后給出選購流程:所選商品編號—列出對應商品的信息—要求顧客輸入郵寄地址信息—確認訂購,是否繼續選購其它商品,列出所有選訂商品,再次確認訂購。</p><p><b>  分步實施:</b></p><p>  1、步完成總體設計,搭好框架,確定人機對話的界面,確定函數個數;</p><p>  2、

10、完成最低要求:建立一個小系統,包括10種產品能供顧客選擇。</p><p>  3、進一步要求:完成全部功能的系統。</p><p><b>  要求:</b></p><p>  1、用C語言實現系統;</p><p>  2、函數功能要劃分好(結構化程序設計);</p><p>  3、界面友

11、好(良好的人機交互),加必要的注釋;</p><p>  4、要提供程序測試方案,程序一定要經得起測試,寧可功能少一些,也要能運行起來,不能運行的程序是沒有價值的。</p><p>  3 課程設計報告內容</p><p>  3.1 功能需求分析</p><p>  商品管路系統的開發工具采用Visual C++6.0.主要功能是先通過使用

12、結構體及鏈表來描述商品信息,然后打印此信息,再通過人機互動界面實現顧客對商品的選購,并用結構體及鏈表實現此選購商品的記錄及打印。</p><p><b>  3.2 總體設計</b></p><p>  3.2.1 功能模塊設計</p><p> ?。?)調用 creat 函數實現所需銷售商品信息的存儲。</p><p>

13、; ?。?)再調用 show 函數實現對以上商品信息的打印。</p><p> ?。?)調用opition函數通過人機互動界面實現顧客選購及對選購信息的記錄。</p><p> ?。?)最后通過調用outpu函數實現對顧客所訂購商品信息的打印及確定工作。</p><p>  3.2.2 程序處理流程</p><p>  首先打印菜單,通過sw

14、itch分支結構實現人機互動界面實現顧客對商品信息的存儲,打印及選購和確認工作。</p><p>  3.3 詳細設計與程序實現</p><p><b>  3.3.1 預處理</b></p><p>  #include "stdio.h" /*I/O函數*/</p><p>  #include

15、"stdlib.h" /*其它說明*/</p><p>  #include "string.h" /*字符串函數*/</p><p>  #include "ctype.h" /*字符操作函數*/</p><p>  #include "malloc.h" /*內存分配函數*/<

16、/p><p>  3.3.2 數據結構定義</p><p>  struct goods /*商品信息*/</p><p>  {int code; /*編 號*/</p><p>  char name[20]; /*名 稱*/</p><p>  char

17、 place[10]; /*產 地*/</p><p>  float price; /*單 價*/</p><p>  char size; /*型 號*/</p><p>  int putku_n; /*庫存數量*/</p><p>  int sellku_

18、n; /*已訂購數量*/</p><p>  }xinxi[10]={{1,"yumaoqiu","china",8,'a',100,45},</p><p>  {2,"nike","shanxi",400,'b',200,45},</p><p

19、>  {3,"lanqiu","wennan",1.5,'c',398,300},</p><p>  {4,"shoutao","fuping",50,'d',5000,4000},</p><p>  {5,"qianbao","japan

20、",300,'e',200,100},</p><p>  {6,"gangbi","hubei",30,'f',500,435},</p><p>  {7,"yuanzhubi","goodshai",23,'g',34,13},</p>

21、<p>  {8,"xiangpi","jiangsu",1.0,'h',3000,50},</p><p>  {9,"xiaodao","liaoning",0.5,'i',5000,2},</p><p>  {10,"guangpan",

22、"xuezheng",34,'j',2,78}};</p><p>  struct order /*訂購商品信息*/</p><p>  {int code; /*編 號*/</p><p>  char name[20]; /*名 稱*/</p>&

23、lt;p>  char place[10]; /*產 地*/</p><p>  float price; /*單 價*/</p><p>  char size; /*型 號*/</p><p>  int num; /*訂購數量*/</p>&l

24、t;p>  char adderss[20]; /*地 址*/</p><p>  }dinggou[10];</p><p>  3.3.3 函數及變量聲明</p><p>  void man(); /*訂貨信息文件*/</p><p>  void save(); /

25、*商品信息文件*/</p><p>  void goodname(); /* 輸入商品名稱*/</p><p>  void goodnum(); /* 輸入商品編號 */</p><p>  void goodlist(); /* 選擇商品列表*/</p><p>  void caidan();

26、 /* 選擇商品菜單*/</p><p>  void xuanding(); /* 訂購商品*/</p><p>  3.3.4 main函數</p><p>  void main()</p><p>  { int ch;</p><p>  printf("\n

27、 ******************************************************************\n *\t\t\t\t\t\t\t\t *\n");</p><p>  printf(" * ▏▎▍ ▌ ▋ ▊ █ ▇ ▆ ▅ ▄ ▃ ▂ ▁ *");</p>

28、<p>  printf("\n *\t\t\t\t\t\t\t\t *\n * 歡迎\t\t\t\t\t\t *\n *\t\t\t\t\t\t\t\t *\n");</p><p>  printf(" *\t\t 進入 ....\t\t\t\t * ");</p

29、><p>  printf("\n *\t\t\t\t\t\t\t\t *\n");</p><p>  printf(" * -商品訂購系統- *\n *\t\t\t\t\t\t\t\t *\n ");</p><p>  printf(&qu

30、ot; * ▁ ▂ ▃ ▄ ▅ ▆ ▇ █ ▉ ▊ ▋ ▌ ▍▏ *\n");</p><p>  printf(" *\t\t\t\t\t\t\t\t *\n ******************************************************************");</

31、p><p>  printf("\n\n\tPlease press any key to continue:");</p><p>  getchar(); </p><p>  system("cls");</p><p>  printf("\n\n——★—☆——★—☆——☆—★——☆—★—

32、—☆—☆——★—\n");</p><p>  printf("\n\t\t\t 商品訂購系統\t\n\n");</p><p>  printf("\t 1 →輸入名稱查詢\n\n");</p><p>  printf("\t 2 →輸入編號查詢\n\n");</p>

33、<p>  printf("\t 3 →顯示所有商品信息\n\n");</p><p>  printf("\t 0 →退出本系統\n\n");</p><p>  printf(" \t\t ——☆—★——☆—★——☆—☆——★—☆——★—☆——★—");/*菜單選擇界面*/ </p><p&

34、gt;  printf(" 張穎業 電子1101 20111185001");</p><p>  printf("\n\n");</p><p>  printf("\t請選擇您所要的操作:");</p><

35、p>  ch=getchar();</p><p>  system("cls");</p><p>  switch(ch)</p><p><b>  {</b></p><p>  case'1':goodname();break;</p><p>

36、  case'2':goodnum();break;</p><p>  case'3':goodlist();break;</p><p>  case'0': printf("謝謝使用本系統\n");break;</p><p><b>  } </b></p>

37、<p>  printf("謝謝使用本系統");</p><p><b>  } </b></p><p>  3.3.5 主要處理函數</p><p>  void goodname() /* 輸入商品名稱查詢*/</p><p>  { int i;char m;<

38、/p><p>  char name[20];</p><p>  printf("請輸入所選商品名稱:\n");</p><p>  scanf("%s",name);</p><p>  for(i=0;i<10;i++)</p><p>  if(strcmp(xinxi

39、[i].name,name)==0)</p><p><b>  {s=i;</b></p><p>  printf("商品編號:%8d\n商品名稱:%12s\n商品產地:%12s\n商品單價:%10.2f\n商品型號:%8c\n庫存數量:%8d\n已訂購數量:%8d\n",xinxi[s].code,xinxi[s].name,xinxi[s]

40、.place,xinxi[s].price,xinxi[s].size,xinxi[s].putku_n,xinxi[s].sellku_n);</p><p><b>  break;} </b></p><p>  xuanding(); /*確認訂購*/</p><p>  printf("是否選購其他商品?\n輸入商品名稱選定

41、<Y>\n輸入商品編號選定<N>\n通過商品列表選定<L>\n退出系統<P>\n");</p><p>  getchar();</p><p>  scanf("%c",&m);</p><p>  system("cls");</p><

42、p>  if(m=='Y')</p><p>  goodname();</p><p>  if(m=='N')</p><p>  goodnum();</p><p>  if(m=='L')</p><p>  goodlist();</p>

43、<p><b>  }</b></p><p>  void goodnum() /* 輸入商品編號 */</p><p><b>  { </b></p><p>  int i,j;char m;</p><p>  printf("請輸入商品編號:\n&qu

44、ot;);</p><p>  scanf("%d",&j);</p><p>  for(i=0;i<10;i++)</p><p>  { if(xinxi[i].code==j)</p><p><b>  {s=i;</b></p><p>  print

45、f("商品編號:%8d\n商品名稱:%12s\n商品產地:%12s\n商品單價:%10.2f\n商品型號:%8c\n庫存數量:%8d\n已訂購數量:%8d\n",xinxi[i].code,xinxi[i].name,xinxi[i].place,xinxi[i].price,xinxi[i].size,xinxi[i].putku_n,xinxi[i].sellku_n);</p><p>

46、<b>  break;}}</b></p><p>  xuanding(); /*確認訂購*/</p><p>  printf("是否選購其他商品?\n輸入商品名稱選定<Y>\n輸入商品編號選定<N>\n通過商品列表選定<L>\n退出系統<P>\n");</p><p>

47、  getchar();</p><p>  scanf("%c",&m);</p><p>  system("cls");</p><p>  if(m=='Y')</p><p>  goodname();</p><p>  if(m=='

48、N')</p><p>  goodnum();</p><p>  if(m=='L')</p><p>  goodlist();</p><p><b>  }</b></p><p>  void goodlist() /* 選擇商品列表*/</

49、p><p><b>  {</b></p><p><b>  int i;</b></p><p>  int j;char m;</p><p>  for(i=0;i<10;i++)</p><p><b>  { </b></p>

50、<p>  printf("商品編號:%8d\n商品名稱:%12s\n商品產地:%12s\n商品單價:%10.2f\n商品型號:%8c\n庫存數量:%8d\n已訂購數量:%8d\n",xinxi[i].code,xinxi[i].name,xinxi[i].place,xinxi[i].price,xinxi[i].size,xinxi[i].putku_n,xinxi[i].sellku_n);<

51、/p><p><b>  }</b></p><p>  printf("請輸入商品編號選擇: ");</p><p>  scanf("%d",&j);</p><p>  for(i=0;i<10;i++)</p><p>  { if(xin

52、xi[i].code==j)</p><p><b>  { s=i;</b></p><p>  printf("商品編號:%8d\n商品名稱:%12s\n商品產地:%12s\n商品單價:%10.2f\n商品型號:%8c\n庫存數量:%8d\n已訂購數量:%8d\n",xinxi[s].code,xinxi[s].name,xinxi[s].pl

53、ace,xinxi[s].price,xinxi[s].size,xinxi[s].putku_n,xinxi[s].sellku_n);</p><p><b>  break;}</b></p><p><b>  } </b></p><p>  xuanding(); /*確認訂購*/</p><

54、;p>  printf("是否選購其他商品?\n輸入商品名稱選定<Y>\n輸入商品編號選定<N>\n通過商品列表選定<L>\n退出系統<P>\n");</p><p>  getchar();</p><p>  scanf("%c",&m);</p><p>  

55、system("cls");</p><p>  if(m=='Y')</p><p>  goodname();</p><p>  if(m=='N')</p><p>  goodnum();</p><p>  if(m=='L')</p

56、><p>  goodlist();</p><p><b>  }</b></p><p>  3.3.6 輔助函數功能介紹</p><p>  void xuanding()</p><p>  { char n,w;char add[20];int g;</p><p>

57、  printf("是否訂購本商品?Y/N\n");</p><p>  getchar();</p><p>  scanf("%c",&n);</p><p>  printf("請輸入你想訂購的本商品數量");</p><p>  scanf("%d"

58、;,&g);</p><p>  if(n=='Y')</p><p>  {if(xinxi[s].putku_n!=0)</p><p>  {if(xinxi[s].putku_n>=g)</p><p>  {printf("請輸入您的地址:(請使用英文填寫)\n");</p&g

59、t;<p>  scanf("%s",&add);</p><p>  system("cls");</p><p>  dinggou[q].code=xinxi[s].code;</p><p>  strcpy(dinggou[q].name,xinxi[s].name);</p>&

60、lt;p>  strcpy(dinggou[q].place,xinxi[s].place);</p><p>  dinggou[q].price=xinxi[s].price;</p><p>  dinggou[q].size=xinxi[s].size;</p><p>  strcpy(dinggou[q].adderss,add);</p&g

61、t;<p>  dinggou[q].num=g;</p><p><b>  q=q+1; </b></p><p>  printf("您已經選購以下商品:\n");</p><p>  for(w=0;w<q;w++)</p><p>  printf("商品編號

62、 商品名稱 商品產地 商品單價 商品型號 訂購人地址 訂購數量:\n%4d%12s%12s%10.2f%8c%12s %8d\n",dinggou[w].code,dinggou[w].name,dinggou[w].place,dinggou[w].price,dinggou[w].size,dinggou[w].adderss,dinggou[w].num);</p><p>  }e

63、lse printf("你訂購的數量超過庫存數量,請重新訂購");}</p><p>  if(xinxi[s].putku_n==0)</p><p>  printf("對不起你訂購的商品已經缺貨,請選購其他商品\n");</p><p>  } xinxi[s].putku_n=xinxi[s].putku_n-g;&l

64、t;/p><p>  xinxi[s].sellku_n=xinxi[s].sellku_n+g;</p><p><b>  save();</b></p><p><b>  man();</b></p><p><b>  }</b></p><p>

65、  void save() /*商品信息文件*/</p><p><b>  {</b></p><p><b>  int i;</b></p><p><b>  FILE *fp;</b></p><p>  if((fp=fopen(&qu

66、ot;goodspin_list","w+"))==NULL)</p><p>  {printf("can't open file");</p><p><b>  return;</b></p><p><b>  }</b></p><p&

67、gt;  for(i=0;i<10;i++)</p><p>  {if (fwrite(&xinxi[i],sizeof(struct goods),1,fp)!=1)</p><p>  printf("file write error\n");</p><p><b>  }</b></p>

68、<p>  fclose(fp);</p><p><b>  }</b></p><p>  void man() /*訂貨信息文件*/</p><p><b>  {</b></p><p><b>  int i;</b></p&g

69、t;<p><b>  FILE *ft;</b></p><p>  if((ft=fopen("dinghuo_list","w+"))==NULL)</p><p>  {printf("can't open file");</p><p><b>

70、;  return;</b></p><p><b>  }</b></p><p>  for(i=0;i<10;i++)</p><p>  {if (fwrite(&dinggou[i],sizeof(struct order),1,ft)!=1)</p><p>  printf(&qu

71、ot;file write error\n");</p><p><b>  }</b></p><p>  fclose(ft);</p><p><b>  }</b></p><p>  3.4 系統實現截圖</p><p> ?。?)進入首頁按任意鍵進入下一

72、步</p><p> ?。?)進入商品訂購系統主菜單</p><p> ?。?)選擇“1”進入輸入名稱查詢界面</p><p> ?。?)選擇“2”進入商品編號查詢界面</p><p> ?。?)選擇“3”進入商品所有信息查看界面</p><p> ?。?)選擇“0”退出系統</p><p>&

73、lt;b>  4 總結</b></p><p>  首先得感謝老師及同學對我的幫助。一開始編的時候漏洞百出,讓我很著急,不過在完完整整的做完一個程序后我對程序的整體性有了一個明確的認識做程序必須注意程序前后的聯系,要具有清晰的思路,程序要具有層次。對整體性的把握至關重要學習計算機語言最重要的就是上機操作,我深感自己動手能力比較差,在以后學習中還必須多多上機調試程序,從實踐中多積累經驗,為以后工作

溫馨提示

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

評論

0/150

提交評論