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

下載本文檔

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

文檔簡介

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

2、軟件工作者所應(yīng)具備的科學(xué)的工作方法和作風(fēng)。5、培養(yǎng)根據(jù)選題需要選擇學(xué)習(xí)書籍,查閱文獻(xiàn)資料的自學(xué)能力。二、設(shè)計(jì)內(nèi)容文具店的貨品管理在文具店的日常管理經(jīng)營過程中,存在對各種文具管理問題。當(dāng)庫存文具不足或缺貨時(shí),需要進(jìn)貨。日常銷售時(shí),需要出庫。當(dāng)盤點(diǎn)貨物時(shí),需要查詢貨物的信息。請根據(jù)這些要求編寫軟件完成庫存文具的管理功能。文具信息可以用表1和表2來表示。表1 文具名稱文具類別文具數(shù)量鋼筆1400日記本22000計(jì)算器350 表2文具類別號(hào)文具類別名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.商品的查詢 n);printf( 4.商品的賣出 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商店初始商品文具名稱:);;printf(n初始文具數(shù)量:);cinp-name.count;printf(n初始文具類別:);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(輸入要存貨的文具名稱:);;printf(n存貨的文具數(shù)量:);cinp-name.count;printf(n存貨的文具類別:);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) /商店賣出文具linklist p,t;t=head;t=t-next;p=(linklist)malloc(sizeof(listnode);printf(賣出商品的文具名稱:);;printf(n想賣出多少件:);cinp-name.count;while(t!=null) if(strcmp(,)=0)if(t-name.count=0)printf(n此類商品已經(jīng)銷售完。);return error;else if(t-name.co

9、untname.count) printf(n現(xiàn)存商品容量不足,無法賣出。);return error; else t-name.count-=p-name.count; printf(n此類文具賣出成功!); return ok;elset=t-next;if(t=null)printf(n商店沒有此類文具。);return error;int linklist_print(linklist head) /輸出linklist p1;p1=head;p1=p1-next;printf(文具名稱 文具類別 文具數(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輸入要查找的文具名稱:);;while(p2!=null)if(strcmp(,)=0)printf(n查找成功,輸出如下:n);printf(文具名

11、稱 文具類別 文具數(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: /查詢文具linklist

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

溫馨提示

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

提交評論