c語言課程設(shè)計(jì)-- 商品庫存管理系統(tǒng)_第1頁
已閱讀1頁,還剩25頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  課程設(shè)計(jì)說明書(論文)</p><p>  題 目 商品庫存管理系統(tǒng) </p><p>  課 程 名 稱 高級(jí)語言程序設(shè)計(jì)(C) </p><p>  院(系、部、中心) 通信工程 </p><p>  專 業(yè) 多媒體通信

2、 </p><p>  班 級(jí) </p><p>  學(xué) 生 姓 名 </p><p>  學(xué) 號(hào) </p><p>  設(shè) 計(jì) 地 點(diǎn)

3、 </p><p>  指 導(dǎo) 教 師 </p><p>  設(shè)計(jì)起止時(shí)間:2012年3月5日至2012年3月9日</p><p><b>  目 錄</b></p><p>  1.課程設(shè)計(jì)題目1</p><p>  2.軟件功能描述

4、1</p><p>  3.軟件總體設(shè)計(jì)2</p><p>  3.1數(shù)據(jù)結(jié)構(gòu)描述與定義2</p><p><b>  3.2模塊設(shè)計(jì)2</b></p><p>  4.測(cè)試結(jié)果與分析3</p><p>  5.課程設(shè)計(jì)總結(jié)3</p><p>  附錄:源程序清

5、單4</p><p><b>  1.課程設(shè)計(jì)題目</b></p><p><b>  商品庫存管理系統(tǒng)</b></p><p><b>  要求:設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)</b></p><p>  實(shí)現(xiàn)商品的入庫,出庫,查詢等功能,讀/寫文件功能</p><p&g

6、t;  整個(gè)系統(tǒng)均用C語言實(shí)現(xiàn);</p><p>  可以利用數(shù)組、指針、鏈表來實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);</p><p>  管理系統(tǒng)具有輸入、顯示、查詢、刪除、排序、插入、保存、讀取等基本功能;</p><p>  系統(tǒng)的各個(gè)功能模塊都用函數(shù)的形式來表示;</p><p>  可以將信息保存在文件中;</p><p>  

7、可以將信息從文件中讀取出來。</p><p><b>  2.軟件功能描述</b></p><p>  商品庫存管理系統(tǒng)軟件為人們提供了一個(gè)對(duì)商品價(jià)格信息了解,對(duì)商品的錄入錄出功能的使用提供了一個(gè)很好的平臺(tái)。并給人們友好的操作界面,功能需求描述如下:</p><p><b>  提供系統(tǒng)主控平臺(tái):</b></p>

8、;<p>  人們進(jìn)入系統(tǒng)主控平臺(tái),界面中只顯示其含有的功能供人們選擇。當(dāng)顧客在系統(tǒng)的提示下輸入選項(xiàng)代碼時(shí),系統(tǒng)會(huì)調(diào)用相應(yīng)的子程序供人們選擇的功能。因此,系統(tǒng)主控平臺(tái)應(yīng)對(duì)系統(tǒng)提供的功能用列表的方式清晰的給人們呈現(xiàn),并能正確的接受顧客的輸入。</p><p><b>  創(chuàng)建商品信息文件:</b></p><p>  人們根據(jù)提示輸入商品編號(hào)、名稱、數(shù)量、

9、保質(zhì)期、生產(chǎn)地、供貨商。可一次性輸入多條商品信息記錄。系統(tǒng)將商品信息記錄存儲(chǔ)在系統(tǒng)磁盤的文件中,以便進(jìn)行管理和查找。</p><p><b>  添加商品信息:</b></p><p>  可在原有商品信息文件的基礎(chǔ)上增加新的商品信息記錄,并繼續(xù)保存在磁盤中。在增加新信息記錄的過程中,系統(tǒng)同樣會(huì)提示人們相應(yīng)地填入商品的編號(hào)、名稱、數(shù)量、保質(zhì)期、生產(chǎn)地、供貨商。<

10、/p><p><b>  刪除商品信息:</b></p><p>  根據(jù)人們輸入要進(jìn)行刪除操作的商品的編號(hào),如果在文件中有該商品的信息記錄存在,則將提示人們是否確認(rèn)將其刪除,若確認(rèn),則將該編號(hào)所對(duì)應(yīng)的名稱等各種信息在對(duì)應(yīng)文件中加以刪除。如果該商品不存在,則將顯示“該商品不存在!按任意鍵退出”。</p><p><b>  修改商品信息:

11、</b></p><p>  提示人們輸入要進(jìn)行修改操作的商品編號(hào),如果在文件中有該商品的信息記錄存在,則將提示人們輸入該編號(hào)的對(duì)應(yīng)的商品編號(hào)、名稱、數(shù)量、報(bào)質(zhì)期、生產(chǎn)地、提供商等需要修改的選項(xiàng),并將修改結(jié)果存儲(chǔ)于文件。</p><p><b>  查詢商品信息:</b></p><p>  提示人們輸入要查詢的商品信息的編號(hào),如果

12、在磁盤文件中有對(duì)應(yīng)商品信息記錄,則將查詢的商品的信息逐項(xiàng)列出。查詢完畢后可按任意鍵返回主鍵面。</p><p><b>  顯示商品信息:</b></p><p>  當(dāng)人們選擇了顯示商品信息該選項(xiàng)后,系統(tǒng)會(huì)自動(dòng)進(jìn)入一個(gè)界面,一個(gè)將之前存儲(chǔ)在這個(gè)文件中的所以商品的各項(xiàng)信息都逐個(gè)陳列出來的界面。</p><p><b>  排序全部信息

13、:</b></p><p>  當(dāng)人們選擇了排序全部信息該選項(xiàng)后,系統(tǒng)會(huì)自動(dòng)進(jìn)入一個(gè)界面,這個(gè)界面中的全部商品信息記錄都按照編號(hào)排列(從小到大),以便人們能更直觀的瀏覽到全部的商品信息。</p><p><b>  3.軟件總體設(shè)計(jì)</b></p><p><b>  1、系統(tǒng)模塊結(jié)構(gòu)圖</b></p&g

14、t;<p>  -----系統(tǒng)模塊結(jié)構(gòu)圖-----</p><p><b>  2、模塊流程圖</b></p><p>  -----流程圖-----</p><p>  3、程序中各項(xiàng)功能具體定義:</p><p>  4、程序中各項(xiàng)功能描述:</p><p>  一:頭文件,變量

15、定義,函數(shù)的聲明,定義結(jié)構(gòu)體</p><p>  定義結(jié)構(gòu)體 typedef struct pro 為結(jié)構(gòu)體命名 Elemsn</p><p>  對(duì)系統(tǒng)所使用的變量進(jìn)行定義,對(duì)函數(shù)進(jìn)行聲明</p><p>  二:商品庫存管理系統(tǒng)主界面設(shè)計(jì)</p><p>  聲明函數(shù)void main(),對(duì)整個(gè)系統(tǒng)進(jìn)行選擇使用說明</p>

16、<p>  三:創(chuàng)建商品庫存信息</p><p>  聲明函數(shù)creatlink(),用Elemsn *creatlink(void)創(chuàng)建鏈表信息</p><p>  四:商品庫存信息的添加</p><p>  聲明void insert()插入商品信息,先通過判斷該商品是否存在,若不存在則繼續(xù)輸入,若是存在則跳出,重新循環(huán)</p><

17、;p><b>  五:保存信息</b></p><p>  void savelink()用于保存鏈表信息</p><p>  六:商品庫存信息的刪除</p><p>  聲明void delet()實(shí)現(xiàn)商品信息刪除,通過編號(hào)對(duì)比確定要?jiǎng)h除的信息,然后用后一個(gè)替換掉。</p><p>  七:商品庫存信息的修改&l

18、t;/p><p>  聲明void modify()為商品信息修改函數(shù),通過switch(n)設(shè)定所要修改的項(xiàng)目</p><p><b>  八:商品信息的查找</b></p><p>  聲明void find()為查找函數(shù),通過switch(item)設(shè)定用編號(hào)查找</p><p>  九:顯示全部商品信息</p&

19、gt;<p>  通過void print()函數(shù)輸出商品信息</p><p><b>  十:商品信息的排序</b></p><p>  聲明void sort()將錄入商品的編號(hào)按升序排列,用的是“冒泡排序法”實(shí)現(xiàn)排序</p><p>  3.1數(shù)據(jù)結(jié)構(gòu)描述與定義</p><p>  1、測(cè)量結(jié)構(gòu)體變量

20、的大小</p><p>  # define N sizeof(struct pro)</p><p>  2、商品庫存信息數(shù)據(jù)結(jié)構(gòu)</p><p>  用于存放每個(gè)商品的編號(hào)、名稱、數(shù)量、保質(zhì)期、提供商和生產(chǎn)地各方面的信息。</p><p>  typedef struct pro</p><p><b>

21、  {</b></p><p>  char number[20];</p><p>  char name[20];</p><p>  char amount[20];</p><p>  char deadline[20];</p><p>  char supply[20];</p>

22、<p>  char add[20];</p><p>  struct pro *next;</p><p>  } Elemsn; //為結(jié)構(gòu)體命名//</p><p>  用結(jié)構(gòu)體定義商品信息。由于編號(hào)、名稱、價(jià)格、數(shù)量等是用于描述一個(gè)有機(jī)整體—商品,為了表明這些字段不是孤立的,而是共同描述一個(gè)完整的事物,因此

23、用結(jié)構(gòu)體這種形式來體現(xiàn)。</p><p><b>  3.2模塊設(shè)計(jì)</b></p><p><b>  1、模塊描述</b></p><p>  對(duì)若干商品價(jià)格,名稱,生產(chǎn)日期等記錄進(jìn)行創(chuàng)建商品信息文件、增加商品信息、刪除商品信息、修改商品信息、查詢商品信息、顯示商品信息和排序全部信息幾項(xiàng)功能管理。對(duì)文件有修改的操作,會(huì)

24、將操作結(jié)果保存至文件,對(duì)于需要查看結(jié)果的操作,文件中的操作結(jié)果將會(huì)顯示于屏幕上。</p><p><b>  2、模塊設(shè)計(jì)</b></p><p>  總體框架圖:商品庫存管理系統(tǒng)</p><p>  1.添加商品信息 </p><p><b>  2刪除商品信息</b></p&g

25、t;<p><b>  3修改商品信息</b></p><p><b>  4查詢商品信息</b></p><p><b>  5.顯示商品信息</b></p><p><b>  6排序全部商品信息</b></p><p><b>

26、;  3、系統(tǒng)模塊流程圖</b></p><p>  -----系統(tǒng)模塊結(jié)構(gòu)圖-----</p><p><b>  4.測(cè)試結(jié)果與分析</b></p><p><b>  執(zhí)行效果如下:</b></p><p><b>  1、主界面:</b></p>

27、<p>  2、輸入1后編輯的商品信息(創(chuàng)建新文件):</p><p>  3、保存文件后,進(jìn)入商品庫存管理系統(tǒng):</p><p>  4、執(zhí)行1添加功能:</p><p>  5、執(zhí)行2刪除功能:</p><p>  6、執(zhí)行3修改功能:</p><p><b>  執(zhí)行4查詢功能:</

28、b></p><p><b>  執(zhí)行5顯示功能:</b></p><p><b>  執(zhí)行6排序功能:</b></p><p><b>  5.課程設(shè)計(jì)總結(jié)</b></p><p>  經(jīng)過一個(gè)禮拜的努力,終于,一個(gè)比較完整的小型商品庫存管理系統(tǒng)就創(chuàng)建完畢了。我們組創(chuàng)建

29、的商品庫存管理,系統(tǒng)能實(shí)現(xiàn)商品信息的添加,刪除,修改,查詢,顯示,排序等簡單的基本功能。</p><p>  雖然這個(gè)課程設(shè)計(jì)是從寒假就開始準(zhǔn)備了,但是說實(shí)話,在沒有人能商量的情況下,我對(duì)這個(gè)課程設(shè)計(jì)的題目還是一頭霧水的,雖然有上網(wǎng)查找資料并且問了家里有從事編程工作的親戚,但是,我想說請(qǐng)?jiān)徫业倪t鈍,因?yàn)槲疫€是對(duì)課程設(shè)計(jì)無從下手。</p><p>  來了學(xué)校后,因?yàn)殚_學(xué)的第三周是課程設(shè)計(jì)

30、,我特地去問了學(xué)姐有關(guān)課程設(shè)計(jì)的信息,并去圖書館查了大量資料??赡苁怯捎谫Y料的繁多重復(fù)吧,我沒辦法從里面理出頭緒,所以我讓組長給我整理了資料,十分感謝我們組的組長,他給我整理的資料很簡練,在后面幾天的編程中,我有不懂并且解決不了的程序問題,他都很耐心的幫我解答,調(diào)試。從這次的課程設(shè)計(jì),從組長那里,我想我學(xué)到了很多,從第一天的無從下手到最后檢驗(yàn)是能運(yùn)行簡單的功能操作,雖然程序還不是很完善,但是我還是感到很開心。</p>&l

31、t;p>  老師檢驗(yàn)的時(shí)候,問了我這樣一個(gè)問題,她問:你for循環(huán)體在哪里?好吧,我突然感覺很糟糕,因?yàn)槲抑豢吹揭粋€(gè)分號(hào),下面的printf并不是循環(huán)體,可是我不知道該怎么說,我想不起來那個(gè)叫什么,我那個(gè)程序里的for循環(huán)只是起到一個(gè)將信息全部讀完的作用。是的,很糟糕,真是太糟糕了。好吧,我承認(rèn),我的基本功真的不扎實(shí)。</p><p>  經(jīng)過這次的課程設(shè)計(jì),我覺得做一個(gè)系統(tǒng)真的需要很好的邏輯能力,并且你的

32、基本功要扎實(shí),不然大小錯(cuò)誤會(huì)不斷。還有我發(fā)現(xiàn)當(dāng)你只看不做的時(shí)候,覺得什么都不會(huì),當(dāng)你去嘗試了去討論了去做出結(jié)果了,可能結(jié)果不是很如人意,但是你會(huì)收獲很多很多。</p><p>  我很幸運(yùn)我能有這樣一次機(jī)會(huì),對(duì)老師來說可能做的很糟,但是對(duì)我來說已經(jīng)是個(gè)很大的突破了,因?yàn)槲覄?dòng)手做了,動(dòng)腦想了,還去討論了,可以說是沒什么遺憾了吧,唯一感到很遺憾的是一周的時(shí)間真的是太少了。</p><p>  

33、我想在以后在我學(xué)習(xí)了更多之后,我的程序會(huì)更好,到時(shí)候我希望自己能獨(dú)立寫出一個(gè)能運(yùn)行的系統(tǒng)程序。</p><p><b>  附錄:源程序清單</b></p><p>  #include "stdio.h"</p><p>  #include "stdlib.h"</p><p>

34、;  #include "string.h"</p><p>  # include "conio.h"</p><p>  # define N sizeof(struct pro) //測(cè)結(jié)構(gòu)體變量的大小//</p><p>  typedef struct pro</p><p><b&

35、gt;  {</b></p><p>  char number[20];</p><p>  char name[20];</p><p>  char amount[20];</p><p>  char deadline[20];</p><p>  char supply[20];</p>

36、;<p>  char add[20];</p><p>  struct pro *next;</p><p>  }Elemsn; //為結(jié)構(gòu)體命名//</p><p>  Elemsn *creatlink(void) //創(chuàng)建鏈表信息//</p><p><b>  {</b></p&

37、gt;<p>  Elemsn *p1,*p2,*head; //p1為前驅(qū),p2為后繼//</p><p><b>  int i=1;</b></p><p>  char choice;</p><p>  head=p2=(Elemsn *)malloc(N);</p><p>  head-&

38、gt;next=NULL;</p><p>  choice='y';</p><p>  for(i=1;choice=='y'||choice=='Y';i++)</p><p><b>  {</b></p><p>  p1=(Elemsn *)malloc(N);

39、</p><p>  printf("*******************************************************************************\n\n");</p><p>  printf("請(qǐng)輸入第%d個(gè)商品的信息:\n",i);</p><p>  printf(&q

40、uot;編號(hào):");</p><p>  scanf("%s",p1->number);</p><p>  printf("\n名稱:");</p><p>  scanf("%s",p1->name);</p><p>  printf("\n數(shù)量

41、:");</p><p>  scanf("%s",p1->amount);</p><p>  printf("\n保質(zhì)期:");</p><p>  scanf("%s",p1->deadline);</p><p>  printf("\n供貨商

42、:");</p><p>  scanf("%s",p1->supply);</p><p>  printf("\n出產(chǎn)地:");</p><p>  scanf("%s",p1->add);</p><p>  p2->next=p1;</p&g

43、t;<p><b>  p2=p1;</b></p><p>  printf("\n是否繼續(xù)?(Y/N):");</p><p>  choice=getche();</p><p>  printf("\n");</p><p><b>  }</

44、b></p><p>  p2->next=NULL;</p><p>  return(head);</p><p><b>  }</b></p><p>  void savelink(Elemsn *h) //保存鏈表信息//</p><p><b>  {<

45、;/b></p><p>  Elemsn *p;</p><p><b>  FILE *fp;</b></p><p>  char fliename[20];</p><p>  printf("\n請(qǐng)輸入你要保存的文件名:");</p><p>  scanf(&

46、quot;%s",fliename);</p><p>  if((fp=fopen(fliename,"wt"))==NULL)</p><p><b>  {</b></p><p>  printf("寫文件出錯(cuò),按任意鍵退出!");</p><p><b&g

47、t;  getche();</b></p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  for(p=h->next;p!=NULL;p=p->next) fprintf(fp,"%s %s %s %s %s %s\n"

48、,p->number,p->name,p->amount,p->deadline,p->supply,p->add); //向文件中寫入數(shù)據(jù)//</p><p>  printf("文件已成功保存,按任意鍵返回!");</p><p><b>  getche();</b></p><p

49、>  fclose(fp);</p><p><b>  }</b></p><p>  Elemsn *readlink(void) //讀出已保存文件的信息//</p><p><b>  {</b></p><p>  Elemsn *head,*p,*q;</p>&

50、lt;p><b>  FILE *fp;</b></p><p>  char filename[20];</p><p>  printf("\n請(qǐng)輸入要打開的文件名:");</p><p>  scanf("%s",filename);</p><p>  if((fp=

51、fopen(filename,"rt"))==NULL)</p><p><b>  {</b></p><p>  printf("讀文件出錯(cuò),按任意鍵退出!");</p><p><b>  getche();</b></p><p><b> 

52、 exit(1);</b></p><p><b>  }</b></p><p>  head=q=(Elemsn *)malloc(N);</p><p>  head->next=NULL;</p><p>  while(!feof(fp))</p><p><b&

53、gt;  {</b></p><p>  p=(Elemsn *)malloc(N); //建立新鏈表,并從文件中讀出數(shù)據(jù)//</p><p>  fscanf(fp,"%s %s %s %s %s %s\n",p->number,p->name,p->amount,p->deadline,p->supply,p->a

54、dd);</p><p>  q->next=p;</p><p><b>  q=p;</b></p><p><b>  }</b></p><p>  q->next=NULL;</p><p>  fclose(fp);</p><p&

55、gt;  printf("文件信息已正確讀出,按任意鍵返回!");</p><p><b>  getch();</b></p><p>  return head;</p><p><b>  }</b></p><p>  Elemsn *insert(Elemsn *hea

56、d) //插入信息//</p><p><b>  {</b></p><p>  Elemsn *p;</p><p>  p=(Elemsn *)malloc(N);</p><p>  printf("\n請(qǐng)輸入要插入商品的信息:\n");</p><p>  pri

57、ntf("\n編號(hào):");</p><p>  scanf("%s",p->number);</p><p>  printf("\n名稱:");</p><p>  scanf("%s",p->name);</p><p>  printf(&quo

58、t;\n數(shù)量:");</p><p>  scanf("%s",p->amount);</p><p>  printf("\n保質(zhì)期:");</p><p>  scanf("%s",p->deadline);</p><p>  printf("\

59、n供貨商:");</p><p>  scanf("%s",p->supply);</p><p>  printf("\n出產(chǎn)地:");</p><p>  scanf("%s",p->add);</p><p>  if(head->next!=NUL

60、L)</p><p><b>  {</b></p><p>  p->next=head->next; //插入數(shù)據(jù)操作代碼//</p><p>  head->next=p;</p><p><b>  }</b></p><p>  printf(

61、"\n商品信息插入成功!按任意鍵繼續(xù)!");</p><p><b>  getche();</b></p><p>  return head;</p><p><b>  }</b></p><p>  Elemsn *delet(Elemsn *p0) //刪除信息//

62、</p><p><b>  {</b></p><p>  char num[20];</p><p>  Elemsn *p;</p><p>  char choice;</p><p>  if(p0->next==NULL)</p><p><b>

63、;  {</b></p><p>  printf("該商品不存在!按任意鍵退出!");</p><p><b>  getch();</b></p><p><b>  exit(1);</b></p><p><b>  }</b></

64、p><p>  printf("\n請(qǐng)輸入要?jiǎng)h除商品的編號(hào):");</p><p>  scanf("%s",num);</p><p>  for(p=p0->next;strcmp(p->number,num)!=0;p0=p,p=p->next) ; //找到要?jiǎng)h除的商品的信息//</p>

65、<p>  printf("你要?jiǎng)h除的信息如下,請(qǐng)確認(rèn)是否刪除:\n");</p><p>  printf("\n編號(hào):%s 名稱:%s 數(shù)量:%s 保質(zhì)期:%s 供貨商:%s 出產(chǎn)地:%s\n\n",p->number,p->name,p->amount,p->deadline,p->supply,p->add);<

66、/p><p>  printf("\n是Y,否N:"); //顯示要?jiǎng)h除的商品的信息//</p><p>  choice=getche();</p><p>  if(choice=='Y'||choice=='y')</p><p><b>  {</b></

67、p><p>  p0->next=p->next;</p><p><b>  free(p);</b></p><p>  printf("\n文件刪除成功!");</p><p><b>  }</b></p><p>  printf(&qu

68、ot;\n按任意鍵結(jié)束!");</p><p><b>  getche();</b></p><p>  return p0;</p><p><b>  }</b></p><p>  Elemsn *modify(Elemsn *h) //修改信息//</p>&l

69、t;p><b>  {</b></p><p>  char num[20];</p><p>  Elemsn *p;</p><p>  char choice;</p><p>  printf("\n請(qǐng)輸入要修改商品信息的編號(hào):");</p><p>  scan

70、f("%s",num);</p><p>  for(p=h;strcmp(p->number,num)!=0;p=p->next) ; //找到要修改的商品的信息//</p><p><b>  while(1)</b></p><p><b>  {</b></p>&

71、lt;p>  printf("請(qǐng)輸入修改后商品的信息:\n"); </p><p>  printf("編號(hào):");</p><p>  scanf("%s",p->number);</p><p>  printf("\n名稱:");</p><p&g

72、t;  scanf("%s",p->name);</p><p>  printf("\n數(shù)量:");</p><p>  scanf("%s",p->amount);</p><p>  printf("\n保質(zhì)期:");</p><p>  sca

73、nf("%s",p->deadline);</p><p>  printf("\n供貨商:");</p><p>  scanf("%s",p->supply);</p><p>  printf("\n出產(chǎn)地:");</p><p>  scanf

74、("%s",p->add);</p><p>  printf("修改后商品信息如下:\n");</p><p>  printf("\n編號(hào):%s 名稱:%s 數(shù)量:%s 保質(zhì)期:%s 供貨商:%s 出產(chǎn)地:%s\n\n",p->number,p->name,p->amount,p->deadlin

75、e,p->supply,p->add);</p><p>  printf("\n確認(rèn)?是Y否N:");</p><p>  choice=getche();</p><p>  if(choice=='y'||choice=='Y') break;</p><p><b&

76、gt;  }</b></p><p>  printf("\n修改成功,按任意鍵繼續(xù)!");</p><p><b>  getche();</b></p><p><b>  return h;</b></p><p><b>  }</b>&

77、lt;/p><p>  void find(Elemsn *h) //查詢信息//</p><p><b>  {</b></p><p>  char num[20];</p><p>  Elemsn *p;</p><p>  printf("\n請(qǐng)輸入你要查找的商品的編號(hào):&q

78、uot;);</p><p>  scanf("%s",num);</p><p>  for(p=h;strcmp(p->number,num)!=0;p=p->next) ;</p><p>  printf("你查找的商品信息如下:\n");</p><p>  printf(&quo

79、t;\n編號(hào):%s 名稱:%s 數(shù)量:%s 保質(zhì)期:%s 供貨商:%s 出產(chǎn)地:%s\n\n",p->number,p->name,p->amount,p->deadline,p->supply,p->add);</p><p>  printf("按任意鍵繼續(xù)!");</p><p><b>  getche()

80、;</b></p><p><b>  }</b></p><p>  void print(Elemsn *p) //顯示全部信息//</p><p><b>  {</b></p><p>  p=p->next;</p><p>  while(

81、p!=NULL)</p><p><b>  {</b></p><p>  printf("\n編號(hào):%s 名稱:%s 數(shù)量:%s 保質(zhì)期:%s 供貨商:%s 出產(chǎn)地:%s\n",p->number,p->name,p->amount,p->deadline,p->supply,p->add);</p&g

82、t;<p>  p=p->next;</p><p><b>  }</b></p><p>  printf("\n按任意鍵繼續(xù)!");</p><p><b>  getche();</b></p><p><b>  }</b>&l

83、t;/p><p>  Elemsn *sort(Elemsn *head) </p><p><b>  {</b></p><p>  Elemsn *q,*t,*p; </p><p><b>  p=head; </b></p><p><b>

84、  t=NULL; </b></p><p>  while(t!=head->next) </p><p><b>  {</b></p><p>  p=head; </p><p>  q=p->next; </p><p>  while(q-&g

85、t;next!=t) </p><p><b>  { </b></p><p>  if(strcmp(p->next->number,q->next->number)>0) /*前結(jié)點(diǎn)和后結(jié)點(diǎn)比較大小*/</p><p><b>  {</b></p><p

86、>  p->next=q->next; </p><p>  q->next=q->next->next; </p><p>  p->next->next=q; </p><p><b>  } </b></p><p>  p=p->nex

87、t; </p><p>  q=p->next; </p><p><b>  } </b></p><p><b>  t=q; </b></p><p><b>  } </b></p><p>  printf(&q

88、uot;商品信息排序完畢,按任意鍵繼續(xù)!");</p><p><b>  getche();</b></p><p>  print(head);</p><p>  return(head); /*返回頭指針*/ </p><p><b>  } </b></p>

89、<p>  void main()</p><p><b>  {</b></p><p>  int choice=1,i,ok=1; //choice用于選擇對(duì)數(shù)據(jù)執(zhí)行操作,i循環(huán),ok主界面選擇//</p><p>  Elemsn *head,*h;</p><p>  head=NULL;<

90、;/p><p>  for(i=1;ok!=0;i++)</p><p><b>  {</b></p><p>  system("cls");</p><p>  printf("\n歡迎來到商品庫管理系統(tǒng)主界面!\n\n\n");</p><p>  pr

91、intf("\n\n\n 1.創(chuàng)建新文件.\n\n\n");</p><p>  printf(" 2.讀取原文件,并執(zhí)行相應(yīng)操作.(原文件名為:jxx)");</p><p>  printf("\n\n\n

92、 0.退出;");</p><p>  printf("\n\n\n\n\n請(qǐng)選擇你要執(zhí)行的操作:");</p><p>  scanf("%d",&ok);</p><p>  if(ok==1) </p><p><b>  {</b></p

93、><p>  system("cls");</p><p>  head=creatlink(); //創(chuàng)建新鏈表并保存文件//</p><p>  savelink(head);</p><p><b>  }</b></p><p>  if(ok==2) </p&g

94、t;<p><b>  {</b></p><p>  head=readlink(); //進(jìn)入文件,對(duì)已知數(shù)據(jù)進(jìn)行操作//</p><p>  for(i=1;choice!=0;i++)</p><p><b>  {</b></p><p>  system("c

95、ls");</p><p>  printf("************歡迎來到商品庫管理系統(tǒng)************\n\n\n");</p><p>  printf(" 1. 添加商品信息; \n\n");</p><p>  pri

96、ntf(" 2. 刪除商品信息; \n\n");</p><p>  printf(" 3. 修改商品信息; \n\n");</p><p>  printf("

97、 4. 查詢商品信息; \n\n");</p><p>  printf(" 5. 顯示商品信息; \n\n");</p><p>  printf(" 6. 排序全部信息;

98、 \n\n");</p><p>  printf(" 0. 退出; \n\n");</p><p>  printf("請(qǐng)輸入你要執(zhí)行的操作代碼:");</p><p>  scanf(&q

99、uot;%d",&choice);</p><p>  switch(choice)</p><p><b>  {</b></p><p>  case 1: h=insert(head);savelink(h);break; //執(zhí)行增,刪,改完畢后對(duì)新信息進(jìn)行保存//</p><p>  case

100、 2: h=delet(head);savelink(h);break;</p><p>  case 3: h=modify(head);savelink(h);break;</p><p>  case 4: find(head);break;</p><p>  case 5: print(head);break;</p><p>  

101、case 6: h=sort(head);savelink(h);break;</p><p>  case 0: break;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  } </b></p>&

溫馨提示

  • 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)論