c商店購物管理-課程設計報告_第1頁
已閱讀1頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  《C語言物品管理》</b></p><p><b>  課程設計報告</b></p><p>  2017 年 4月 27 日</p><p> 學號</p><p><b>  目錄 </b></p><p> 

2、 1設計內容…………………………………………………2</p><p>  設計要求…………………………………………3</p><p>  設計提示………………………………………….4</p><p>  2程序設計………………………………………………..5</p><p>  2.1 總體設計………………………………………..5</p&

3、gt;<p>  2.2 詳細設計……………………………………….5 </p><p>  2.2.1 程序設計流程…………………………..6</p><p>  2.2.2 程序設計代碼………………………….7 </p><p>  3 主程序設計…………………………………………….8</p><p>  3.1 界面設

4、計…………………………………………8</p><p>  3.2 文件保存函數(shù)設計………………………………8</p><p>  3.3 數(shù)據讀取函數(shù)設計………………………………9</p><p>  3.4 錄入函數(shù)設計……………………………………10</p><p>  3.5 進貨函數(shù)設計…………………………………….10<

5、/p><p>  3.6 刪除函數(shù)設計…………………………………….11</p><p>  3.7 查詢函數(shù)設計…………………………………..13</p><p>  3.8 修改函數(shù)設計…………………………………..12</p><p>  3.9 銷售函數(shù)設計…………………………………..14</p><p>

6、  4 程序清單………………………………………………14</p><p>  5 程序運行圖……………………………………………..25</p><p>  6 小結……………………………………………………..26</p><p><b>  1 設計內容</b></p><p>  設計一個商品進銷管理程序,該程序具有

7、以下功能:</p><p>  (1) 錄入商品信息;</p><p>  (2) 給定商品編號,修改該商品信息;</p><p>  (3) 給定商品編號,刪除該商品信息;</p><p>  (4) 錄入商品的進貨和銷售信息;</p><p>  (5) 給定商品編號或商品名,查看該商品及庫存信息;</p&g

8、t;<p>  (6) 統(tǒng)計功能:提供一些統(tǒng)計各類信息的功能。</p><p><b>  1.1、設計要求</b></p><p>  (1) 按照分析、設計、編碼、調試和測試過程完成應用程序;</p><p>  (2) 學習并使用流程圖等工具,并在撰寫報告中使用;</p><p>  (3) 程序的各

9、項功能在程序運行時,以菜單形式選擇并執(zhí)行;</p><p>  (4) 要求用戶輸入數(shù)據時,要給出清晰、明確的提示,包括:輸入數(shù)據的內容、格式及其結束方式等</p><p>  (5) 所有的信息存儲在一個文件或多個中,并實現(xiàn)文件讀寫操作。</p><p>  (6) 程序中用鏈表存放商品及進銷存信息并實現(xiàn)增刪減功能。</p><p><

10、;b>  1.2、設計提示</b></p><p>  (1) 提醒事件信息可以設計一個結構體類型</p><p>  (2) 自己構思并增加的除規(guī)定功能之外的新功能,酌情加分。</p><p>  (1) 程序中主要變量</p><p>  Struct goods *head 結構體指針</p><p

11、><b>  Int n,k</b></p><p>  struct goods</p><p>  {int number;</p><p>  char name[20];</p><p>  int shumu;</p><p>  float jiage;</p>&

12、lt;p>  struct goods *next;</p><p><b>  };</b></p><p><b>  int n,k;</b></p><p>  struct goods *head;</p><p><b>  等一些變量。</b></p&

13、gt;<p> ?。?) 數(shù)據輸入的形式和輸入值的范圍</p><p><b>  字符不超過20位</b></p><p><b>  整型變量輸入大于0</b></p><p>  浮點型 變量也大于0</p><p><b>  商品編號為四位整數(shù)</b>&

14、lt;/p><p> ?。?) 數(shù)據輸入的形式</p><p>  按程序運行的提示操作※</p><p> ?。?) 程序所能達到的功能及出錯處理</p><p>  該程序具有以下功能:</p><p>  (1) 錄入商品信息;</p><p>  (2) 給定商品編號,修改該商品信息;<

15、;/p><p>  (3) 給定商品編號,刪除該商品信息;</p><p>  (4) 錄入商品的進貨和銷售信息;</p><p>  (5) 給定商品編號或商品名,查看該商品及庫存信息;</p><p>  (6) 統(tǒng)計功能:提供一些統(tǒng)計各類信息的功能。</p><p><b>  2 程序設計</b&g

16、t;</p><p>  根據要求首先設計一個結構體類型,設計好界面,設計好主函數(shù)。 程序各功能通過調用子函數(shù)來實</p><p>  用switch來實現(xiàn)菜單的選擇</p><p>  一切數(shù)據信息通通存在文件中,并實現(xiàn)文件讀寫操作。 設計子函數(shù)來實現(xiàn)查詢,保存,讀取數(shù)據,刪除等操作。</p><p><b>  2.1總體設計&

17、lt;/b></p><p>  圖1 系統(tǒng)功能模塊圖</p><p><b>  2.2詳細設計</b></p><p><b>  1. 主函數(shù)</b></p><p>  主函數(shù)設計要求簡潔,只提供部分提示語和函數(shù)的調用</p><p><b>  【程

18、序】</b></p><p><b>  具體設計如下:</b></p><p><b>  結構體設計</b></p><p>  struct goods</p><p>  {int number;</p><p>  char name[20]; int

19、shumu;</p><p>  float jiage;</p><p>  struct goods *next; };</p><p><b>  主函數(shù)設計</b></p><p>  2.2.1 程序設計流程圖</p><p>  2.2.2 程序設計代碼</p><

20、p>  void main()</p><p><b>  {</b></p><p>  void jieman();</p><p>  void luru();</p><p>  struct goods *shuju();</p><p>  void shanchu(struct

21、 goods *head); </p><p>  void jinghuo(struct goods *head); </p><p>  void xiaoshu(struct goods *head);</p><p>  void xiugai(struct goods *head); </p><p>  void chaxun(s

22、truct goods *head); </p><p>  struct goods *head=NULL;</p><p>  int k=0;system("cls");</p><p><b>  jieman();</b></p><p>  printf("請選擇你要的功能鍵:&

23、quot;); scanf("%d",&k);getchar(); while(k!=0)</p><p><b>  {</b></p><p>  head=shuju();</p><p><b>  switch(k)</b></p><p>  {case 1:

24、luru();break;</p><p>  case 2:xiugai(head);break;</p><p>  case 3:chaxun(head);break;</p><p>  case 4:xiaoshu(head);break;</p><p>  case 5:jinghuo(head);break;</p>

25、;<p>  case 6:shanchu(head);break;</p><p>  case 0:exit(0);</p><p>  default:printf("please try again!\n");</p><p><b>  }</b></p><p><b&

26、gt;  jieman();</b></p><p>  printf("請選擇你要的功能鍵:");</p><p>  scanf("%d",&k);</p><p><b>  }</b></p><p><b>  }</b><

27、/p><p><b>  3 主程序設計</b></p><p><b>  3.1 界面設計</b></p><p>  void jieman()</p><p><b>  {</b></p><p>  printf("**********

28、**********************************\n");</p><p>  printf("☆☆☆★★★歡迎進入商品管理系統(tǒng)★★★☆☆☆\n"); printf("**1 *錄入信息☆☆***************★★★☆☆☆\n");</p><p>  printf("**2 *修改信息☆☆*****

29、**********★★★☆☆☆\n"); printf("**3 *查詢信息☆☆***************★★★☆☆☆\n"); printf("**4 *銷售信息☆☆***************★★★☆☆☆\n"); printf("**5 *進貨信息☆☆***************★★★☆☆☆\n"); printf("**6 *刪除信息☆☆*

30、**************★★★☆☆☆\n"); printf("**0 *退出系統(tǒng)☆☆***************★★★☆☆☆\n"); printf("☆☆☆★★★歡迎進入商品管理系統(tǒng)★★★☆☆☆\n"); printf("********************************************\n"); }</p><p&

31、gt;  3.2文件保存函數(shù)設計</p><p>  struct goods *baocun(struct goods *head)</p><p><b>  {</b></p><p>  struct goods *shuju();</p><p>  struct goods *p=NULL;</p>

32、;<p>  FILE *fp=NULL;</p><p>  char ch='\0';</p><p>  getchar();</p><p>  printf("是否保存到文件?(y/n):");</p><p>  ch=getchar();</p><p>

33、  putchar(10);</p><p>  if(ch=='y'||ch=='Y')</p><p><b>  {</b></p><p>  fp=fopen("goods.txt","wb");</p><p><b>  p=

34、head;</b></p><p>  if((fp==NULL)&&(p==NULL))</p><p><b>  {</b></p><p>  printf("讀取數(shù)據失敗!");</p><p><b>  exit(0);</b></

35、p><p><b>  }</b></p><p>  while(p!=NULL)</p><p><b>  {</b></p><p>  fprintf(fp,"%d\n%s\n%d\n%f\t",p->number,p->name,p->shumu,p-&

36、gt;jiage);</p><p>  p=p->next;</p><p><b>  }</b></p><p>  printf("保存成功!\n");</p><p>  fclose(fp);</p><p>  return(head);</p>

37、<p><b>  }</b></p><p>  else if(ch=='n'||ch=='N')</p><p><b>  {</b></p><p>  printf("信息未保存到文件!\n"); head=shuju();</p>

38、<p>  return(head);</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  printf("sorry,please try again(y/n)

39、:"); ch=getchar();</p><p>  putchar(10);</p><p><b>  }</b></p><p>  return(head);</p><p><b>  }</b></p><p>  3.3數(shù)據讀取函數(shù)設計</p

40、><p>  struct goods *shuju()</p><p><b>  {</b></p><p><b>  int n=0;</b></p><p><b>  FILE *fp;</b></p><p>  struct goods *h

41、ead=NULL,*p1,*p2;</p><p>  fp=fopen("goods.txt","rb");</p><p>  if(fp==NULL)</p><p><b>  {</b></p><p>  printf("\nsorry,讀取數(shù)據失敗!\n&q

42、uot;);</p><p><b>  exit(0);</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  p1=p2=(st

43、ruct goods *)malloc(LEN);</p><p>  fscanf(fp,"%d%s%d%f",&p1->number,p1->name,&p1->shumu,&p1->jiage);</p><p>  while(!feof(fp))</p><p><b>  {&

44、lt;/b></p><p><b>  n++;</b></p><p>  if(n==1)head=p1;</p><p>  else p2->next=p1;</p><p><b>  p2=p1;</b></p><p>  p1=(struct g

45、oods *)malloc(LEN);</p><p>  fscanf(fp,"%d%s%d%f",&p1->number,p1->name,&p1->shumu,&p1->jiage);</p><p><b>  }</b></p><p>  p2->next=N

46、ULL;</p><p>  fclose(fp);</p><p>  return(head);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  3.4錄入函數(shù)設計</b></p>

47、;<p>  void luru()</p><p>  {struct goods *shuju();</p><p>  struct goods *baocun(struct goods *head); struct goods *p1,*p2,*p3;</p><p>  head=shuju();</p><p>&l

48、t;b>  p1=head;</b></p><p>  p2=(struct goods *)malloc(LEN); printf("請輸入四位編號:");</p><p>  scanf("%d",&p2->number);</p><p>  printf("請輸入商品名:&q

49、uot;); scanf("%s",p2->name); printf("請輸入商品數(shù)量:"); scanf("%d",&p2->shumu); printf("請輸入商品價格:"); scanf("%f",&p2->jiage); if(p1==NULL)</p><p><

50、;b>  {p1=p2;</b></p><p>  p2->next=NULL; baocun(p2);</p><p><b>  return;</b></p><p><b>  }</b></p><p>  while(p1!=NULL) {p3=p1;p1=p1

51、->next;} p3->next=p2;</p><p>  p2->next=NULL; baocun(head);</p><p><b>  }</b></p><p><b>  3.5進貨函數(shù)設計</b></p><p>  void jinghuo(struct go

52、ods *head)</p><p>  {struct goods *baocun(struct goods *head);</p><p><b>  int c;</b></p><p><b>  int p;</b></p><p>  struct goods *p1,*p2;</

53、p><p>  system("cls");</p><p>  printf("請輸入四位編號:");</p><p>  scanf("%d",&p);</p><p><b>  p1=head;</b></p><p>  w

54、hile(p!=p1->number&&p1->next!=NULL)</p><p><b>  {</b></p><p><b>  p2=p1;</b></p><p>  p1=p1->next;</p><p><b>  }</b>

55、;</p><p>  if(p==p1->number)</p><p><b>  {</b></p><p>  printf("\n 商品編號 \t 商品名 \t 數(shù)量 \t 價格 \n");</p><p>  printf("%d\t\t%s\t\t%d\t\t%f\n&q

56、uot;,p1->number,p1->name,p1->shumu,p1->jiage);</p><p>  printf("請輸入該商品經貨個數(shù):"); scanf("%d",&c);</p><p>  p1->shumu=p1->shumu+c;</p><p>  pri

57、ntf("該商品經貨個數(shù):%d\n",p1->shumu); }</p><p>  baocun(head);</p><p><b>  }</b></p><p><b>  3.6刪除函數(shù)設計</b></p><p>  void shanchu(struct go

58、ods *head)</p><p>  {struct goods *p1,*p2;</p><p>  struct goods *baocun(struct goods *head); int p;</p><p>  system("cls");</p><p>  printf("請輸入四位編號:&qu

59、ot;);</p><p>  scanf("%d",&p);</p><p><b>  p1=head;</b></p><p>  while(p!=p1->number&&p1->next!=NULL)</p><p>  {p2=p1;p1=p1->

60、next;}</p><p>  if(p==p1->number)</p><p>  {printf("\n商品編號 \t商品名 \t 數(shù)量 \t 價格 \n"); printf(" %d\t\t%s\t\t%d\t\t%.2f\n",p1->number,p1->name,p1->shumu,p1->jiage);

61、</p><p>  if(p1==head) head=p1->next;</p><p>  else p2->next=p1->next;n=n-1;</p><p><b>  }</b></p><p>  printf("刪除成功!\n");</p><

62、;p>  baocun(head);</p><p><b>  }</b></p><p><b>  3.7查詢函數(shù)設計</b></p><p>  void chaxun(struct goods *head)</p><p><b>  {</b></p&g

63、t;<p>  int a,c,i=0;</p><p>  struct goods *p1,*p2;</p><p>  char t[20];</p><p>  printf(" 1*商品編號查詢\n");</p><p>  printf(" 2*商品名字查詢\n");</

64、p><p>  printf("請選擇你需要的功能鍵\n");</p><p>  scanf("%d",&a);</p><p>  getchar();</p><p><b>  if(a==1)</b></p><p><b>  {&

65、lt;/b></p><p>  printf("請輸入四位編號:");</p><p>  scanf("%d",&c);getchar();</p><p>  while(c!=0&&i==0)</p><p><b>  {</b></p

66、><p><b>  p1=head;</b></p><p>  while(c!=p1->number&&p1->next!=NULL)</p><p>  {p2=p1;p1=p1->next;}</p><p>  if(c==p1->number)</p>&l

67、t;p>  {printf("\n 商品編號 \t 名字 \t 數(shù)目 \t 價格:\n");</p><p>  printf(" %d\t %s\t %d\t %.2f\n",p1->number,p1->name,p1->shumu,p1->jiage);i=1;</p><p>  else {printf(&qu

68、ot;系統(tǒng)中無該商品記錄!press enter return!\n");getchar();system("cls");return;}</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(a==2&&i==0)</

69、p><p><b>  {</b></p><p>  system("cls");printf("請輸入商品名字:");</p><p>  scanf("%s",&t);getchar();</p><p>  while(strcmp(t,"

70、0")!=0&&i==0)</p><p><b>  {</b></p><p><b>  p1=head;</b></p><p>  if(strcmp(t,p1->name)!=0&&p1->next!=NULL)</p><p>&l

71、t;b>  {</b></p><p>  p2=p1;p1=p1->next;</p><p><b>  }</b></p><p>  if(strcmp(t,p1->name)==0)</p><p><b>  {</b></p><p&g

72、t;  printf("\n 商品編號 \t 名字 \t 數(shù)目 \t 價格:\n");</p><p>  printf(" %d\t %s\t %d\t %f\n",p1->number,p1->name,p1->shumu,p1->jiage);i=1;}</p><p>  else {printf("系統(tǒng)中無

73、該商品記錄!press enterreturn!\n");getchar();system("cls");return;} }</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  3.8修改函數(shù)設計</b></

74、p><p>  void xiugai(struct goods *head)</p><p>  {struct goods *baocun(struct goods *head); int p,i=0;</p><p>  struct goods *p1,*p2;</p><p>  system("cls");<

75、/p><p>  printf("請輸入四位編號:");</p><p>  scanf("%d",&p);</p><p>  getchar();</p><p><b>  if(p!=0)</b></p><p><b>  {<

76、/b></p><p><b>  p1=head;</b></p><p>  while(p!=p1->number&&p1->next!=NULL) {</p><p><b>  p2=p1;</b></p><p>  p1=p1->next;<

77、;/p><p><b>  }</b></p><p>  if(p==p1->number)</p><p>  {printf("\n 商品編號 \t 名字 \t 數(shù)目 \t 價格:\n");</p><p>  printf(" %d\t %s\t %d\t %f\n",p

78、1->number,p1->name,p1->shumu,p1->jiage);</p><p>  printf("請輸入要修改的新商品編號 ");</p><p>  scanf("%d",&p1->number);</p><p><b>  i=1;</b>&

79、lt;/p><p><b>  }</b></p><p><b>  if(i==1)</b></p><p><b>  {</b></p><p>  printf("修改后新商品編號 名字 數(shù)目 價格:\n");</p><p>

80、  printf("%d %s %d %f",p1->number,p1->name,p1->shumu,p1->jiage);</p><p>  printf("修改成功!\n");</p><p>  baocun(head);</p><p><b>  }</b><

81、/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  3.9銷售函數(shù)設計</b></p><p>  void xiaoshu(struct goods *head)</p><p>  {struct g

82、oods *baocun(struct goods *head); int c;</p><p><b>  int p;</b></p><p>  struct goods *p1,*p2;</p><p>  system("cls");</p><p>  printf("請輸入四位

83、編號:");</p><p>  scanf("%d",&p);</p><p>  getchar();</p><p><b>  p1=head;</b></p><p>  while(p!=p1->number&&p1->next!=NULL)

84、{</p><p><b>  p2=p1;</b></p><p>  p1=p1->next;</p><p><b>  }</b></p><p>  if(p==p1->number)</p><p><b>  {</b><

85、/p><p>  printf("\n 商品編號 \t 商品名 \t 數(shù)量 \t 價格 \n");</p><p>  printf("%d\t\t%s\t\t%d\t\t%f\n",p1->number,p1->name,p1->shumu,p1->jiage);</p><p>  printf(&qu

86、ot;請輸入該商品售貨個數(shù):");</p><p>  scanf("%d",&c);</p><p>  p1->shumu=p1->shumu-c;</p><p>  printf("該商品經貨個數(shù):%d\n",p1->shumu);</p><p><b

87、>  }</b></p><p>  baocun(head);</p><p><b>  }</b></p><p><b>  4程序清單</b></p><p>  #include<stdio.h></p><p>  #include

88、<string.h></p><p>  #include<stdlib.h></p><p>  #include<malloc.h></p><p>  #define LEN sizeof(struct goods)</p><p>  struct goods //結構體</p>&l

89、t;p>  {int number; //商品編號</p><p>  char name[20]; //商品名</p><p>  int shumu; //商品數(shù)目</p><p>  float jiage; //商品價格</p><p>  struct goods *next;</p><p><

90、b>  };</b></p><p>  int n,k; //全局變量</p><p>  struct goods *head; //全局變量</p><p>  void main() //主函數(shù)</p><p><b>  {</b></p><p>  void jie

91、man(); //界面函數(shù)聲明</p><p>  void luru(); //錄入函數(shù)聲明</p><p>  struct goods *shuju(); //數(shù)據讀取函數(shù)聲明</p><p>  void shanchu(struct goods *head); //刪除函數(shù)聲明 </p><p>  void jinghuo(str

92、uct goods *head); //進貨函數(shù)聲明 </p><p>  void xiaoshu(struct goods *head); //銷售函數(shù)聲明</p><p>  void xiugai(struct goods *head); //修改函數(shù)聲明 </p><p>  void chaxun(struct goods *head); //查詢函數(shù)聲

93、明</p><p>  struct goods *head=NULL;</p><p><b>  int k=0;</b></p><p>  system("cls");</p><p><b>  jieman();</b></p><p>  p

94、rintf("請選擇你要的功能鍵:");</p><p>  scanf("%d",&k);getchar();</p><p>  while(k!=0)</p><p><b>  {</b></p><p>  head=shuju();</p><

95、;p><b>  switch(k)</b></p><p>  {case 1:luru();break;</p><p>  case 2:xiugai(head);break;</p><p>  case 3:chaxun(head);break;</p><p>  case 4:xiaoshu(head

96、);break;</p><p>  case 5:jinghuo(head);break;</p><p>  case 6:shanchu(head);break;</p><p>  case 0:exit(0);</p><p>  default:printf("please try again!\n");<

97、;/p><p><b>  }</b></p><p><b>  jieman();</b></p><p>  printf("請選擇你要的功能鍵:");</p><p>  scanf("%d",&k);</p><p>&l

98、t;b>  }</b></p><p><b>  }</b></p><p>  struct goods *baocun(struct goods *head) //保存函數(shù) </p><p><b>  {</b></p><p>  struct goods *shuju(

99、);</p><p>  struct goods *p=NULL;</p><p>  FILE *fp=NULL;</p><p>  char ch='\0';</p><p>  getchar();</p><p>  printf("是否保存到文件?(y/n):"); /

100、/判斷是否保存 </p><p>  ch=getchar();</p><p>  putchar(10);</p><p>  if(ch=='y'||ch=='Y')</p><p><b>  {</b></p><p>  fp=fopen("g

101、oods.txt","wb");</p><p><b>  p=head;</b></p><p>  if((fp==NULL)&&(p==NULL))</p><p><b>  {</b></p><p>  printf("讀取數(shù)據失

102、敗!");</p><p><b>  exit(0);</b></p><p><b>  }</b></p><p>  while(p!=NULL)</p><p><b>  {</b></p><p>  fprintf(fp,&qu

103、ot;%d\n%s\n%d\n%f\t",p->number,p->name,p->shumu,p->jiage);</p><p>  p=p->next;</p><p><b>  }</b></p><p>  printf("保存成功!\n");</p><

104、;p>  fclose(fp);</p><p>  return(head);</p><p><b>  }</b></p><p>  else if(ch=='n'||ch=='N')</p><p><b>  {</b></p><

105、;p>  printf("信息未保存到文件!\n");</p><p>  head=shuju();</p><p>  return(head);</p><p><b>  }</b></p><p><b>  else</b></p><p&g

106、t;<b>  {</b></p><p>  printf("sorry,please try again(y/n):"); ch=getchar();</p><p>  putchar(10);</p><p><b>  }</b></p><p>  return(he

107、ad);</p><p><b>  }</b></p><p>  void chaxun(struct goods *head) 查詢函數(shù) {</p><p>  int a,c,i=0;</p><p>  struct goods *p1,*p2;</p><p>  char t[20]

108、;</p><p>  printf(" 1*商品編號查詢\n"); printf(" 2*商品名字查詢\n"); printf("請選擇你需要的功能鍵\n"); scanf("%d",&a);</p><p>  getchar();</p><p><b>  if

109、(a==1)</b></p><p><b>  {</b></p><p>  printf("請輸入四位編號:");</p><p>  scanf("%d",&c);getchar();</p><p>  while(c!=0&&i==0

110、)</p><p><b>  {</b></p><p><b>  p1=head;</b></p><p>  while(c!=p1->number&&p1->next!=NULL) //查找商品</p><p>  {p2=p1;p1=p1->next;}

111、</p><p>  if(c==p1->number)</p><p>  {printf("\n 商品編號 \t 名字 \t 數(shù)目 \t 價格:\n");</p><p>  printf(" %d\t %s\t %d\t %.2f\n",p1->number,p1->name,p1->shumu,

112、p1->jiage);i=1;}</p><p>  else {printf("系統(tǒng)中無該商品記錄!press enter return!\n");getchar();system("cls");return;}</p><p><b>  }</b></p><p><b>  }&l

113、t;/b></p><p>  if(a==2&&i==0)</p><p><b>  {</b></p><p>  system("cls");printf("請輸入商品名字:");</p><p>  scanf("%s",&

114、;t);getchar();</p><p>  while(strcmp(t,"0")!=0&&i==0)</p><p><b>  {</b></p><p><b>  p1=head;</b></p><p>  if(strcmp(t,p1->n

115、ame)!=0&&p1->next!=NULL) //查找商品</p><p><b>  {</b></p><p>  p2=p1;p1=p1->next;</p><p><b>  }</b></p><p>  if(strcmp(t,p1->name)=

116、=0)</p><p><b>  {</b></p><p>  printf("\n 商品編號 \t 名字 \t 數(shù)目 \t 價格:\n");</p><p>  printf(" %d\t %s\t %d\t %f\n",p1->number,p1->name,p1->shumu,

117、p1->jiage);i=1;}</p><p>  else {printf("系統(tǒng)中無該商品記錄!press enter return!\n");getchar();system("cls");return;}</p><p><b>  }</b></p><p><b>  }&l

118、t;/b></p><p><b>  }</b></p><p>  void jinghuo(struct goods *head) //進貨函數(shù)</p><p>  {struct goods *baocun(struct goods *head);</p><p><b>  int c;<

119、/b></p><p><b>  int p;</b></p><p>  struct goods *p1,*p2;</p><p>  system("cls");</p><p>  printf("請輸入四位編號:");</p><p>  

120、scanf("%d",&p);</p><p><b>  p1=head;</b></p><p>  while(p!=p1->number&&p1->next!=NULL) 查找商品 {</p><p><b>  p2=p1;</b></p>&

121、lt;p>  p1=p1->next;</p><p><b>  }</b></p><p>  if(p==p1->number)</p><p><b>  {</b></p><p>  printf("\n 商品編號 \t 商品名 \t 數(shù)量 \t 價格 \n&

122、quot;);</p><p>  printf("%d\t\t%s\t\t%d\t\t%f\n",p1->number,p1->name,p1->shumu,p1->jiage);</p><p>  printf("請輸入該商品經貨個數(shù):");</p><p>  scanf("%d&qu

123、ot;,&c);</p><p>  p1->shumu=p1->shumu+c;</p><p>  printf("該商品經貨個數(shù):%d\n",p1->shumu); }</p><p>  baocun(head); //保存數(shù)據</p><p><b>  }</b>

124、</p><p>  void luru()</p><p>  {struct goods *shuju(); //調用函數(shù)</p><p>  struct goods *baocun(struct goods *head); struct goods *p1,*p2,*p3;</p><p>  head=shuju();</p&

125、gt;<p><b>  p1=head;</b></p><p>  p2=(struct goods *)malloc(LEN);</p><p>  printf("請輸入四位編號:");</p><p>  scanf("%d",&p2->number);</p&

126、gt;<p>  printf("請輸入商品名:");</p><p>  scanf("%s",p2->name);</p><p>  printf("請輸入商品數(shù)量:");</p><p>  scanf("%d",&p2->shumu);<

127、/p><p>  printf("請輸入商品價格:");</p><p>  scanf("%f",&p2->jiage);</p><p>  if(p1==NULL)</p><p><b>  {p1=p2;</b></p><p>  p2

128、->next=NULL;</p><p>  baocun(p2);</p><p><b>  return;</b></p><p><b>  }</b></p><p>  while(p1!=NULL)</p><p>  {p3=p1;p1=p1->n

129、ext;}</p><p>  p3->next=p2;</p><p>  p2->next=NULL;</p><p>  baocun(head); //保存數(shù)據</p><p><b>  }</b></p><p>  void shanchu(struct goods *h

130、ead) //刪除函數(shù)</p><p>  {struct goods *p1,*p2;</p><p>  struct goods *baocun(struct goods *head); int p;</p><p>  system("cls");</p><p>  printf("請輸入四位編號:&q

131、uot;);</p><p>  scanf("%d",&p);</p><p><b>  p1=head;</b></p><p>  while(p!=p1->number&&p1->next!=NULL)// 查找商品</p><p>  {p2=p1;p1

132、=p1->next;}</p><p>  if(p==p1->number)</p><p>  {printf("\n商品編號 \t商品名 \t 數(shù)量 \t 價格 \n"); printf(" %d\t\t%s\t\t%d\t\t%.2f\n",p1->number,p1->name,p1->shumu,p1->

133、;jiage);</p><p>  if(p1==head) head=p1->next;</p><p>  else p2->next=p1->next;n=n-1;</p><p><b>  }</b></p><p>  printf("刪除成功!\n");</p&

134、gt;<p>  baocun(head);</p><p><b>  }</b></p><p>  struct goods *shuju() //數(shù)據讀取函數(shù)</p><p><b>  {</b></p><p><b>  int n=0;</b>&l

135、t;/p><p><b>  FILE *fp;</b></p><p>  struct goods *head=NULL,*p1,*p2;</p><p>  fp=fopen("goods.txt","rb");</p><p>  if(fp==NULL)</p>

136、<p><b>  {</b></p><p>  printf("\nsorry,讀取數(shù)據失敗!\n");</p><p><b>  exit(0);</b></p><p><b>  }</b></p><p><b>  el

137、se</b></p><p><b>  {</b></p><p>  p1=p2=(struct goods *)malloc(LEN);</p><p>  fscanf(fp,"%d%s%d%f",&p1->number,p1->name,&p1->shumu,&

138、p1->jiage);</p><p>  while(!feof(fp))</p><p><b>  {</b></p><p><b>  n++;</b></p><p>  if(n==1)head=p1;</p><p>  else p2->next

139、=p1;</p><p><b>  p2=p1;</b></p><p>  p1=(struct goods *)malloc(LEN);</p><p>  fscanf(fp,"%d%s%d%f",&p1->number,p1->name,&p1->shumu,&p1->

140、;jiage);</p><p><b>  }</b></p><p>  p2->next=NULL;</p><p>  fclose(fp);</p><p>  return(head);</p><p><b>  }</b></p><

141、p><b>  }</b></p><p>  void jieman() 界面函數(shù)</p><p><b>  {</b></p><p>  printf("********************************************\n");</p><p&g

142、t;  printf("☆☆☆★★★歡迎進入商品管理系統(tǒng)★★★☆☆☆\n"); printf("**1 *錄入信息☆☆***************★★★☆☆☆\n"); printf("**2 *修改信息☆☆***************★★★☆☆☆\n"); printf("**3 *查詢信息☆☆***************★★★☆☆☆\n"); pr

143、intf("**4 *銷售信息☆☆***************★★★☆☆☆\n"); printf("**5 *進貨信息☆☆***************★★★☆☆☆\n"); printf("**6 *刪除信息☆☆***************★★★☆☆☆\n"); printf("**0 *退出系統(tǒng)☆☆***************★★★☆☆☆\n")

144、; </p><p>  printf("☆☆☆★★★歡迎進入商品管理系統(tǒng)★★★☆☆☆\n"); printf("********************************************\n");</p><p><b>  }</b></p><p>  void xiaoshu(str

145、uct goods *head) 銷售函數(shù)</p><p>  {struct goods *baocun(struct goods *head);</p><p><b>  int c;</b></p><p><b>  int p;</b></p><p>  struct goods *p

146、1,*p2;</p><p>  system("cls");</p><p>  printf("請輸入四位編號:");</p><p>  scanf("%d",&p);</p><p>  getchar();</p><p><b>

147、  p1=head;</b></p><p>  while(p!=p1->number&&p1->next!=NULL) 查找商品 {</p><p><b>  p2=p1;</b></p><p>  p1=p1->next;</p><p><b>  }&

148、lt;/b></p><p>  if(p==p1->number)</p><p><b>  {</b></p><p>  printf("\n 商品編號 \t 商品名 \t 數(shù)量 \t 價格 \n");</p><p>  printf("%d\t\t%s\t\t%d\t

溫馨提示

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

評論

0/150

提交評論