C語言超商品管理系統(tǒng)_第1頁
C語言超商品管理系統(tǒng)_第2頁
C語言超商品管理系統(tǒng)_第3頁
C語言超商品管理系統(tǒng)_第4頁
C語言超商品管理系統(tǒng)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C語言程序設(shè)訃實(shí)訓(xùn)報(bào)告題目:超市商品管理系統(tǒng)院系:信息科技學(xué)院專業(yè):計(jì)算機(jī)科學(xué)與技術(shù)姓名:學(xué)號(hào):指導(dǎo)教師:日期:桂林電子科技大學(xué)信息科技學(xué)院目錄1問題定義.32系統(tǒng)設(shè)計(jì)32.1總體設(shè)計(jì)32. 2詳細(xì)設(shè)計(jì)32.1.1 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)32.1.2 主控流程32.1.3 信息輸入模塊42.1.4 信息增加模塊42.1.5 信息修改模塊42.1.6 信息刪除模塊42.1.7 信息查看模塊42.1.8 信息統(tǒng)計(jì)模塊4函數(shù)功能描述43系統(tǒng)實(shí)現(xiàn)5編碼53.1.1 程序預(yù)處理53.1.2 主函數(shù)main()53.1.3 主菜單界面63.1.4 商品信息建立.73.1.5 商品信息查看93.1.6 商品信息增加.

2、113.1.7 商品信息刪除123.1.8 商品信息修改143.1.9 商品數(shù)目統(tǒng)計(jì)163.1.10 223.2.1 概述223.2.2 程序測試224 系統(tǒng)維護(hù)25255 歸納總結(jié)25開發(fā)經(jīng)驗(yàn)實(shí)訓(xùn)中遇到的問題及解決方法25設(shè)計(jì)中的不足之處25感想和心得體會(huì)256 參考資料25超市商品管理系統(tǒng)本題目設(shè)計(jì)目的是訓(xùn)練學(xué)生的基本編程能力,了解管理信息系統(tǒng)的開發(fā)流程,熟悉C語言的單鏈表的各種基本操作。本程序中涉及結(jié)構(gòu)體、單鏈表、文件保存等方面的知識(shí)。通過本程序的訓(xùn)練,使學(xué)生能對(duì)C語言的鏈表的操作有一個(gè)更深刻的了解,掌握利用單鏈表存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)對(duì)超市信息管理系統(tǒng)的原理,為進(jìn)一步開發(fā)出高質(zhì)量的管理信息系統(tǒng)打

3、下堅(jiān)實(shí)的基礎(chǔ)。1、問題定義創(chuàng)建一個(gè)超市管理系統(tǒng)。該程序具有保存商品信息、查詢商品信息、修改商品信息、刪除商品信息、統(tǒng)計(jì)商品信息并具有自動(dòng)判斷商品價(jià)格、庫存等的功能。"FDebugcs5pgt.exe'桂林電子科技大學(xué)信息科技學(xué)院超市管理系統(tǒng)1 輸出查看或者修改已存信息-重新輸入新信息(并且刪除原有信息)丁麗曾M宿£7加藤應(yīng)正青著音王京番病而7口退出超市管理系統(tǒng)主界面2、系統(tǒng)設(shè)計(jì)2. 1總體設(shè)計(jì)然后分別設(shè)計(jì)個(gè)小任5大模塊組成:本程序采用模塊化設(shè)計(jì)方法,即將一個(gè)大任務(wù)分成一個(gè)個(gè)小任務(wù),務(wù)。劃分出來的模塊相對(duì)獨(dú)立而又相互關(guān)聯(lián),容易理解。本程序由2.1.1 息模塊2.1.2

4、 息模塊2.1.3 息模塊2.1.4 息模塊2.1.5 息模塊2.2詳細(xì)設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)定義結(jié)構(gòu)體structgood(intnum;/*charname20;/*charkind40;/*floatprice;/*charunit10;/*intquantity;/*structgood*next;/*head,*p1,*p2;單鏈表good結(jié)構(gòu)體商品編號(hào)*/商品名稱*/商品類型*/商品價(jià)格*/商品單位*/商品數(shù)量*/定義結(jié)構(gòu)體指針類型*/structgood/*定義結(jié)構(gòu)體*/(intnum;/*charname20;/*charkind40;/*floatprice;/*charunit1

5、0;/*intquantity;/*structgood*next;/*商品編號(hào)*/商品名稱*/商品類型*/商品價(jià)格*/商品單位*/商品數(shù)量*/定義結(jié)構(gòu)體指針類型*/*head,*p1,*p2;主控main()函數(shù)執(zhí)行流程Intmain()structgood*p1,*p2;while(1)(if(m=1)printf("I*商品信息的查看*n");*if(m=2)printf("I*商品信息的輸入(*n");*if(m=3)printf("I*商品信息的統(tǒng)計(jì)*)if(m=4)(printf("I*n");*)break;)

6、return0;)本商品管理系統(tǒng)執(zhí)行主流程。它先以可讀寫的方式打開數(shù)據(jù)文件,此文件默認(rèn)為“C:goods”,若該文件不存在,則新建此文件。當(dāng)打開文件操作成功后,從文件中一次讀出一條記錄,然后執(zhí)行顯示主菜單和進(jìn)入主循環(huán)操作,進(jìn)行按鍵判斷。2.2.3 輸入信息模塊記錄可以從以文件形式存儲(chǔ)的數(shù)據(jù)文件中讀入,也可從鍵盤逐個(gè)輸入商品記錄。商品記錄由商品的基本信息和成績信息字段構(gòu)成。當(dāng)從數(shù)據(jù)文件中讀入記錄時(shí),也就是把在以記錄為單位存儲(chǔ)的數(shù)據(jù)文件中,將記錄逐條復(fù)制到單鏈表中。2.2.4 增加信息模塊增加信息模塊主要實(shí)現(xiàn)信息增加修改信息模塊主要實(shí)現(xiàn)信息修改刪除信息模塊主要實(shí)現(xiàn)信息刪除查看信息模塊主要實(shí)現(xiàn)信息查

7、看統(tǒng)計(jì)信息模塊主要實(shí)現(xiàn)信息統(tǒng)計(jì)2.2.5 修改信息模塊2.2.6 刪除信息模塊2.2.7 查看信息模塊2.2.8 統(tǒng)計(jì)信息模塊2.2.9 函數(shù)功能描述shuchu()shuchu()函數(shù)用于輸出商品信息。structgood*paixu(structgood*head2)此函數(shù)用于給鏈表排序。jisuan()jisuan()函數(shù)用于判斷商品的類別。printf0(structgood*p)printf0(structgood*p)函數(shù)用于遍歷鏈表并打印電器類商品。printf1(structgood*p)printf1(structgood*p)函數(shù)用于遍歷鏈表并打印日用品類商品。printf

8、2(structgood*p)printf2()函數(shù)用于遍歷鏈表并打印辦公用品類商品。函數(shù)用于遍歷鏈表并打印食品類商品。printf3(structgood*p)printf3structgood*p()shunxudayin()shunxudayin()函數(shù)用于給商品排序并打印。tongji1()tongji1()函數(shù)用于統(tǒng)計(jì)給庫存量低于100的貨名和類別。tongji2()tongji2()函數(shù)用于統(tǒng)計(jì)商品庫存量有2種以上(含兩種)低于100的商品類另限完成在上述系統(tǒng)設(shè)計(jì)后,即可著手進(jìn)行系統(tǒng)實(shí)現(xiàn)的工作,開始程序代碼的編寫。3、系統(tǒng)實(shí)現(xiàn)3. 1編碼3.1.1 程序預(yù)處理包括加載頭文件,定義結(jié)

9、構(gòu)體、常量和變量,并對(duì)它們進(jìn)行初始化工作。#include""/*輸入,輸出頭文件*/#include""/*申請(qǐng)空間頭文件*/#include""/*對(duì)字符串加工頭文件*/#include""/*清屏頭文件*/FILE*fp;intn=0;/*定義文件指針類型*/inti,j,a4,m;/*定義整數(shù)類型*/floataver4,sum4,g4,h;/*定義浮點(diǎn)類型*/3.1.2 主函數(shù)main()main()函數(shù)主要實(shí)現(xiàn)了對(duì)整個(gè)程序的運(yùn)行控制,以及相關(guān)功能模塊的調(diào)用。Intmain()structgood*p1,

10、*p2;while(1)(if(m=1)printf("I*商品信息的查看*n");*if(m=2)(printf("I*商品信息的輸入*n");if(m=3)(printf("I*商品信息的統(tǒng)計(jì)*n”).if(m=4)(printf("I*n");break;return0;)3.1.3 主菜單界面用戶進(jìn)入商品管理系統(tǒng)時(shí),需要顯示主菜單,提示用戶進(jìn)行選擇,完成相應(yīng)任務(wù)。(printf("桂林電子科技大學(xué)信息科技學(xué)院超市管理系統(tǒng)n");printf("*n");printf("

11、;1輸出查看或者修改已存信息n");printf("n");printf("2-重新輸入新信息(并且刪除原有信息)-n");printf("n");printf("3統(tǒng)計(jì)商品信息(如果您還沒有查看過信息請(qǐng)先按1)n");printf("n");printf("4退出n");printf("*n")scanf("%d",&m);3.1.4 商品信息建立用戶進(jìn)入商品管理系統(tǒng)時(shí),對(duì)某個(gè)商品的信息進(jìn)行處理。structgood

12、/*定義結(jié)構(gòu)體*/(intnum;/*商品編號(hào)*/charname20;/*商品名稱*/charkind40;/*商品類型*/floatprice;/*商品價(jià)格*/charunit10;/*intquantity;/*structgood*next;/*head,*p1,*p2;商品單位*/商品數(shù)量*/定義結(jié)構(gòu)體指針類型*/structgood*createlist()/*structgood*head1,*p1,*p2;/*if(fp=fopen("goods","w")=NULL)printf("cannotopenthefile"

13、;);exit(0);/*創(chuàng)建鏈表函數(shù)*/定義結(jié)構(gòu)體指針類型*/*判斷能否打開文件*/結(jié)束程序*/head1=(structgood*)malloc(sizeof(structgood);/*/p1=head1;p2=head1;printf(”*n");printf("請(qǐng)輸入信息:編號(hào),名稱,類型,價(jià)格,單位,數(shù)目n");printf("(以輸入"1”表示結(jié)束輸入)n");printf(”*n");printf("n");scanf("%d%s%s%f%s%d",&p1-&g

14、t;num,p1->name,p1->kind,&p1->price,p1->unit,&p1->quantity);/*輸入商品信息*/printf("n");p1->next=NULL;fprintf(fp,"%d%s%s%f%s%d",p1->num,p1->name,p1->kind,p1->price,p1->unit,p1->quantity);/*將商品信息寫入文件*/申請(qǐng)新空間*/while(1)p1=(structgood*)malloc(sizeo

15、f(structgood);/*printf(”*n");printf("請(qǐng)輸入信息:編號(hào),名稱,類型,價(jià)格,單位,數(shù)目n");printf("(以輸入"1”表示結(jié)束輸入)n");printf(”*n");printf("n");scanf("%d",&p1->num);if(p1->num=-1)/*申請(qǐng)空間結(jié)束條件*/printf("nn");fprintf(fp,"%d",-1);fclose(fp);returnhea

16、d1;/*返回頭指針*/scanf("%s%s%f%s%d",p1->name,p1->kind,&p1->price,p1->unit,&p1->quantity);/*輸入商品信息*/printf("n");fprintf(fp,"%d%s%s%f%s%d",p1->num,p1->name,p1->kind,p1->price,p1->unit,p1->quantity);/*將商品信息寫入文件*/p1->next=NULL;p2->n

17、ext=p1;p2=p1;)商品信息查看voidshuchu()/*輸出商品信息函數(shù)*/(do(structgood*p3,*p4,*p5;/*定義結(jié)構(gòu)體指針類型*/intn=0,p=0,q=0,r=0;printf("所有商品信息:n");printf("編號(hào),名稱,類型,價(jià)格,單位,數(shù)目n");printf("*n");if(fp=fopen("goods","rb+")=NULL)/*判斷能否打開文件*/(printf("cannotopenthefile");exit

18、(0);/*結(jié)束程序*/)head=(structgood*)malloc(sizeof(structgood);/*申請(qǐng)頭結(jié)點(diǎn)空間*/%dp3=head;fscanf(fp,"%d%s%s%f%s",&p3->num,p3->name,p3->kind,&p3->price,p3->unit,&p3->quantity);/*從文件中寫到鏈表*/while(1)p4=(structgood*)malloc(sizeof(structgood);/*申請(qǐng)頭結(jié)點(diǎn)空間*/fscanf(fp,"%d"

19、,&p4->num);if(p4->num!=-1)/*判斷循環(huán)結(jié)束條件*/fscanf(fp,"%s%s%f%s%d",p4->name,p4->kind,&p4->price,p4->unit,&p4->quantity);/*從文件中寫到鏈表*/p4->next=NULL;p3->next=p4;p3=p4;elsep3->next=NULL;break;fclose(fp);/*關(guān)閉文件*/p3=head;while(p3!=NULL)printf("%d%s%s%s%dnn",p3->num,p3->name,p3->kind,p3->price,p3->unit,p3->quantity);printf("n");p3=p3->next;printf("*n&quo

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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)論