物資管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第1頁
已閱讀1頁,還剩23頁未讀 繼續(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><b>  課程設(shè)計(jì)評語2</b></p><p><b>  目 錄3</b></p><p>  1.課程論文題目4</p><p>  2.程序設(shè)計(jì)思路4</p><p><

2、;b>  3.功能模塊圖5</b></p><p>  4.?dāng)?shù)據(jù)結(jié)構(gòu)設(shè)計(jì)5</p><p><b>  5.算法設(shè)計(jì)6</b></p><p><b>  6.程序代碼13</b></p><p>  7.程序運(yùn)行結(jié)果22</p><p>  8.

3、編程中遇到的困難及解決方法25</p><p>  9.總結(jié)心得及良好建議26</p><p><b>  10.致謝26</b></p><p><b>  1.課程論文題目</b></p><p><b>  物資管理系統(tǒng)</b></p><p&g

4、t;<b>  2.程序設(shè)計(jì)思路</b></p><p> ?。?)庫存和領(lǐng)料信息以文本文件的方式存放在兩個(gè)文件里,提供相應(yīng)的輸入輸出操作。</p><p>  (2)提供庫存幾種方式的查找。</p><p> ?。?)提供庫存的建立、插入。</p><p>  (4)能查找滿足領(lǐng)貨要求的信息,并修改庫存、領(lǐng)貨文本文件。

5、</p><p><b>  3.功能模塊圖</b></p><p><b>  4.?dāng)?shù)據(jù)結(jié)構(gòu)設(shè)計(jì)</b></p><p> ?。ㄒ唬┲骱瘮?shù)一般是設(shè)計(jì)簡潔,只提供輸入,處理和輸出部分的函數(shù)調(diào)用。其中各功能模塊用菜單方式選擇。其中流程圖如圖(1)</p><p><b>  圖(1)<

6、/b></p><p><b>  菜單****/</b></p><p><b>  do</b></p><p><b>  {</b></p><p>  puts("\n\t\t*****************菜單*******************

7、*\n\n");</p><p>  puts("\t\t\t1.信息輸入");</p><p>  puts("\t\t\t2.信息查詢");</p><p>  puts("\t\t\t3.信息插入");</p><p>  puts("\t\t\t4.領(lǐng)貨&

8、quot;);</p><p>  puts("\t\t\t5.信息打印");</p><p>  puts("\t\t\t6.退出");</p><p>  puts("\n\n\t\t***************************************\n");</p><

9、p>  puts("\t\t****************************** 陳文\n");</p><p>  puts("\t\t********************************2013.01.05\n");</p><p>  printf("請選擇 [1-6]:[ ]\b\b");<

10、/p><p>  scanf("%d",&n);</p><p>  if(n<1||n>6)</p><p><b>  {</b></p><p>  w1=1;getchar();}</p><p>  else w1=0;</p><

11、p><b>  }</b></p><p>  while(w1==1);</p><p>  switch(n) /***********選擇功能***********/</p><p><b>  {</b></p><p&g

12、t;  case 1:enter();break; /***********信息輸入模塊***********/</p><p>  case 2:search();break; /***********信息查詢模塊***********/</p><p>  case 3:insert();break;

13、 /***********信息添加模塊***********/</p><p>  case 4:lend();break; /***********物資領(lǐng)取模塊***********/</p><p>  case 5:print();break; /***********信息

14、打印模塊***********/</p><p>  case 6:exit(0); /***********退出模塊***********/</p><p><b>  }</b></p><p><b>  }</b></p><p>  ma

15、in() /***********主函數(shù)***********/</p><p><b>  {</b></p><p><b>  menu();</b></p><p><b>  }</b></p><

16、p> ?。ǘ└鞴δ苣K設(shè)計(jì)</p><p>  1.輸入模塊*********幾種類型,名稱等信息 *********</p><p>  /***********信息輸入模塊***********/</p><p>  void enter()</p><p><b>  {</b></p>&l

17、t;p><b>  int i,n;</b></p><p>  printf("\n產(chǎn)品種類數(shù)量(0-%d)?:",N-1);</p><p>  scanf("%d",&n);</p><p>  printf("\n請輸入數(shù)據(jù)\n\n");</p>&

18、lt;p>  for(i=0;i<n;i++)</p><p><b>  {</b></p><p>  printf("輸入第%d種產(chǎn)品數(shù)據(jù):\n",i+1);</p><p><b>  input(i);</b></p><p><b>  }<

19、;/b></p><p>  if(i!=0)save(n);</p><p>  printf_back();</p><p><b>  }</b></p><p>  2.searchmenu()*******查詢模塊*******</p><p>  /***********信息查詢

20、模塊***********/</p><p>  void searchmenu()</p><p><b>  {</b></p><p><b>  int n,w2;</b></p><p><b>  do</b></p><p><b&g

21、t;  {</b></p><p>  puts("\n\t\t*****************查詢********************\n\n");</p><p>  puts("\t\t\t1.按名稱查詢");</p><p>  puts("\t\t\t2.按日期查詢");<

22、/p><p>  puts("\t\t\t3.按名稱規(guī)格查詢");</p><p>  puts("\t\t\t4.返回");</p><p>  puts("\n\n\t\t***************************************\n");</p><p>  p

23、rintf("請選擇 [1-4]:[ ]\b\b");</p><p>  scanf("%d",&n);</p><p>  if(n<1||n>4)</p><p><b>  {</b></p><p>  w2=1;getchar();}</p&g

24、t;<p>  else w2=0;</p><p><b>  }</b></p><p>  while(w2==1);</p><p>  switch(n) /***********選擇功能***********/</p><p>&

25、lt;b>  {</b></p><p>  case 1:search_by_name();break; /***********按名稱查詢***********/</p><p>  case 2:search_by_date();break; /***********按日期查詢***********/</p>

26、<p>  case 3:search_by_nameandsize();break; /*********按名稱規(guī)格查詢*********/</p><p>  case 4:getch();menu(); /***********退出模塊***********/</p><p><b>  }</b>&l

27、t;/p><p><b>  }</b></p><p>  void search()</p><p><b>  {</b></p><p>  searchmenu();}</p><p>  /***********按名稱查詢***********/</p>

28、<p>  void search_by_name()</p><p><b>  {</b></p><p>  int j,n,m=0;char a[20];</p><p><b>  n=load();</b></p><p>  printf("\n請輸入產(chǎn)品名稱!\

29、nname:");</p><p>  scanf("%s",a);</p><p>  for(j=0;j<n;j++)</p><p>  if(strcmp(a,pro[j].p_name)==0)</p><p><b>  {</b></p><p>

30、<b>  m++;</b></p><p>  printf_data(j);</p><p><b>  }</b></p><p>  printf("\n找到%d種產(chǎn)品!",m);</p><p><b>  getch();</b></p&g

31、t;<p><b>  menu();</b></p><p><b>  }</b></p><p>  /***********按日期查詢***********/</p><p>  struct s_date</p><p><b>  {</b></

32、p><p><b>  int year;</b></p><p>  int month;</p><p><b>  int day;</b></p><p><b>  }</b></p><p><b>  s;</b><

33、/p><p>  void search_by_date()</p><p><b>  {</b></p><p>  int j,n,m=0;</p><p><b>  n=load();</b></p><p>  printf("\n輸入你想查找的產(chǎn)品日期!\

34、ndate:");</p><p>  scanf("%d.%d.%d",&s.year,&s.month,&s.day);</p><p>  for(j=0;j<n;j++)</p><p>  if((s.year==pro[j].in_date.year)&&(s.month==pr

35、o[j].in_date.month)&&(s.day==pro[j].in_date.day))</p><p><b>  {</b></p><p><b>  m++;</b></p><p>  printf_data(j);</p><p><b>  }<

36、;/b></p><p>  printf("\n找到當(dāng)天的此產(chǎn)品%d!",m);</p><p><b>  getch();</b></p><p><b>  menu();</b></p><p><b>  }</b></p>

37、<p>  /*********按名稱規(guī)格查詢*********/</p><p>  void search_by_nameandsize()</p><p><b>  {</b></p><p>  int j,n,m=0;</p><p>  char a[20],b[4];</p>&l

38、t;p><b>  n=load();</b></p><p>  printf("\n輸入你想找的產(chǎn)品名稱!\n名稱:");</p><p>  scanf("%s",a);</p><p>  printf("\n輸入你想找的產(chǎn)品庫存量!\n庫存量:");</p>

39、<p>  scanf("%s",b);</p><p>  for(j=0;j<n;j++)</p><p>  if((strcmp(a,pro[j].p_name)==0)&&(strcmp(b,pro[j].size)==0))</p><p><b>  {</b></p&

40、gt;<p><b>  m++;</b></p><p>  printf_data(j);</p><p><b>  }</b></p><p>  printf("找到%d種產(chǎn)品!",m);</p><p><b>  getch();</b

41、></p><p><b>  menu();</b></p><p><b>  }</b></p><p>  3.新物資的錄入 在此函數(shù)上對新料進(jìn)行了記錄</p><p>  /***********信息添加模塊***********/</p><p>  

42、void insert()</p><p><b>  {</b></p><p><b>  int n,c;</b></p><p><b>  n=load();</b></p><p>  puts("\n輸入一個(gè)數(shù)據(jù):\n");</p>

43、<p><b>  do</b></p><p><b>  {</b></p><p><b>  input(n);</b></p><p>  printf_data(n);</p><p>  printf("\n\n是否確信?\n1).是\n2

44、).取消并重試\n3).返回不保存 [ ]\b\b");</p><p>  scanf("%d",&c);</p><p>  if(c==1){save(n+1);printf_back();}</p><p>  else if(c!=2)menu();</p><p><b>  }&l

45、t;/b></p><p>  while(c==2);</p><p><b>  }</b></p><p>  4.領(lǐng)料模塊*****查找對所領(lǐng)聊的信息,若滿足領(lǐng)料要求,便登記一系列內(nèi)容,并修改</p><p>  /***********物資領(lǐng)取模塊***********/</p><p

46、>  struct one_pro</p><p><b>  {</b></p><p>  char p_name[20];</p><p>  char size[4];</p><p>  struct date one_date;</p><p>  long int total;

47、</p><p>  struct one_pro *next;</p><p><b>  }</b></p><p><b>  check;</b></p><p>  void lend()</p><p><b>  {</b></p&g

48、t;<p><b>  int j,n;</b></p><p><b>  n=load();</b></p><p>  printf("\n請檢查你想取的產(chǎn)品的信息!");</p><p>  printf("\n名稱(1-20letter) 庫存量(1-4letter)

49、 日期 amount\n");</p><p>  scanf("%s%s%d.%d.%d%d",&check.p_name,&check.size,&check.one_date.year,&check.one_date.month,&check.one_date.day,&check.total);</p><

50、p>  for(j=0;j<n;j++)</p><p>  if((strcmp(check.p_name,pro[j].p_name)==0)&&(strcmp(check.size,pro[j].size)==0)&&(check.one_date.year==pro[j].in_date.year)&&(check.one_date.month=

51、=pro[j].in_date.month)&&(check.one_date.day==pro[j].in_date.day)&&(check.total<=pro[j].real_s))</p><p><b>  {</b></p><p>  pro[j].real_s-=check.total;</p>&

52、lt;p>  printf_data(j);</p><p><b>  save(n);</b></p><p>  printf_back();</p><p><b>  }</b></p><p>  else printf("數(shù)據(jù)錯(cuò)誤!");</p>

53、<p><b>  }</b></p><p>  5.打印領(lǐng)料單和物資庫存清單</p><p>  /***********信息打印模塊***********/</p><p>  void print()</p><p><b>  {</b></p><p>

54、;<b>  int i,n;</b></p><p><b>  n=load();</b></p><p>  for(i=0;i<n;i++)</p><p>  printf_data(i);</p><p><b>  getch();</b></p>

55、;<p><b>  menu();</b></p><p><b>  }</b></p><p> ?。ㄈ?采用文件來存儲(chǔ)數(shù)據(jù)信息</p><p>  /***********公共函數(shù)*************/</p><p>  #include<stdio.h>

56、</p><p>  void save(int n) /***********保存函數(shù)**************/</p><p><b>  {</b></p><p><b>  FILE*fp;</b></p><p><b> 

57、 int k;</b></p><p>  if((fp=fopen("pro.dat","wb"))==NULL)</p><p><b>  {</b></p><p>  printf("\n無法打開文件!\n");</p><p><b

58、>  }</b></p><p>  for(k=0;k<n;k++)</p><p>  if(pro[k].real_s!=0)</p><p>  if(fwrite(&pro[k],sizeof(struct product),1,fp)!=1)</p><p>  printf("文件書寫錯(cuò)

59、誤!\n");</p><p>  fclose(fp);</p><p><b>  }</b></p><p>  int load() /************加載函數(shù)*************/</p><p><b>  {<

60、;/b></p><p><b>  FILE*fp;</b></p><p><b>  int k;</b></p><p>  if((fp=fopen("pro.dat","rb"))==NULL)</p><p><b>  {<

61、;/b></p><p>  printf("\n無法打開文件!\n");</p><p>  return NULL;</p><p><b>  }</b></p><p>  for(k=0;!feof(fp);k++)</p><p>  fread(&p

62、ro[k],sizeof(struct product),1,fp);</p><p>  fclose(fp);</p><p>  return(k-1);</p><p><b>  }</b></p><p>  void input(int i) /******

63、******輸入一種產(chǎn)品信息***********/</p><p><b>  {</b></p><p>  printf("\n名稱(1-20letter):");</p><p>  scanf("%s",&pro[i].p_name);</p><p>  pri

64、ntf("\n編號(hào)(1-7num):");</p><p>  scanf("%d",&pro[i].p_num);</p><p>  printf("\n庫存量(1-4letter):");</p><p>  scanf("%s",&pro[i].size);<

65、;/p><p>  printf("\n日期:");</p><p>  scanf("%d.%d.%d",&pro[i].in_date.year,&pro[i].in_date.month,&pro[i].in_date.day);</p><p>  printf("\namount[min

66、-real-max]:");</p><p>  scanf("%d-%d-%d",&pro[i].min_s,&pro[i].real_s,&pro[i].max_s);</p><p><b>  }</b></p><p>  void printf_data(int i)

67、 /************輸出信息函數(shù)***********/</p><p><b>  {</b></p><p>  printf("\n名稱\t\t編號(hào)\t規(guī)格\t日期\t\tmin-real-max\n");</p><p>  printf("%s\t%d\t%s\t%

68、d.%d.%d\t%d-%d-%d",pro[i].p_name,pro[i].p_num,pro[i].size,pro[i].in_date.year,pro[i].in_date.month,pro[i].in_date.day,pro[i].min_s,pro[i].real_s,pro[i].max_s);</p><p><b>  }</b></p>&

69、lt;p>  void printf_back()</p><p><b>  {</b></p><p>  printf("\n\n請按任意鍵回主菜單!\n");</p><p><b>  getch();</b></p><p><b>  menu();

70、</b></p><p><b>  }</b></p><p><b>  5.算法設(shè)計(jì)</b></p><p><b>  6.程序代碼</b></p><p>  #include<stdio.h></p><p>  #i

71、nclude<string.h></p><p>  #include<stdlib.h></p><p>  #include<conio.h></p><p>  #define N 100</p><p>  struct date</p><p><b>  {&l

72、t;/b></p><p><b>  int year;</b></p><p>  int month;</p><p><b>  int day;</b></p><p><b>  };</b></p><p>  struct prod

73、uct</p><p><b>  {</b></p><p>  char p_name[20];</p><p>  long int p_num[7];</p><p>  char size[4];</p><p>  struct date in_date;</p><

74、;p>  long int max_s;</p><p>  long int min_s;</p><p>  long int real_s;</p><p>  struct product *next;</p><p><b>  }</b></p><p><b>  p

75、ro[N];</b></p><p>  void enter();</p><p>  void search();</p><p>  void searchmenu();</p><p>  void search_by_name();</p><p>  void search_by_date();

76、</p><p>  void search_by_nameandsize();</p><p>  void insert();</p><p>  void lend();</p><p>  void print();</p><p>  void save(int n);</p><p>

77、;  int load();</p><p>  void input(int i);</p><p>  void printf_data(int i) ;</p><p>  void printf_back(); </p><p>  void menu() /**

78、*************菜單*************/</p><p><b>  {</b></p><p>  int n,w1; /****變量p保存選擇菜單數(shù)字,w1判斷輸入數(shù)字對應(yīng)菜單****/</p><p><b>  do</b></p>&l

79、t;p><b>  {</b></p><p>  puts("\n\t\t*****************菜單********************\n\n");</p><p>  puts("\t\t\t1.信息輸入");</p><p>  puts("\t\t\t2.信息查詢

80、");</p><p>  puts("\t\t\t3.信息插入");</p><p>  puts("\t\t\t4.領(lǐng)貨");</p><p>  puts("\t\t\t5.信息打印");</p><p>  puts("\t\t\t6.退出");

81、</p><p>  puts("\n\n\t\t***************************************\n");</p><p>  puts("\t\t****************************** 陳文\n");</p><p>  puts("\t\t**********

82、**********************2013.01.05\n");</p><p>  printf("請選擇 [1-6]:[ ]\b\b");</p><p>  scanf("%d",&n);</p><p>  if(n<1||n>6)</p><p><

83、;b>  {</b></p><p>  w1=1;getchar();}</p><p>  else w1=0;</p><p><b>  }</b></p><p>  while(w1==1);</p><p>  switch(n)

84、 /***********選擇功能***********/</p><p><b>  {</b></p><p>  case 1:enter();break; /***********信息輸入模塊***********/</p><p>  case 2:search(

85、);break; /***********信息查詢模塊***********/</p><p>  case 3:insert();break; /***********信息添加模塊***********/</p><p>  case 4:lend();break; /*

86、**********物資領(lǐng)取模塊***********/</p><p>  case 5:print();break; /***********信息打印模塊***********/</p><p>  case 6:exit(0); /***********退出模塊***********/<

87、/p><p><b>  }</b></p><p><b>  }</b></p><p>  main() /***********主函數(shù)***********/</p><p><b>  {</b>&

88、lt;/p><p><b>  menu();</b></p><p><b>  }</b></p><p>  /***********信息輸入模塊***********/</p><p>  void enter()</p><p><b>  {</b&g

89、t;</p><p><b>  int i,n;</b></p><p>  printf("\n產(chǎn)品種類數(shù)量(0-%d)?:",N-1);</p><p>  scanf("%d",&n);</p><p>  printf("\n請輸入數(shù)據(jù)\n\n"

90、;);</p><p>  for(i=0;i<n;i++)</p><p><b>  {</b></p><p>  printf("輸入第%d種產(chǎn)品數(shù)據(jù):\n",i+1);</p><p><b>  input(i);</b></p><p>

91、;<b>  }</b></p><p>  if(i!=0)save(n);</p><p>  printf_back();</p><p><b>  }</b></p><p>  /***********信息查詢模塊***********/</p><p>  vo

92、id searchmenu()</p><p><b>  {</b></p><p><b>  int n,w2;</b></p><p><b>  do</b></p><p><b>  {</b></p><p>  p

93、uts("\n\t\t*****************查詢********************\n\n");</p><p>  puts("\t\t\t1.按名稱查詢");</p><p>  puts("\t\t\t2.按日期查詢");</p><p>  puts("\t\t\t3.按

94、名稱規(guī)格查詢");</p><p>  puts("\t\t\t4.返回");</p><p>  puts("\n\n\t\t***************************************\n");</p><p>  printf("請選擇 [1-4]:[ ]\b\b");&l

95、t;/p><p>  scanf("%d",&n);</p><p>  if(n<1||n>4)</p><p><b>  {</b></p><p>  w2=1;getchar();}</p><p>  else w2=0;</p>&l

96、t;p><b>  }</b></p><p>  while(w2==1);</p><p>  switch(n) /***********選擇功能***********/</p><p><b>  {</b></p><p&

97、gt;  case 1:search_by_name();break; /***********按名稱查詢***********/</p><p>  case 2:search_by_date();break; /***********按日期查詢***********/</p><p>  case 3:search_by_nameandsiz

98、e();break; /*********按名稱規(guī)格查詢*********/</p><p>  case 4:getch();menu(); /***********退出模塊***********/</p><p><b>  }</b></p><p><b>  }</b&g

99、t;</p><p>  void search()</p><p><b>  {</b></p><p>  searchmenu();}</p><p>  /***********按名稱查詢***********/</p><p>  void search_by_name()</p

100、><p><b>  {</b></p><p>  int j,n,m=0;char a[20];</p><p><b>  n=load();</b></p><p>  printf("\n請輸入產(chǎn)品名稱!\nname:");</p><p>  sc

101、anf("%s",a);</p><p>  for(j=0;j<n;j++)</p><p>  if(strcmp(a,pro[j].p_name)==0)</p><p><b>  {</b></p><p><b>  m++;</b></p>&l

102、t;p>  printf_data(j);</p><p><b>  }</b></p><p>  printf("\n找到%d種產(chǎn)品!",m);</p><p><b>  getch();</b></p><p><b>  menu();</b&g

103、t;</p><p><b>  }</b></p><p>  /***********按日期查詢***********/</p><p>  struct s_date</p><p><b>  {</b></p><p><b>  int year;<

104、;/b></p><p>  int month;</p><p><b>  int day;</b></p><p><b>  }</b></p><p><b>  s;</b></p><p>  void search_by_date(

105、)</p><p><b>  {</b></p><p>  int j,n,m=0;</p><p><b>  n=load();</b></p><p>  printf("\n輸入你想查找的產(chǎn)品日期!\ndate:");</p><p>  sc

106、anf("%d.%d.%d",&s.year,&s.month,&s.day);</p><p>  for(j=0;j<n;j++)</p><p>  if((s.year==pro[j].in_date.year)&&(s.month==pro[j].in_date.month)&&(s.day==pr

107、o[j].in_date.day))</p><p><b>  {</b></p><p><b>  m++;</b></p><p>  printf_data(j);</p><p><b>  }</b></p><p>  printf(&q

108、uot;\n找到當(dāng)天的此產(chǎn)品%d!",m);</p><p><b>  getch();</b></p><p><b>  menu();</b></p><p><b>  }</b></p><p>  /*********按名稱規(guī)格查詢*********/&

109、lt;/p><p>  void search_by_nameandsize()</p><p><b>  {</b></p><p>  int j,n,m=0;</p><p>  char a[20],b[4];</p><p><b>  n=load();</b>&l

110、t;/p><p>  printf("\n輸入你想找的產(chǎn)品名稱!\n名稱:");</p><p>  scanf("%s",a);</p><p>  printf("\n輸入你想找的產(chǎn)品庫存量!\n庫存量:");</p><p>  scanf("%s",b);&l

111、t;/p><p>  for(j=0;j<n;j++)</p><p>  if((strcmp(a,pro[j].p_name)==0)&&(strcmp(b,pro[j].size)==0))</p><p><b>  {</b></p><p><b>  m++;</b>

112、</p><p>  printf_data(j);</p><p><b>  }</b></p><p>  printf("找到%d種產(chǎn)品!",m);</p><p><b>  getch();</b></p><p><b>  men

113、u();</b></p><p><b>  }</b></p><p>  /***********信息添加模塊***********/</p><p>  void insert()</p><p><b>  {</b></p><p><b> 

114、 int n,c;</b></p><p><b>  n=load();</b></p><p>  puts("\n輸入一個(gè)數(shù)據(jù):\n");</p><p><b>  do</b></p><p><b>  {</b></p>

115、<p><b>  input(n);</b></p><p>  printf_data(n);</p><p>  printf("\n\n是否確信?\n1).是\n2).取消并重試\n3).返回不保存 [ ]\b\b");</p><p>  scanf("%d",&c);&l

116、t;/p><p>  if(c==1){save(n+1);printf_back();}</p><p>  else if(c!=2)menu();</p><p><b>  }</b></p><p>  while(c==2);</p><p><b>  }</b>&

117、lt;/p><p>  /***********物資領(lǐng)取模塊***********/</p><p>  struct one_pro</p><p><b>  {</b></p><p>  char p_name[20];</p><p>  char size[4];</p>&

118、lt;p>  struct date one_date;</p><p>  long int total;</p><p>  struct one_pro *next;</p><p><b>  }</b></p><p><b>  check;</b></p><

119、p>  void lend()</p><p><b>  {</b></p><p><b>  int j,n;</b></p><p><b>  n=load();</b></p><p>  printf("\n請檢查你想取的產(chǎn)品的信息!")

120、;</p><p>  printf("\n名稱(1-20letter) 庫存量(1-4letter) 日期 amount\n");</p><p>  scanf("%s%s%d.%d.%d%d",&check.p_name,&check.size,&check.one_date.year,&check.one_

121、date.month,&check.one_date.day,&check.total);</p><p>  for(j=0;j<n;j++)</p><p>  if((strcmp(check.p_name,pro[j].p_name)==0)&&(strcmp(check.size,pro[j].size)==0)&&(chec

122、k.one_date.year==pro[j].in_date.year)&&(check.one_date.month==pro[j].in_date.month)&&(check.one_date.day==pro[j].in_date.day)&&(check.total<=pro[j].real_s))</p><p><b>  {<

123、/b></p><p>  pro[j].real_s-=check.total;</p><p>  printf_data(j);</p><p><b>  save(n);</b></p><p>  printf_back();</p><p><b>  }</b

124、></p><p>  else printf("數(shù)據(jù)錯(cuò)誤!");</p><p><b>  }</b></p><p>  /***********信息打印模塊***********/</p><p>  void print()</p><p><b> 

125、 {</b></p><p><b>  int i,n;</b></p><p><b>  n=load();</b></p><p>  for(i=0;i<n;i++)</p><p>  printf_data(i);</p><p><b&

126、gt;  getch();</b></p><p><b>  menu();</b></p><p><b>  }</b></p><p>  /***********公共函數(shù)*************/</p><p>  #include<stdio.h></p

127、><p>  void save(int n) /***********保存函數(shù)**************/</p><p><b>  {</b></p><p><b>  FILE*fp;</b></p><p><b>  int k

128、;</b></p><p>  if((fp=fopen("pro.dat","wb"))==NULL)</p><p><b>  {</b></p><p>  printf("\n無法打開文件!\n");</p><p><b>  

129、}</b></p><p>  for(k=0;k<n;k++)</p><p>  if(pro[k].real_s!=0)</p><p>  if(fwrite(&pro[k],sizeof(struct product),1,fp)!=1)</p><p>  printf("文件書寫錯(cuò)誤!\n&q

130、uot;);</p><p>  fclose(fp);</p><p><b>  }</b></p><p>  int load() /************加載函數(shù)*************/</p><p><b>  {</b>

131、;</p><p><b>  FILE*fp;</b></p><p><b>  int k;</b></p><p>  if((fp=fopen("pro.dat","rb"))==NULL)</p><p><b>  {</b>

132、;</p><p>  printf("\n無法打開文件!\n");</p><p>  return NULL;</p><p><b>  }</b></p><p>  for(k=0;!feof(fp);k++)</p><p>  fread(&pro[k],

133、sizeof(struct product),1,fp);</p><p>  fclose(fp);</p><p>  return(k-1);</p><p><b>  }</b></p><p>  void input(int i) /************

134、輸入一種產(chǎn)品信息***********/</p><p><b>  {</b></p><p>  printf("\n名稱(1-20letter):");</p><p>  scanf("%s",&pro[i].p_name);</p><p>  printf(&q

135、uot;\n編號(hào)(1-7num):");</p><p>  scanf("%d",&pro[i].p_num);</p><p>  printf("\n庫存量(1-4letter):");</p><p>  scanf("%s",&pro[i].size);</p>

136、;<p>  printf("\n日期:");</p><p>  scanf("%d.%d.%d",&pro[i].in_date.year,&pro[i].in_date.month,&pro[i].in_date.day);</p><p>  printf("\namount[min-real-

137、max]:");</p><p>  scanf("%d-%d-%d",&pro[i].min_s,&pro[i].real_s,&pro[i].max_s);</p><p><b>  }</b></p><p>  void printf_data(int i)

138、 /************輸出信息函數(shù)***********/</p><p><b>  {</b></p><p>  printf("\n名稱\t\t編號(hào)\t規(guī)格\t日期\t\tmin-real-max\n");</p><p>  printf("%s\t%d\t%s\t%d.%d.%

139、d\t%d-%d-%d",pro[i].p_name,pro[i].p_num,pro[i].size,pro[i].in_date.year,pro[i].in_date.month,pro[i].in_date.day,pro[i].min_s,pro[i].real_s,pro[i].max_s);</p><p><b>  }</b></p><p&g

140、t;  void printf_back()</p><p><b>  {</b></p><p>  printf("\n\n請按任意鍵回主菜單!\n");</p><p><b>  getch();</b></p><p><b>  menu();</b

141、></p><p><b>  }</b></p><p><b>  7.程序運(yùn)行結(jié)果</b></p><p><b>  8.困難,解決方法</b></p><p>  在學(xué)習(xí)C語言這門課時(shí),由于是第一次接觸計(jì)算機(jī)的課程,而且這門課本來就很抽象,因此,上課時(shí)就覺得聽不

142、懂.上程序設(shè)計(jì)課時(shí)也是一知半解,加上設(shè)計(jì)課的時(shí)間短,所以自己也沒有什么進(jìn)步。</p><p>  老師布置課程設(shè)計(jì)后,通過不斷的學(xué)習(xí)與實(shí)踐,慢慢有了一些進(jìn)步,自己在綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的方面有了很大的提高。當(dāng)今科學(xué)技術(shù)發(fā)展日新日異,計(jì)算機(jī)應(yīng)用在生活中更是無處不在。作為一個(gè)大學(xué)來說掌握計(jì)算機(jī)技術(shù)是十分重要的。</p><p><b>  9

143、.心得</b></p><p>  回顧這次的課程設(shè)計(jì),我感慨良多。從題目到編程,再從編程到調(diào)試,我學(xué)到很多很多的的東西,通過這次課程設(shè)計(jì),我懂得了學(xué)習(xí)計(jì)算機(jī)靠的是大量的上機(jī)編程調(diào)試,從中才可以不斷提高編程水平。在設(shè)計(jì)的過程中,我遇到了很多問題,這畢竟第一次做的,難免會(huì)遇到過各種各樣的問題,比如說結(jié)構(gòu)體、調(diào)試不成功…… </p><p>  我很高興在我遇到困難的時(shí)候,同學(xué)們給

溫馨提示

  • 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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論