數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)文具店的貨品管理.doc_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)文具店的貨品管理.doc_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)文具店的貨品管理.doc_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)文具店的貨品管理.doc_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)文具店的貨品管理.doc_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目:文具店的貨品管理 專(zhuān) 業(yè) 軟件工程 班 級(jí) 二 班 學(xué) 生 黃 淼 學(xué) 號(hào) e20814028 2009-20109年 第 2 學(xué)期 一、設(shè)計(jì)目的1、能根據(jù)實(shí)際問(wèn)題的具體情況,結(jié)合數(shù)據(jù)結(jié)構(gòu)課程中的基本理論和基本算法,分析并正確確定數(shù)據(jù)的邏輯結(jié)構(gòu),合理地選擇相應(yīng)的存儲(chǔ)結(jié)構(gòu),并能設(shè)計(jì)出解決問(wèn)題的有效算法。2、提高程序設(shè)計(jì)和調(diào)試能力。學(xué)生通過(guò)上機(jī)實(shí)習(xí),驗(yàn)證自己設(shè)計(jì)的算法的正確性。學(xué)會(huì)有效利用基本調(diào)試方法,迅速找出程序代碼中的錯(cuò)誤并且修改。3、初步掌握軟件開(kāi)發(fā)過(guò)程中問(wèn)題分析、系統(tǒng)設(shè)計(jì)、程序編碼、測(cè)試等基本方法和技能。4、訓(xùn)練用系統(tǒng)的觀點(diǎn)和軟件開(kāi)發(fā)一般規(guī)范進(jìn)行軟件開(kāi)發(fā),培養(yǎng)

2、軟件工作者所應(yīng)具備的科學(xué)的工作方法和作風(fēng)。5、培養(yǎng)根據(jù)選題需要選擇學(xué)習(xí)書(shū)籍,查閱文獻(xiàn)資料的自學(xué)能力。二、設(shè)計(jì)內(nèi)容文具店的貨品管理在文具店的日常管理經(jīng)營(yíng)過(guò)程中,存在對(duì)各種文具管理問(wèn)題。當(dāng)庫(kù)存文具不足或缺貨時(shí),需要進(jìn)貨。日常銷(xiāo)售時(shí),需要出庫(kù)。當(dāng)盤(pán)點(diǎn)貨物時(shí),需要查詢(xún)貨物的信息。請(qǐng)根據(jù)這些要求編寫(xiě)軟件完成庫(kù)存文具的管理功能。文具信息可以用表1和表2來(lái)表示。表1 文具名稱(chēng)文具類(lèi)別文具數(shù)量鋼筆1400日記本22000計(jì)算器350 表2文具類(lèi)別號(hào)文具類(lèi)別名1文具2紙張3工具三、源程序#include#include#include#include#include#define error 0#define

3、ok 1#define overflow 0typedef structchar name10;char lb10;int count;datatype;typedef struct nodedatatype name;struct node *next;listnode,*linklist;int menu_select();int linklist_init(linklist &head);int linklist_create(linklist &head);int linklist_insert(linklist &head);int linklist_find(linklist he

4、ad);int linklist_delete(linklist &head);int linklist_print(linklist head);int menu_select()int sn;printf(n 文具店商品管理 n);printf(=n);printf( 1.商店商品的初始狀態(tài) n);printf( 2.商品的存入 n);printf( 3.商品的查詢(xún) n);printf( 4.商品的賣(mài)出 n);printf( 5.商品的輸出檢索 n);printf( 6.退出管理系統(tǒng) n);printf(n=n);printf(選擇1-6:);for(;)scanf(%d,&sn);if(

5、sn6)printf(輸入錯(cuò)誤,從新選擇(1-6):);elsebreak;return sn;int linklist_init(linklist &head) /初始化head=(linklist)malloc(sizeof(listnode);if(!head)exit(overflow);head-next=null;return ok;int linklist_create(linklist &head) /商品的創(chuàng)建linklist p,rear;int flag=0;rear=head;while(flag=0)p=(linklist)malloc(sizeof(listnode

6、);printf(n商店初始商品文具名稱(chēng):);;printf(n初始文具數(shù)量:);cinp-name.count;printf(n初始文具類(lèi)別:);cinp-name.lb;p-next=null;rear-next=p;rear=p;printf(結(jié)束初始化嗎?(1/0):);scanf(%d,&flag);rear-next=null;return ok;int linklist_insert(linklist &head) /向商店存貨(存入文具)linklist p,p1,p2;p2=head;p2=p2-next;p=(linklist)malloc(si

7、zeof(listnode);printf(輸入要存貨的文具名稱(chēng):);;printf(n存貨的文具數(shù)量:);cinp-name.count;printf(n存貨的文具類(lèi)別:);cinp-name.lb;while(p2!=null) if(strcmp(,)=0) p2-name.count+=p-name.count;printf(n存貨成功!);return ok;elsep1=p2;p2=p2-next;if(p2=null)p1-next=p;p-next=null;printf(n存貨成功!);return e

8、rror;int linklist_delete(linklist &head) /商店賣(mài)出文具linklist p,t;t=head;t=t-next;p=(linklist)malloc(sizeof(listnode);printf(賣(mài)出商品的文具名稱(chēng):);;printf(n想賣(mài)出多少件:);cinp-name.count;while(t!=null) if(strcmp(,)=0)if(t-name.count=0)printf(n此類(lèi)商品已經(jīng)銷(xiāo)售完。);return error;else if(t-name.co

9、untname.count) printf(n現(xiàn)存商品容量不足,無(wú)法賣(mài)出。);return error; else t-name.count-=p-name.count; printf(n此類(lèi)文具賣(mài)出成功!); return ok;elset=t-next;if(t=null)printf(n商店沒(méi)有此類(lèi)文具。);return error;int linklist_print(linklist head) /輸出linklist p1;p1=head;p1=p1-next;printf(文具名稱(chēng) 文具類(lèi)別 文具數(shù)量n);while(p1!=null)printf(%4st%14st%20d,p

10、1-,p1-name.lb,p1-name.count);p1=p1-next;printf(n);return ok;int linklist_find(linklist head) /查找linklist p,p1,p2;p1=p2=head;p2=p2-next;p=(linklist)malloc(sizeof(listnode);printf(n輸入要查找的文具名稱(chēng):);;while(p2!=null)if(strcmp(,)=0)printf(n查找成功,輸出如下:n);printf(文具名

11、稱(chēng) 文具類(lèi)別 文具數(shù)量n);printf(%4st%14st%20d,,p2-name.lb,p2-name.count);return ok;elsep2=p2-next;printf(n查找不成功!);return error;void main()linklist head;linklist_init(head);for(;)switch(menu_select() case 1: /創(chuàng)建linklist_create(head);break;case 2: /存貨linklist_insert(head);break; case 3: /查詢(xún)文具linklist

12、_find(head);break;case 4: /賣(mài)出文具linklist_delete(head);break;case 5: /檢索文具linklist_print(head); break;case 6:printf(n謝謝光臨,歡迎回顧!n);break;四、 調(diào)試分析調(diào)試的過(guò)程中,對(duì)程序做了幾點(diǎn)改進(jìn),增加了程序的容錯(cuò)能力,不論用戶(hù)輸入什么內(nèi)容,程序都能安全檢查。五、 測(cè)試結(jié)果進(jìn)入演示程序后,即顯示主界面為:根據(jù)提示,用戶(hù)輸入選項(xiàng):1、 進(jìn)入商店商品的初始化狀態(tài)輸入表1和表2信息其中:結(jié)束初始化嗎? (1/0) 選擇 0 代表不結(jié)束,即繼續(xù)輸入商品信息,選擇1 代表,商品信息輸入結(jié)束.2、 商品的存入(例:文具店需進(jìn) 鋼筆 300 , 橡皮 200 ) 3、商品的查詢(xún) (查詢(xún)一種商品的信息, 這里以鋼筆為例)初始化時(shí),鋼筆 400 ; 后進(jìn)貨, 鋼筆 300; 文具店現(xiàn)有存貨為:鋼筆 700; 4、商品的賣(mài)出以鋼筆為例: 鋼筆現(xiàn)存 700; 要賣(mài)出 200剩余 鋼筆 5005、商品的輸出檢索可以查看現(xiàn)庫(kù)存商品的信息6、退出管理系統(tǒng)六、課程設(shè)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論