數(shù)據(jù)結(jié)構(gòu) 課程設(shè)計(jì) 庫(kù)存管理系統(tǒng)
《數(shù)據(jù)結(jié)構(gòu) 課程設(shè)計(jì) 庫(kù)存管理系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)結(jié)構(gòu) 課程設(shè)計(jì) 庫(kù)存管理系統(tǒng)(18頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、克肯囑布攔政f位 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) 設(shè)計(jì)說(shuō)明書(shū) 庫(kù)存管理系統(tǒng) 起止日期:2011年1月 1^日 至2011年1月15日 學(xué) 生 姓 名 成 績(jī) 指導(dǎo)教師(簽字) 電子與信息工程系 2011年1月15日 天津城市建設(shè)學(xué)院 課程設(shè)計(jì)任務(wù)書(shū) 2010-2011學(xué)年第1學(xué)期 電子與信息工程 系 軟件工程 專業(yè) 班級(jí) 課程設(shè)計(jì)名稱: 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì) 設(shè)計(jì)題目: 庫(kù)存管理系統(tǒng) 完成期限:自2011年12月 12 日至 2011 年12 月 16日共 1 周 設(shè)計(jì)依據(jù):C++程序設(shè)計(jì) 要求:熟悉各種數(shù)據(jù)結(jié)構(gòu)和運(yùn)算,會(huì)使用數(shù)據(jù)結(jié)構(gòu)的基本操作解決一些實(shí)際問(wèn)題。 主要內(nèi)容
2、: 1) 問(wèn)題描述 試設(shè)計(jì)一庫(kù)存管理系統(tǒng),產(chǎn)品信息包括產(chǎn)品編號(hào)、名稱、價(jià)格、數(shù)量等(產(chǎn)品編號(hào)不重 復(fù))。 2) 基本要求 該系統(tǒng)應(yīng)具有以下功能: 1、 產(chǎn)品信息錄入功能(產(chǎn)品信息用文件保存)一一輸入? 2、 產(chǎn)品信息瀏覽功能 輸出? 3、 產(chǎn)品入庫(kù) 4、 產(chǎn)品出庫(kù) 5、 查詢和排序功能: 1) 按價(jià)格從大到小排序 2) 按名稱查詢 6、 產(chǎn)品信息刪除、修改功能。 目錄 一、 設(shè)計(jì)目的 4 二、 設(shè)計(jì)要求 4 三、 設(shè)計(jì)內(nèi)容 4 (1) 需求分析 4 (2) 問(wèn)題求解 4 (3) 總體設(shè)計(jì) 5 (4) 詳細(xì)設(shè)計(jì) 6 (5) 關(guān)鍵源程序清單 7 (6)
3、執(zhí)行結(jié)果: 12 四、 參考文獻(xiàn) 15 一、設(shè)計(jì)目的 熟悉各種數(shù)據(jù)結(jié)構(gòu)和運(yùn)算,會(huì)使用數(shù)據(jù)結(jié)構(gòu)的基本操作解決一些實(shí)際問(wèn)題。 二、 設(shè)計(jì)要求 (1) 重視課程設(shè)計(jì)環(huán)節(jié),用嚴(yán)謹(jǐn)、科學(xué)和踏實(shí)的工作態(tài)度對(duì)待課程設(shè)計(jì)的每一項(xiàng)任務(wù); (2) 按照課程設(shè)計(jì)的題目要求,獨(dú)立地完成各項(xiàng)任務(wù),嚴(yán)禁抄襲;凡發(fā)現(xiàn)抄襲,抄襲者與被抄 襲者皆以零分計(jì)入本課程設(shè)計(jì)成績(jī)。凡發(fā)現(xiàn)實(shí)驗(yàn)報(bào)告或源程序雷同,涉及的全部人員皆以零分計(jì)入 本課程設(shè)計(jì)成績(jī); (3) 學(xué)生在接受設(shè)計(jì)任務(wù)后,首先要按設(shè)計(jì)任務(wù)書(shū)的要求編寫(xiě)設(shè)計(jì)進(jìn)程表; (4) 認(rèn)真編寫(xiě)課程設(shè)計(jì)報(bào)告。 三、 設(shè)計(jì)內(nèi)容 (1) 需求分析 程序的功能、輸入輸出的要求
4、 1、 從文件中加載數(shù)據(jù); 2、 增加一個(gè)產(chǎn)品的信息; 3、 保存數(shù)據(jù); 4、 顯示所有產(chǎn)品的信息; 5、 刪除某個(gè)產(chǎn)品的信息; 6、 用名稱查找某個(gè)產(chǎn)品的信息; 7、 用編號(hào)查找某個(gè)產(chǎn)品的信息; 8、 退出。 (2) 問(wèn)題求解 首先,定義一個(gè)包含產(chǎn)品的編號(hào)、名稱、價(jià)格、數(shù)量等的輸入產(chǎn)品信息類(class Provider),緊接 著,定義一個(gè)輸入產(chǎn)品信息函數(shù)(void input()),輸入定義好的類中的數(shù)據(jù)成員。接著定義產(chǎn)品 輸出的函數(shù)(void output())。這部分是產(chǎn)品輸入輸出。定義節(jié)點(diǎn)類(class Node),節(jié)點(diǎn)類中包含 一個(gè)指向節(jié)點(diǎn)(Node)的指針變
5、量(next)和節(jié)點(diǎn)成員函數(shù)。 定義產(chǎn)品信息的目錄類(class List),有成員函數(shù)兩個(gè),一個(gè)List成員函數(shù)、一個(gè)增加產(chǎn)品 信息的成員函數(shù)(void addNode())。定義一個(gè)顯示產(chǎn)品的信息的函數(shù)(void XSNode()),用它來(lái)輸 入產(chǎn)品的信息。定義查詢函數(shù)(void queryNode1(char *TName)、void queryNode2(char *TID)) void delNode(char 分別用指向編號(hào)和名稱的地址來(lái)查詢。還有定義刪除和儲(chǔ)存產(chǎn)品信息的函數(shù)( *TName)和 void saveList())。 (3)總體設(shè)計(jì) 程序設(shè)計(jì)組成框圖(如下)
6、: 流程圖(如下): 用編號(hào) 查找某 個(gè)產(chǎn)品 信息 退出 (4)詳細(xì)設(shè)計(jì) 函數(shù)功能 1、 void input() 2、 void output。 3、 Node() 4、 List() 通過(guò)函數(shù)輸入產(chǎn)品信息 通過(guò)函數(shù)輸出產(chǎn)品信息 通過(guò)函數(shù)使指針指向下個(gè)地址 通過(guò)函數(shù)使指針指向首地址
7、 5、 6、 7、 8、 9、 10、 11、 12、 13、 14、 void void void void void addNode() XSNode() queryNode1(char *TName) queryNode2(char *TName) delNode(char *TName) void saveList() ofs.open("data.txt"); ifs.open("data.txt"); ~List() int main() 通過(guò)函數(shù)添加產(chǎn)品信息 通過(guò)函數(shù)顯示產(chǎn)品所有信息 通過(guò)函數(shù)查詢產(chǎn)品信息 同上 通過(guò)函
8、數(shù)刪除產(chǎn)品信息
通過(guò)函數(shù)儲(chǔ)存產(chǎn)品信息
通過(guò)函數(shù)輸出文本文件
通過(guò)函數(shù)輸入文本文件
通數(shù)過(guò)定義析構(gòu)函數(shù),釋放空間
通過(guò)主函數(shù)調(diào)用其他函數(shù);
(5)關(guān)鍵源程序清單
清單中應(yīng)有足夠的注釋問(wèn)題描述和功能設(shè)計(jì)。 源程序:
ID[10];//定義編號(hào)
Name[10];
Values[10];
Num[10];
input()
//定義輸入產(chǎn)品的信息的類
//定義輸入產(chǎn)品信息函數(shù)
#include
9、ss Provider { public: char char char char void {
cout<<"請(qǐng)輸入產(chǎn)品的信息:"< 10、 11、
//個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)
class List
{
public:
Node *start;
List()
{ start=NULL;}
void addNode()
{
Node *p;
p=new Node(); p->data.input(); p->next=start;
start=p;
}
//定義產(chǎn)品信息目錄類
//添加一個(gè)產(chǎn)品的信息
//鏈表
******************************************** 12、***********************
void XSNode()
//顯示所有產(chǎn)品的信息
Node *p;
for(p=start;p!=NULL;p=p->next)
p->data.output();
}
//個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)
void queryNode1(char *TName) //利用名稱查詢產(chǎn)品信息
{
Node *p;
for(p=start;p!=NULL;p=p->next)
{
if(strcmp(p->data.Na 13、me,TName)==0)
{
cout<<"產(chǎn)品的信息顯示如下:"< 14、urn;
}
} cout<<"沒(méi)找到你要的產(chǎn)品?。?! "< 15、<<"名稱:"< 16、>next)
{
if(strcmp(TName,c->data.Name)==0)
{
p->next=c->next;
if(start==c)
{
start=c->next;
} delete c;
cout<<"刪除已成功??! "< 17、個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè) void saveList() //儲(chǔ)存產(chǎn)品信息
{
Node *p; ofstream ofs; ofs.open("data.txt"); for(p=start;p!=NULL;p=p->next) { ofs< 18、; while(!ifs.eof()) { Node *p; p=new Node(); ifs〉〉p-〉data.ID; ifs〉〉p—〉data.Name; ifs>>p->data.Values; ifs>〉p-〉data.Num; p-〉next=start; start=p; } ifs.close(); Node *p; p=start; start=start-〉next; delete p; } ~List() //定義析構(gòu)函數(shù),釋放空間
{ Node *c;
for(c=start;c!=NULL;)
{
Node *p;
p=c;
c=c->next;
del 19、ete p;
}
}
};
//*************************************************************8
int main()
{
List p1;
char ch;
char tmpstr[50];
while(true)
{
cout<<"
個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè)個(gè) \\enu_L.
cout<<"
1、產(chǎn)品入庫(kù)信息;"< 20、
4、產(chǎn)品出庫(kù)信息;"< 21、reak;
case 4:
cout<<"請(qǐng)輸入出庫(kù)產(chǎn)品的名稱:";
cin>>tmpstr;
p1.delNode(tmpstr);break;
case '5':
cout<<"請(qǐng)輸入你要查找的產(chǎn)品的名稱:";
cin>>tmpstr;
p1.queryNode1(tmpstr);break;
case '6':
cout<<"請(qǐng)輸入你要查找的產(chǎn)品的編號(hào):";
cin>>tmpstr;
p1.queryNode2(tmpstr);break;
case '0':
return 0;
default:
cout<<"選擇錯(cuò)誤,請(qǐng)?jiān)俅芜x擇!??! "< 22、
}
}
return 0;
}
(6)執(zhí)行結(jié)果:
1<產(chǎn)品入庫(kù)信息;
2<保荏產(chǎn)品信息;
信息;
3、顯亦產(chǎn)品信息; 牝產(chǎn)品用廛彳. 公用名稱查找產(chǎn)品信息; 6.用編號(hào)查找產(chǎn)品信息■; 嘰由;
信 lql 1
的號(hào)s>
昂ID名價(jià)數(shù)
」產(chǎn)品入庫(kù)信息;
2 ~保在產(chǎn)品信息;
3 土顯成土品信息;
信息;
NNNXXXXXKKKNNXXXXXNNNNNXXXXKKKNNNXX
4一產(chǎn)品出.
公用名稱查找產(chǎn)品信息;
6、用編號(hào)查找產(chǎn)品信,息;
0.退出;
NNNNNNNNNNNNNNNNNNNNNNNNNNN 23、NNNNNNNN
c:\ "C:\Docu merits an d Setti ngs\Admi n istratcuA桌面\DebugLC叩 1 .exe11
■?的 2l-J2 2 的 1 Q 1 1
選品爭(zhēng)町>=品孕督>=
請(qǐng)產(chǎn)ID名價(jià)數(shù)產(chǎn)ID名價(jià)數(shù)
L產(chǎn)品入庫(kù)信息;
2、保查產(chǎn)品信息;
3 <顯可產(chǎn)品信息;
4、 產(chǎn)品電屋信息;
5、 用名稱查找產(chǎn)品信息;
6、 用編號(hào)查找產(chǎn)品信息;
0< iM由;
請(qǐng)選擇:
數(shù)星H
」產(chǎn)品入庫(kù)信息;
2、保在產(chǎn)品信息;
3 <顯卡產(chǎn)品信息; 牝產(chǎn)品rnfe?息; 公用名稱查找產(chǎn)品信息; 6、用編號(hào)查 24、找產(chǎn)品信息; 0< 1M 由;
情選擇:4
請(qǐng)輸入出庫(kù)產(chǎn)品的名稱:q 刪除已成功! !
c:\ XiVDocu ments an d Setti n gs\Adm i n istratar\桌鄙Debug'C叩 1 .exe11
情選擇:4
請(qǐng)輸入出庫(kù)產(chǎn)品的名稱:q
刪除已城! !
1、 產(chǎn)品入庫(kù)信息;
2、 保存產(chǎn)品信息;
J < - 11 ■ ■■ _1 7 |_||_| II—I >* L2-■■■ r
4、產(chǎn)品世屋信息;
公用含稱查找產(chǎn)品信息;
L用編號(hào)查找產(chǎn)品信息;
0< 由;
*青選擇:5
£青輸入你要查找的產(chǎn)品的名稱:q
愎找到你要的產(chǎn)品! ! ! 25、
g "C :、Docu ments an d Setti n gs\Admin istrator\^H\[>ebug\Cpp 1 .exe"
L產(chǎn)品入庫(kù)信息;
2 ■保存產(chǎn)品信息;
7 A. -■ 11 ■ ■■ -I 7 |_||_| !!_□ ■? L2_|-- ■
?產(chǎn)品月崖信息;
5. 用名稱查找產(chǎn)品信息; L用編號(hào)查找產(chǎn)品信息; 嘰由;
情選擇:5
請(qǐng)輸入你要查找的產(chǎn)品的名稱:"
產(chǎn)品的信息顯示如下:
ID 號(hào)=2
Bw
四、參考文獻(xiàn)
[1] 《數(shù)據(jù)結(jié)構(gòu)》.王紅梅.清華大學(xué)出版社
[2] 《數(shù)據(jù)結(jié)構(gòu)學(xué)習(xí)輔導(dǎo)與實(shí)驗(yàn)指導(dǎo)》.王紅梅.清華大學(xué)出版社
[3] 《C++程序設(shè)計(jì)》.錢(qián)能.清華大學(xué)出版社
[4] 《C++程序設(shè)計(jì)試驗(yàn)指導(dǎo)》.錢(qián)能.清華大學(xué)出版社
[5] 《C++程序設(shè)計(jì)》.譚浩強(qiáng).清華大學(xué)出版社
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 領(lǐng)導(dǎo)班子2024年度民主生活會(huì)對(duì)照檢查材料范文(三篇)
- 金融工作主題黨課講稿范文(匯編)
- 鍋爐必備學(xué)習(xí)材料
- 鍋爐設(shè)備的檢修
- 主題黨課講稿:走中國(guó)特色金融發(fā)展之路加快建設(shè)金融強(qiáng)國(guó)(范文)
- 鍋爐基礎(chǔ)知識(shí):?jiǎn)t注意事項(xiàng)技術(shù)問(wèn)答題
- 領(lǐng)導(dǎo)班子2024年度民主生活會(huì)“四個(gè)帶頭”對(duì)照檢查材料范文(三篇)
- 正常運(yùn)行時(shí)影響鍋爐汽溫的因素和調(diào)整方法
- 3.鍋爐檢修模擬考試復(fù)習(xí)題含答案
- 司爐作業(yè)人員模擬考試試卷含答案-2
- 3.鍋爐閥門(mén)模擬考試復(fù)習(xí)題含答案
- 某公司鍋爐安全檢查表
- 3.工業(yè)鍋爐司爐模擬考試題庫(kù)試卷含答案
- 4.司爐工考試題含答案解析
- 發(fā)電廠鍋爐的運(yùn)行監(jiān)視和調(diào)整