![數(shù)據(jù)結(jié)構(gòu)家電庫存管理系統(tǒng)課程設(shè)計(jì)報(bào)告畢業(yè)論文_第1頁](http://file4.renrendoc.com/view/6a9c2113885538c8acbef60c8050f8c2/6a9c2113885538c8acbef60c8050f8c21.gif)
![數(shù)據(jù)結(jié)構(gòu)家電庫存管理系統(tǒng)課程設(shè)計(jì)報(bào)告畢業(yè)論文_第2頁](http://file4.renrendoc.com/view/6a9c2113885538c8acbef60c8050f8c2/6a9c2113885538c8acbef60c8050f8c22.gif)
![數(shù)據(jù)結(jié)構(gòu)家電庫存管理系統(tǒng)課程設(shè)計(jì)報(bào)告畢業(yè)論文_第3頁](http://file4.renrendoc.com/view/6a9c2113885538c8acbef60c8050f8c2/6a9c2113885538c8acbef60c8050f8c23.gif)
![數(shù)據(jù)結(jié)構(gòu)家電庫存管理系統(tǒng)課程設(shè)計(jì)報(bào)告畢業(yè)論文_第4頁](http://file4.renrendoc.com/view/6a9c2113885538c8acbef60c8050f8c2/6a9c2113885538c8acbef60c8050f8c24.gif)
![數(shù)據(jù)結(jié)構(gòu)家電庫存管理系統(tǒng)課程設(shè)計(jì)報(bào)告畢業(yè)論文_第5頁](http://file4.renrendoc.com/view/6a9c2113885538c8acbef60c8050f8c2/6a9c2113885538c8acbef60c8050f8c25.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 .PAGE31 / NUMPAGES34數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告 摘要隨著信息技術(shù)的飛速發(fā)展,人們對(duì)信息管理技術(shù)要求也越來越高以適應(yīng)飛速發(fā)展的經(jīng)濟(jì)。本次課程設(shè)計(jì)針對(duì)當(dāng)前的需求,設(shè)計(jì)一個(gè)家電倉庫信息的管理系統(tǒng)以方便商家更快捷更有效的對(duì)倉庫貨品的信息進(jìn)行管理,給商家創(chuàng)造更多的價(jià)值!該系統(tǒng)整體運(yùn)用了數(shù)據(jù)結(jié)構(gòu)的知識(shí),它是將貨品信息按鏈表形式來儲(chǔ)存的。將所有的貨品分類儲(chǔ)存在數(shù)據(jù)鏈表的每一個(gè)節(jié)點(diǎn)中,每個(gè)節(jié)點(diǎn)也包含了一種類型家電的所有信息。即是,建一個(gè)鏈表,鏈表中有許多個(gè)節(jié)點(diǎn),節(jié)點(diǎn)中儲(chǔ)存了不同類型的數(shù)據(jù);這樣我們就很容易的將貨品信息管理起來了!該系統(tǒng)進(jìn)行了精心的規(guī)劃,有齊全的信息管理功能。方便用戶使用,用戶能
2、夠很快的找到自己所需要的信息并且有添加、刪除、修改、查詢、排序、保存等功能提高了用戶對(duì)信息的管理效率!關(guān)鍵詞:信息 數(shù)據(jù)結(jié)構(gòu) 鏈表 管理 目錄TOC o 1-3 h u HYPERLINK l _Toc1905 1 系統(tǒng)需求分析說明書 PAGEREF _Toc1905 1 HYPERLINK l _Toc14767 1.1系統(tǒng)軟件界面介紹 PAGEREF _Toc14767 1 HYPERLINK l _Toc17170 1.2系統(tǒng)設(shè)計(jì)要求 PAGEREF _Toc17170 1 HYPERLINK l _Toc11328 1.3系統(tǒng)的設(shè)計(jì) PAGEREF _Toc11328 2 HYPERL
3、INK l _Toc28578 2 系統(tǒng)分析與設(shè)計(jì) PAGEREF _Toc28578 3 HYPERLINK l _Toc15340 2.1系統(tǒng)分析 PAGEREF _Toc15340 3 HYPERLINK l _Toc6706 2.2系統(tǒng)功能分析 PAGEREF _Toc6706 4 HYPERLINK l _Toc25253 3 代碼實(shí)現(xiàn) PAGEREF _Toc25253 7 HYPERLINK l _Toc6507 3.1鏈表創(chuàng)建函數(shù)代碼解釋 PAGEREF _Toc6507 7 HYPERLINK l _Toc22253 3.2插入節(jié)點(diǎn)函數(shù)代碼解釋 PAGEREF _Toc222
4、53 7 HYPERLINK l _Toc603 3.3刪除節(jié)點(diǎn)函數(shù)代碼解釋 PAGEREF _Toc603 8 HYPERLINK l _Toc30689 3.4查找函數(shù)代碼解釋 PAGEREF _Toc30689 8 HYPERLINK l _Toc1231 3.5貨品信息修改函數(shù)代碼解釋 PAGEREF _Toc1231 9 HYPERLINK l _Toc22200 3.6信息讀取函數(shù)代碼解釋 PAGEREF _Toc22200 10 HYPERLINK l _Toc29521 4 系統(tǒng)功能實(shí)現(xiàn) PAGEREF _Toc29521 11 HYPERLINK l _Toc12606 4.
5、1 倉庫鏈表建立函數(shù)實(shí)現(xiàn) PAGEREF _Toc12606 11 HYPERLINK l _Toc7232 4.2修改信息函數(shù)實(shí)現(xiàn) PAGEREF _Toc7232 11 HYPERLINK l _Toc3338 4.3新增貨品插入函數(shù)實(shí)現(xiàn) PAGEREF _Toc3338 12 HYPERLINK l _Toc1195 4.4刪除函數(shù)實(shí)現(xiàn) PAGEREF _Toc1195 12 HYPERLINK l _Toc24961 4.5修改函數(shù)的實(shí)現(xiàn) PAGEREF _Toc24961 13 HYPERLINK l _Toc23233 4.6插入節(jié)點(diǎn)函數(shù)實(shí)現(xiàn) PAGEREF _Toc23233 1
6、3 HYPERLINK l _Toc28395 5 系統(tǒng)使用說明書 PAGEREF _Toc28395 14 HYPERLINK l _Toc25887 6 總結(jié) PAGEREF _Toc25887 15 HYPERLINK l _Toc4893 參考文獻(xiàn) PAGEREF _Toc4893 16 HYPERLINK l _Toc7496 致 PAGEREF _Toc7496 171 系統(tǒng)需求分析說明書1.1系統(tǒng)軟件界面介紹1.1 系統(tǒng)界面 該系統(tǒng)的軟件界面就是以在C+編譯后生成的一個(gè)系統(tǒng)菜單,菜單有八個(gè)選項(xiàng)供用戶選擇即有創(chuàng)建倉庫鏈表,信息查找等功能!在菜單下面有供用戶選擇系統(tǒng)項(xiàng)目的輸入指令,當(dāng)
7、用戶輸入0-7中的數(shù)字后就會(huì)實(shí)現(xiàn)相應(yīng)的功能!如果輸入錯(cuò)誤后界面會(huì)彈出警告讓用戶重新輸入!1.2系統(tǒng)設(shè)計(jì)要求第一,該系統(tǒng)的設(shè)計(jì)對(duì)設(shè)計(jì)者的要求比較高。想要設(shè)計(jì)該系統(tǒng),必須對(duì)C語言知識(shí)掌握牢固,以與C+、數(shù)據(jù)結(jié)構(gòu)知識(shí)靈活運(yùn)用。例如:主菜單供客戶選擇的選擇項(xiàng)就需要用到C語言的switch條件語句來實(shí)現(xiàn)不同的選擇功能。數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)封裝也是必不可少的。1.3系統(tǒng)的設(shè)計(jì) 系統(tǒng)設(shè)計(jì)分為幾大模塊進(jìn)行設(shè)計(jì)的。第一大模塊總體規(guī)劃設(shè)計(jì),這部分主要是封裝頭文件,這里要定義好數(shù)據(jù)結(jié)構(gòu)體,即要把一類家電信息打包成一個(gè)節(jié)點(diǎn)類型的數(shù)據(jù)然后再創(chuàng)建鏈表數(shù)據(jù)和指向節(jié)點(diǎn)數(shù)的節(jié)點(diǎn)。該過程就是數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類型ADT,這樣將就輕
8、松的把不同類型數(shù)據(jù)管理起來了!頭文件也包含了所有子函數(shù)的頭。第二大模塊是主函數(shù)的設(shè)計(jì),主函數(shù)的功能是要建立一個(gè)倉庫管理的鏈表,然后一一實(shí)現(xiàn)系統(tǒng)所有的功能即是在不同的情況對(duì)子函數(shù)的調(diào)用。第三大模塊是各個(gè)函數(shù)功能的實(shí)現(xiàn),該部分是系統(tǒng)的核心部分,在寫子函數(shù)的時(shí)候必須考慮周全;否則就會(huì)出現(xiàn)存出錯(cuò)的情況系統(tǒng)就會(huì)崩潰掉,信息就很可能丟失。會(huì)給用戶帶來巨大的損失!該系統(tǒng)設(shè)計(jì)模塊圖如圖1.2所示:系統(tǒng)總體結(jié)構(gòu)頭文件封裝子函數(shù)設(shè)計(jì)鏈表的設(shè)計(jì)系統(tǒng)主界面設(shè)計(jì) 圖1.2 系統(tǒng)模塊設(shè)計(jì)2 系統(tǒng)分析與設(shè)計(jì)2.1系統(tǒng)分析系統(tǒng)主要工作流程是從打開系統(tǒng)后進(jìn)入功能選擇,選擇不同的選項(xiàng)進(jìn)行操作后就返回系統(tǒng)首頁。其運(yùn)行流程圖如圖2.
9、1所示:主菜單Switch1創(chuàng)建鏈表2信息查找3新增信息4信息刪除5信息修改6保存信息7讀取文件8結(jié)束程序返回圖2.1系統(tǒng)流程圖2.2系統(tǒng)功能分析系統(tǒng)功能的實(shí)現(xiàn)主要是靠各個(gè)子函數(shù)來實(shí)現(xiàn)的。1)倉庫鏈表的創(chuàng)建: 當(dāng)用戶選擇功能號(hào)1時(shí),就進(jìn)行倉庫鏈表的建立。倉庫建立流程圖如圖2.2所示:入口建立鏈表完成鏈表建立返回 圖2.2 倉庫鏈表建立 2)倉庫貨品信息查找:信息查找流程圖如圖2.3 所示:入口查找方式查詢所有名稱查詢退出查詢返回 圖2.3 信息查找流程圖3)新增貨品信息插入: 新增貨品信息插入流程圖如圖2.4所示:入口輸入信息完成鏈表插入返回 圖2.4 信息插入流程圖4)刪除已賣出的貨品信息:
10、刪除信息流程圖如圖2.5所示:入口查找方式編號(hào)查詢名稱查詢返回刪除 圖2.5 刪除信息流程圖5)庫存貨品信息修改庫存貨品信息修改流程圖如圖2.6所示:入口查找方式編號(hào)查詢名稱查詢選擇修改2修改時(shí)間1修改商標(biāo)8修改型號(hào)5修改類別6修改編號(hào)7修改單價(jià)4修改重量3修改廠家返回首頁圖2.6 信息修改流程圖6)信息保存直接選功能號(hào)6即可保存到文件。7)倉庫信息讀取:倉庫信息讀取流程圖如圖2.7所示:入口讀入信息信息顯示返回圖2.7信息讀取流程圖3 代碼實(shí)現(xiàn)3.1鏈表創(chuàng)建函數(shù)代碼解釋NODE *creatlist()NODE *Head;Head=new NODE;int i; int k; NODE *
11、P1, *Ptr;P1=(NODE*)malloc(sizeof(NODE);P1=Head;cout輸入倉庫電器種類數(shù):k;printf(請(qǐng)輸入電器類別-型號(hào)-商標(biāo)-重量-單價(jià)-編號(hào)-日期-廠家n);for(i=0;idata.leibie,Ptr-data.xinhao,Ptr-data.brand,&Ptr-data.height,&Ptr-data.price,Ptr-data.no,Ptr-data.date,Ptr-data.factory);P1-link=Ptr;P1=Ptr;P1-link=NULL;return Head;這里使用鏈表創(chuàng)建函數(shù)就可以創(chuàng)建一個(gè)鏈表,并儲(chǔ)存貨品信
12、息!3.2插入節(jié)點(diǎn)函數(shù)代碼解釋void InsertNode(NODE *head,NODE *p) NODE *p1,*p2;p1=head;p2=p1-link;while(p2!=NULL & strcmp(p2-data.no,p-data.no)link; /p2 指向表的下一個(gè)結(jié)點(diǎn) p1-link=p; /插入 p 所指向的結(jié)點(diǎn)p-link=p2; /連接表中剩余的結(jié)點(diǎn)cout插入成功!data;if(pLoc=NULL)printf(沒有查到要?jiǎng)h除的商品信息!n);return ;if(pLoc!=NULL) printf(真的要?jiǎng)h除該商品嗎?(y/n):); cinx; if
13、(x=y|x=Y) pPre=head;while(pPre!=NULL)&(pPre-link!=pLoc)pPre=pPre-link;pPre-link=pLoc-link;free(pLoc);printf(delete success!n);該函數(shù)實(shí)現(xiàn)了對(duì)賣出貨品信息的刪除!3.4查找函數(shù)代碼解釋NODE *searchList(NODE *head)/貨品信息查找 char a; char b= ;while(1)printf(=n); printf( 1. 查詢所有家電信息 n);printf( 2. 按商品名稱查詢 n); printf( 0. 退出查找系統(tǒng) n);printf
14、(=n); printf( 請(qǐng) 選 擇: n); a = getch(); switch(a) case 0:return 0;break; case 1:list0(head);break; case 2:list1(head);break; default:printf(輸入錯(cuò)誤,請(qǐng)重新輸入:n);該函數(shù)用switch語句做成一個(gè)多種查找方式的查找函數(shù)!3.5貨品信息修改函數(shù)代碼解釋void modify(NODE *head)/庫存貨品信息修改int m;NODE *P;P=searchList1(head);cout請(qǐng)輸入要修改的商品信息番號(hào)!:endl;if (P=NULL) pri
15、ntf(沒有查到要修改的商品信息!n); return;if(P!=NULL)coutendl;printf(請(qǐng)輸入您選擇的功能號(hào):n);cinm; switch(m) case 1:cout請(qǐng)輸入新的商標(biāo)信息P-data.brand;break; case 2:cout請(qǐng)輸入新的日期信息 P-data.date;break; case 3:cout請(qǐng)輸入新的廠家信息 P-data.factory;break; case 4:cout請(qǐng)輸入新的重量信息 P-data.height;break; case 5:cout請(qǐng)輸入新的類別信息 P-data.leibie;break; case 6:c
16、out請(qǐng)輸入新的編號(hào)信息 P-data.no;break; case 7:cout請(qǐng)輸入新的單價(jià)信息 P-data.price;break; case 8:cout請(qǐng)輸入新的型號(hào)信息P-data.xinhao;break; case 0:break; P=P-link;該函數(shù)實(shí)現(xiàn)了對(duì)節(jié)點(diǎn)信息的修改!3.6信息讀取函數(shù)代碼解釋NODE *read_file(NODE *head)NODE *q,*t;head=Initlist(head);t=head;ifstream fin(家電庫存信息.txt);if( !fin )printf(n打開文件失敗!,可能沒有記錄n);return NULL;
17、printf(類別-型號(hào)-商 標(biāo)-重量-單價(jià)-編號(hào)-日期-廠家n);while ( !fin.eof() )q=(NODE*)malloc(sizeof(NODE);HOUSEHOLD temp;fintemp.leibie;fintemp.xinhao;fintemp.brand;fintemp.height;fintemp.price;fintemp.no;fintemp.date;fintemp.factory;q-data = temp;q-link=NULL;t-link=q;t=t-link; printf(讀取成功!n);fin.close();return head;該函數(shù)將文
18、本文件的數(shù)據(jù)讀出來并生成一個(gè)鏈表!4 系統(tǒng)功能實(shí)現(xiàn)4.1倉庫鏈表建立函數(shù)實(shí)現(xiàn)圖4.1倉庫鏈表建立函數(shù)實(shí)現(xiàn)4.2修改信息函數(shù)實(shí)現(xiàn)圖4.2修改信息函數(shù)實(shí)現(xiàn)4.3新增貨品插入函數(shù)實(shí)現(xiàn)圖4.3新增貨品插入函數(shù)實(shí)現(xiàn)4.4刪除函數(shù)實(shí)現(xiàn)圖4.4刪除函數(shù)實(shí)現(xiàn)4.5修改函數(shù)的實(shí)現(xiàn)圖4.5修改函數(shù)的實(shí)現(xiàn)4.6插入節(jié)點(diǎn)函數(shù)實(shí)現(xiàn)圖4.6插入節(jié)點(diǎn)函數(shù)實(shí)現(xiàn)5 系統(tǒng)使用說明書1.創(chuàng)建倉庫鏈表:在此目錄下,用戶可以創(chuàng)建一個(gè)新的倉庫鏈表。2.查詢記錄:在此目錄下,用戶可以查詢所有家電記錄和按名稱查詢家電記錄1).查詢所有家電記錄:顯示所有的家電記錄,如果沒有記錄則會(huì)提示用戶輸入記錄。2).按類別查詢家電記錄:輸入要查詢家電的名
19、稱后,顯示相應(yīng)家電的信息。3).按品牌查詢家電記錄:輸入要查詢家電的品牌后,顯示相應(yīng)家電的信息。4).按型號(hào)查詢家電記錄:輸入要查詢家電的型號(hào)后,顯示相應(yīng)家電的信息。 0).退出查詢系統(tǒng):退出查詢系統(tǒng)并返回主菜單。3. 插入新增貨品信息:在此目錄下,用戶添加新的紀(jì)錄。添加完后,系統(tǒng)會(huì)返回主菜單并提示用戶保存,此時(shí)你要可以選擇。4. 刪除信息:在此目錄下,用戶刪除紀(jì)錄5. 修改記錄:在此目錄下,用戶在原有的記錄上更改記錄。更改后,系統(tǒng)會(huì)返回主菜單并提示用戶保存,此時(shí)你要可以選擇2保存,如果不選擇保存則不會(huì)更改。6.保存記錄:在此目錄下,系統(tǒng)會(huì)對(duì)變動(dòng)的信息保存起來!7.讀取記錄:在此目錄下,系統(tǒng)將
20、儲(chǔ)存的信息全部讀出來!0. 退出系統(tǒng):提示按0鍵鍵退出系統(tǒng)。6 總結(jié)在為期兩周的時(shí)間終于完成了本次課程設(shè)計(jì)。在設(shè)計(jì)初期準(zhǔn)備階段時(shí)做好了充分的準(zhǔn)備,包括查詢資料、知識(shí)的溫故等。有了充分的準(zhǔn)備后,就可以有個(gè)好的開始了。課程設(shè)計(jì)在設(shè)計(jì)階段中遇到不少的問題,但是都一一解決了。在開始階段的數(shù)據(jù)封裝與函數(shù)頭做起來比較順利,第二階段在總體規(guī)劃時(shí)開始很混亂,但在仔細(xì)分析后很快就把總體思路打造好了。最后的也是最困難的問題就是怎樣實(shí)現(xiàn)各個(gè)子函數(shù)的功能,由于自己的粗心造成了不少的麻煩!例如,將一個(gè)有返回值函數(shù)直接調(diào)用,而沒有進(jìn)行傳值造成了存錯(cuò)誤從而耽誤了進(jìn)度。最后進(jìn)行仔細(xì)調(diào)試后才發(fā)現(xiàn)這個(gè)問題,最后程序就順利運(yùn)行了!
21、參考文獻(xiàn)1 吳偉民. 結(jié)構(gòu)(C語言版).大學(xué),20002 周學(xué)毛 健. 據(jù)結(jié)構(gòu)與程序設(shè)計(jì).人民郵電, 20083 譚浩強(qiáng). C程序設(shè)計(jì)(第三版). 清華大學(xué)出版設(shè), 20084 永泉.高質(zhì)量程序設(shè)計(jì)指南C+/C語言第3版, 20075 仕華. 數(shù)據(jù)結(jié)構(gòu)與算法解析. : 中國科學(xué)技術(shù)大學(xué),20046 振安 忱 燕君. C程序設(shè)計(jì)課程設(shè)計(jì). :機(jī)械工業(yè),20047 唐策善,黃生. 數(shù)據(jù)結(jié)構(gòu)(第二版). :中國科學(xué)技術(shù)大學(xué),20028 大有,唐海鷹. 數(shù)據(jù)結(jié)構(gòu). :高等教育,20019 嚴(yán)蔚敏,文博. 數(shù)據(jù)結(jié)構(gòu)與應(yīng)用算法教程. :清華大學(xué),200110 仕華. 數(shù)據(jù)結(jié)構(gòu)自學(xué)輔導(dǎo). :清華大學(xué),200
22、211 徐孝凱. 數(shù)據(jù)結(jié)構(gòu)實(shí)用教程. :清華大學(xué),199912 仕華. 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì). :機(jī)械工業(yè),2005致經(jīng)過為期一周的努力,我的課程設(shè)計(jì)任務(wù)也終于如期完成。在設(shè)計(jì)階段中遇到不少的問題,但是都一一解決了。有些是通過自己細(xì)心的研究和檢查把程序調(diào)試好,有的問題是自己不懂的知識(shí)通過網(wǎng)上搜索以與同學(xué)的幫助也順利的解決了!在此我要感幫助過我的老師和同學(xué)們,是你們耐心指導(dǎo)才讓我順利的完成了本次課程設(shè)計(jì)。我也從中學(xué)到許多的東西! 通過本次課程設(shè)計(jì),我對(duì)數(shù)據(jù)結(jié)構(gòu)的知識(shí)掌握更牢固了!也培養(yǎng)了自己勤于思考的良好習(xí)慣!也讓我收獲了不少的東西,感所有幫助過我的人!附頁: 程序代碼頭文件.h#include #
23、include #include #include#include windows.h#include#includeusing namespace std;typedef struct _Householdchar leibie20;char xinhao30;char brand30;float height;double price;char no30;char date20;char factory30;int key;HOUSEHOLD;typedef struct _NODEHOUSEHOLD data;struct _NODE *link;NODE;typedef struct
24、_LINKLISTNODE* Phead;int count;LINKLIST;LINKLIST *creatvoidlist();NODE *creatlist();void InsertNode(NODE *head,NODE *p);void deleteNode(NODE *head);NODE *searchList(NODE *head);NODE *searchList1(NODE *head);void modify(NODE *head);bool display(NODE *head);NODE *sort(NODE *head); void write_file(NODE
25、 *head);NODE *read_file(NODE *head);NODE *Initlist(NODE *p);void list0(NODE *head);void list1(NODE *head);int StrCmp(char na,char name,int y);子函數(shù).cpp #includestore.hLINKLIST *creatvoidlist()/創(chuàng)建一個(gè)空的倉庫鏈表LINKLIST *p;p = (LINKLIST*)malloc(sizeof(LINKLIST);if(!p)exit(0);p-count=0;p-Phead=NULL;return p;NO
26、DE *creatlist()/創(chuàng)建鏈表NODE *Head;Head=new NODE;int i;int k; NODE *P1, *Ptr;P1=(NODE*)malloc(sizeof(NODE);P1=Head;cout輸入倉庫電器種類數(shù):k;printf(請(qǐng)輸入電器類別-型號(hào)-商標(biāo)-重量-單價(jià)-編號(hào)-日期-廠家n);for(i=0;idata.leibie,Ptr-data.xinhao,Ptr-data.brand,&Ptr-data.height,&Ptr-data.price,Ptr-data.no,Ptr-data.date,Ptr-data.factory);P1-lin
27、k=Ptr;P1=Ptr;P1-link=NULL;printf(添加成功!);return Head;void InsertNode(NODE *head,NODE *p)/插入新的節(jié)點(diǎn) NODE *p1,*p2;p1=head;p2=p1-link;while(p2!=NULL & strcmp(p2-data.no,p-data.no)link; /p2 指向表的下一個(gè)結(jié)點(diǎn) p1-link=p; /插入 p 所指向的結(jié)點(diǎn)p-link=p2; /連接表中剩余的結(jié)點(diǎn)cout插入成功!data;if(pLoc=NULL)printf(沒有查到要?jiǎng)h除的商品信息!n);return ;if(pLo
28、c!=NULL) printf(真的要?jiǎng)h除該商品嗎?(y/n):); cinx; if (x=y|x=Y) pPre=head;while(pPre!=NULL)&(pPre-link!=pLoc)pPre=pPre-link;pPre-link=pLoc-link;free(pLoc);printf(delete success!n);NODE *searchList1(NODE *head)/貨品信息查找 NODE *p;char num30;char name30; char pp; printf(=n); printf( a. 按商品編號(hào)查詢 n);printf( b. 按商品名稱查詢
29、 n);printf(=n); printf( 請(qǐng) 選 擇: ); p=head-link; cinpp; getchar();if (pp=a|pp=A) cout請(qǐng)輸入要查找的商品編號(hào):num;while (p&strcmp(p-data.no,num)!=0) p=p-link; if (p=NULL)|strcmp(p-data.no,num)0)p=NULL;else if (pp=b|pp=B) cout 請(qǐng)輸入要查找的商品名稱:name;while(p&strcmp(p-data.leibie,name)!=0)p=p-link; return p;NODE *searchLis
30、t(NODE *head)/貨品信息查找 char a; char b= ;while(1)printf(=n); printf( 1. 查詢所有家電信息 n);printf( 2. 按商品名稱查詢 n); printf( 0. 退出查找系統(tǒng) n);printf(=n); printf( 請(qǐng) 選 擇: n); a = getch(); switch(a) case 0:return 0;break; case 1:list0(head);break; case 2:list1(head);break; default:printf(輸入錯(cuò)誤,請(qǐng)重新輸入:n);void list0(NODE *
31、head)/查詢所有家電信息 NODE *p; p=head-link; if(p=NULL)printf(沒有記錄,請(qǐng)輸入記錄n);elseprintf(類別-型號(hào)-商 標(biāo)-重量-單價(jià)-編號(hào)-日期-廠家n);while(p!=NULL)printf(%s %s %s %f%lf %s %s %sn,p-data.leibie,p-data.xinhao,p-data.brand,p-data.height,p-data.price,p-data.no,p-data.date,p-data.factory);p=p-link;void list1(NODE *head)/按名稱查詢函數(shù) NOD
32、E *p; p=head; int y; char na20; printf(請(qǐng)輸入查詢家電的名稱:); scanf(%s,na);printf(你要查詢的記錄為n); while(p!=NULL)y=StrCmp(na,p-data.leibie,20);if(y=1) p=p-link;elseprintf(類別-型號(hào)-商 標(biāo)-重量-單價(jià)-編號(hào)-日期-廠家n);printf(%s %s %s %f%lf %s %s %sn,p-data.leibie,p-data.xinhao,p-data.brand,p-data.height,p-data.price,p-data.no,p-data
33、.date,p-data.factory);p=p-link;int StrCmp(char na,char name,int y)/比較數(shù)據(jù)信息 int i =0; int n=0; while(nai)n+;i+; for(i=0;in;i+) if(nai!=namei)break; if(in) return 1; elsereturn 0;void modify(NODE *head)/庫存貨品信息修改int m;NODE *P;P=searchList1(head);cout請(qǐng)輸入要修改的商品信息番號(hào)?。篹ndl;if (P=NULL) printf(沒有查到要修改的商品信息!n)
34、; return;if(P!=NULL)printf( :n);printf( : 選擇要修改的項(xiàng)目 *n);printf( :=*n);printf( : 1. 修改貨品商標(biāo) *n);printf( : 2. 修改進(jìn)貨時(shí)間 *n);printf( : 3. 修改生產(chǎn)廠家 *n);printf( : 4. 修改貨品質(zhì)量 *n);printf( : 5. 修改貨品類別 *n);printf( : 6. 修改貨品編號(hào) *n);printf( : 7. 修改貨品單價(jià) *n);printf( : 8. 修改貨品型號(hào) *n);printf( : 0. 結(jié)束程序 *n);printf( :*n);cout
35、endl;printf(請(qǐng)輸入您選擇的功能號(hào):n);cinm; switch(m) case 1:cout請(qǐng)輸入新的商標(biāo)信息P-data.brand;break; case 2:cout請(qǐng)輸入新的日期信息 P-data.date;break; case 3:cout請(qǐng)輸入新的廠家信息 P-data.factory;break; case 4:cout請(qǐng)輸入新的重量信息 P-data.height;break; case 5:cout請(qǐng)輸入新的類別信息 P-data.leibie;break; case 6:cout請(qǐng)輸入新的編號(hào)信息 P-data.no;break; case 7:cout請(qǐng)輸
36、入新的單價(jià)信息 P-data.price;break; case 8:cout請(qǐng)輸入新的型號(hào)信息P-data.xinhao;break; case 0:break; P=P-link;bool display(NODE *head)/顯示庫存信息NODE *temp;temp=head-link;printf(電器類別-型號(hào)-商標(biāo)-重量-單價(jià)-編號(hào)-日期-廠家 n);printf(n);while(temp)HOUSEHOLD info = temp-data;printf(%st,info.leibie);printf(%st,info.xinhao);printf(%st,info.bra
37、nd);printf(%ft,info.height);printf(%lft,info.price);printf(%st,info.no);printf(%st,info.date);printf(%st,info.factory); printf(n);temp=temp-link;return true;NODE *sort(NODE *head)/鏈表排序NODE *first,*rear,*p_min,*min,*p;first = NULL;while(head != NULL)for(p=head,min=head;p-link;p-link) if(p-link-data.n
38、odata.no)p_min=p;min=p-link;if(first=NULL)first=min;rear=min;if(min=head)head=head-link;elsep_min-link=min-link;if(first!=NULL)rear-link=NULL;head=first;return head;void write_file(NODE *head)/寫入文件函數(shù)FILE *fp;if(fp=fopen(家電庫存信息.txt,a)=NULL)coutcant save it!link;while(p!=NULL)fprintf(fp,%s %s %s %f %l
39、f %s %s %sn,p-data.leibie,p-data.xinhao,p-data.brand,p-data.height,p-data.price,p-data.no,p-data.date,p-data.factory);p=p-link;fclose(fp);NODE *read_file(NODE *head)/從文件讀取數(shù)據(jù)NODE *q,*t;head=Initlist(head);t=head;ifstream fin(家電庫存信息.txt);if( !fin )printf(n打開文件失敗!,可能沒有記錄n);return NULL;printf(類別-型號(hào)-商 標(biāo)-
40、重量-單價(jià)-編號(hào)-日期-廠家n);while ( !fin.eof() )q=(NODE*)malloc(sizeof(NODE);HOUSEHOLD temp;fintemp.leibie;fintemp.xinhao;fintemp.brand;fintemp.height;fintemp.price;fintemp.no;fintemp.date;fintemp.factory;couttemp.leibie | ;couttemp.xinhao | ;couttemp.brand | ;couttemp.height | ;couttemp.price | ;couttemp.no | ;couttemp.date | ;couttemp.factory | data = temp;q-link=NULL;t-link=q;t=t-link; printf(讀取成功!n);fin.close();return head;NODE *Initlist(NODE *p)/節(jié)點(diǎn)初始化 p=(NODE*)mal
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)研學(xué)活動(dòng)方案6篇
- 工程造價(jià)咨詢服務(wù)合同范本9篇
- 學(xué)校矛盾糾紛排查工作情況匯報(bào)三篇
- 中國小動(dòng)物技能大賽骨科專賽理論考試題庫(含答案)
- 《反電信網(wǎng)絡(luò)詐騙法》知識(shí)考試題庫150題(含答案)
- 大拇指腱鞘炎偏方課件
- 2025年河北女子職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點(diǎn)含答案解析
- 2025年江西現(xiàn)代職業(yè)技術(shù)學(xué)院高職單招高職單招英語2016-2024歷年頻考點(diǎn)試題含答案解析
- 2025年江西冶金職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點(diǎn)含答案解析
- 2025年武漢職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫含答案解析
- 2025年度新能源汽車充電站運(yùn)營權(quán)轉(zhuǎn)讓合同樣本4篇
- 第5課 隋唐時(shí)期的民族交往與交融 課件(23張) 2024-2025學(xué)年統(tǒng)編版七年級(jí)歷史下冊(cè)
- 2024年全國職業(yè)院校技能大賽高職組(生產(chǎn)事故應(yīng)急救援賽項(xiàng))考試題庫(含答案)
- 老年上消化道出血急診診療專家共識(shí)2024
- 廣東省廣州黃埔區(qū)2023-2024學(xué)年八年級(jí)上學(xué)期期末物理試卷(含答案)
- 學(xué)校安全工作計(jì)劃及行事歷
- 《GMP基礎(chǔ)知識(shí)培訓(xùn)》課件
- 數(shù)學(xué)家華羅庚課件
- 貴州茅臺(tái)酒股份有限公司招聘筆試題庫2024
- 《納米技術(shù)簡(jiǎn)介》課件
- 血液透析高鉀血癥的護(hù)理查房
評(píng)論
0/150
提交評(píng)論