數據結構-家電庫存管理系統課程設計報告(共38頁)_第1頁
數據結構-家電庫存管理系統課程設計報告(共38頁)_第2頁
數據結構-家電庫存管理系統課程設計報告(共38頁)_第3頁
數據結構-家電庫存管理系統課程設計報告(共38頁)_第4頁
數據結構-家電庫存管理系統課程設計報告(共38頁)_第5頁
已閱讀5頁,還剩37頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、PAGE 重慶(zhn qn)科技學院數據結構(sh j ji u)課程設計報告(bogo) 學 院:_電氣與信息工程學院_ 專業班級: 計科2010-01 學生姓名: 陽 勇 學 號: 2010441798 設計地點(單位)_ _ 計算機基礎自主學習中心 _ _ _設計題目:_家電庫存管理系統的設計_ _ _ 完成日期:2012年 1 月 13 日 指導教師評語: _ _ _ _ _ 成績(chngj)(五級記分制):_ _ 指導(zhdo)教師(簽字):_ _ 重慶科技學院數據結構課程設計報告 PAGE 36重慶科技(kj)學院課程設計任務書設計(shj)題目:家電(ji din)庫存管理

2、系統的設計 學生姓名陽勇課程名稱數據結構課程設計專業班級計科2010-01,02,03,04地 點計算機基礎自主學習中心起止時間2011.12.31-2012.1.13設計內容及要求以鏈表結構的有序表表示某商場家電部的庫存模型。當有提貨或進貨時需要對該鏈表及時進行維護。每次退出程序時,將該鏈表中的數據以文件形式保存在磁盤上,每次啟動程序時,需將以文件形式保存的數據恢復成鏈表結構的有序表。鏈表結點的數據域包括:類別、型號、品牌、重量、單價、數量、生產日期、廠家名稱,默認按類別、品牌升序排好序。程序功能包括:創建鏈表、插入、刪除、修改、查詢、排序等。設計參數測試數據要求:家電類別(如:電視機,空調

3、,冰箱等)不少于5種,記錄數量不少于500。進度要求2011.12.31 完成任務的講解、并接受課程設計任務,選定課程設計的題目2012.01.04 了解任務的算法、并畫出算法的程序流程圖,對任務的關鍵技術進行驗證、并確定解決辦法2012.01.05-2012.01.06 編制程序2012.01.09 對程序進行調試,設計測試用例進行測試2012.01.10 整理課程設計的過程、并進行總結,完善程序功能2012.01.11 編寫課程設計報告初稿2012.01.12 完善課程設計報告、并準備答辨2012.01.13 提交課程設計報告和程序,進行答辨參考資料1嚴蔚敏 吳偉民, 數據結構,清華大學出

4、版社,2007.32李春葆 ,數據結構教程,清華大學出版社,2005.13(美)Stephen Prata, C Primer Plus中文版(第五版),人民郵電出版社,2005.2其它說明1.本表應在每次實施前一周由負責教師填寫二份,學院審批后交學院教務辦備案,一份由負責教師留用。2.若填寫內容較多可另紙附后。3.一題多名學生共用的,在設計內容、參數、要求等方面應有所區別。系主任:雷亮 指導教師: 向毅/彭軍/王雙明/龍馮文/黃永文 2011年12月 26日 摘要隨著信息技術的飛速發展,人們(rn men)對信息管理技術要求也越來越高以適應飛速發展的經濟。本次課程設計針對當前的需求,設計一個

5、家電倉庫信息的管理系統以方便商家更快捷更有效的對倉庫貨品的信息進行管理,給商家創造更多的價值!該系統整體運用了數據結構的知識,它是將貨品信息按鏈表形式來儲存的。將所有的貨品分類儲存在數據鏈表的每一個節點中,每個節點也包含了一種類型家電的所有信息。即是,建一個鏈表,鏈表中有許多個節點,節點中儲存了不同(b tn)類型的數據;這樣我們就很容易的將貨品信息管理起來了!該系統進行了精心的規劃,有齊全的信息管理功能。方便用戶使用,用戶能夠(nnggu)很快的找到自己所需要的信息并且有添加、刪除、修改、查詢、排序、保存等功能提高了用戶對信息的管理效率!關鍵詞:信息 數據結構 鏈表 管理 目錄TOC o 1

6、-3 h u HYPERLINK l _Toc1905 1 系統需求(xqi)分析說明書 PAGEREF _Toc1905 1 HYPERLINK l _Toc14767 1.1系統軟件(x tn run jin)界面介紹 PAGEREF _Toc14767 1 HYPERLINK l _Toc17170 1.2系統(xtng)設計要求 PAGEREF _Toc17170 1 HYPERLINK l _Toc11328 1.3系統的設計 PAGEREF _Toc11328 2 HYPERLINK l _Toc28578 2 系統分析與設計 PAGEREF _Toc28578 3 HYPERLI

7、NK l _Toc15340 2.1系統分析 PAGEREF _Toc15340 3 HYPERLINK l _Toc6706 2.2系統功能分析 PAGEREF _Toc6706 4 HYPERLINK l _Toc25253 3 代碼實現 PAGEREF _Toc25253 7 HYPERLINK l _Toc6507 3.1鏈表創建函數代碼解釋 PAGEREF _Toc6507 7 HYPERLINK l _Toc22253 3.2插入節點函數代碼解釋 PAGEREF _Toc22253 7 HYPERLINK l _Toc603 3.3刪除節點函數代碼解釋 PAGEREF _Toc60

8、3 8 HYPERLINK l _Toc30689 3.4查找函數代碼解釋 PAGEREF _Toc30689 8 HYPERLINK l _Toc1231 3.5貨品信息修改函數代碼解釋 PAGEREF _Toc1231 9 HYPERLINK l _Toc22200 3.6信息讀取函數代碼解釋 PAGEREF _Toc22200 10 HYPERLINK l _Toc29521 4 系統功能實現 PAGEREF _Toc29521 11 HYPERLINK l _Toc12606 4.1 倉庫鏈表建立函數實現 PAGEREF _Toc12606 11 HYPERLINK l _Toc723

9、2 4.2修改信息函數實現 PAGEREF _Toc7232 11 HYPERLINK l _Toc3338 4.3新增貨品插入函數實現 PAGEREF _Toc3338 12 HYPERLINK l _Toc1195 4.4刪除函數實現 PAGEREF _Toc1195 12 HYPERLINK l _Toc24961 4.5修改函數的實現 PAGEREF _Toc24961 13 HYPERLINK l _Toc23233 4.6插入節點函數實現 PAGEREF _Toc23233 13 HYPERLINK l _Toc28395 5 系統使用說明書 PAGEREF _Toc28395 1

10、4 HYPERLINK l _Toc25887 6 總結 PAGEREF _Toc25887 15 HYPERLINK l _Toc4893 參考文獻 PAGEREF _Toc4893 16 HYPERLINK l _Toc7496 致謝 PAGEREF _Toc7496 17重慶科技學院數據結構課程設計報告1 系統(xtng)需求分析說明書1.1系統軟件(x tn run jin)界面介紹 1.1 系統(xtng)界面 該系統的軟件界面就是以在C+編譯后生成的一個系統菜單,菜單有八個選項供用戶選擇即有創建倉庫鏈表,信息查找等功能!在菜單下面有供用戶選擇系統項目的輸入指令,當用戶輸入0-7中的

11、數字后就會實現相應的功能!如果輸入錯誤后界面會彈出警告讓用戶重新輸入!1.2系統設計要求 第一,該系統的設計對設計者的要求比較高。想要設計該系統,必須對C語言知識掌握牢固,以及C+、數據結構知識靈活運用。例如:主菜單供客戶選擇的選擇項就需要用到C語言的switch條件語句來實現不同的選擇功能。數據結構中的數據封裝也是必不可少的。1.3系統(xtng)的設計 系統設計分為幾大模塊(m kui)進行設計的。第一大模塊總體規劃設計,這部分主要是封裝頭文件,這里要定義好數據結構體,即要把一類家電信息打包成一個節點類型的數據然后再創建鏈表數據和指向節點數的節點。該過程就是數據結構中的抽象數據類型ADT,

12、這樣將就輕松的把不同類型數據管理起來了!頭文件也包含(bohn)了所有子函數的頭。第二大模塊是主函數的設計,主函數的功能是要建立一個倉庫管理的鏈表,然后一一實現系統所有的功能即是在不同的情況對子函數的調用。第三大模塊是各個函數功能的實現,該部分是系統的核心部分,在寫子函數的時候必須考慮周全;否則就會出現內存出錯的情況系統就會崩潰掉,信息就很可能丟失。會給用戶帶來巨大的損失!該系統設計模塊圖如圖1.2所示:系統總體結構頭文件封裝子函數設計鏈表的設計系統主界面設計 圖1.2 系統(xtng)模塊設計2 系統分析與設計(shj)2.1系統分析系統主要工作流程是從打開系統后進入功能選擇,選擇不同(b

13、tn)的選項進行操作后就返回系統首頁。其運行流程圖如圖2.1所示:主菜單Switch1創建鏈表2信息查找3新增信息4信息刪除5信息修改6保存信息7讀取文件8結束程序返回圖2.1系統(xtng)流程圖2.2系統(xtng)功能分析 系統(xtng)功能的實現主要是靠各個子函數來實現的。1)倉庫鏈表的創建: 當用戶選擇功能號1時,就進行倉庫鏈表的建立。倉庫建立流程圖如圖2.2所示:入口建立鏈表完成鏈表建立返回 圖2.2 倉庫(cngk)鏈表建立 2)倉庫貨品(hupn)信息查找:信息(xnx)查找流程圖如圖2.3 所示:入口查找方式查詢所有名稱查詢退出查詢返回 圖2.3 信息查找流程圖3)新增貨品

14、信息插入: 新增貨品信息插入流程圖如圖2.4所示:入口輸入信息完成鏈表插入返回 圖2.4 信息插入流程圖4)刪除已賣出的貨品信息:刪除信息流程圖如圖2.5所示:入口查找方式編號查詢名稱查詢返回刪除 圖2.5 刪除(shnch)信息流程圖5)庫存貨品(hupn)信息修改庫存貨品(hupn)信息修改流程圖如圖2.6所示:入口查找方式編號查詢名稱查詢選擇修改2修改時間1修改商標8修改型號5修改類別6修改編號7修改單價4修改重量3修改廠家返回首頁圖2.6 信息(xnx)修改流程圖6)信息保存(bocn)直接選功能號6即可保存到文件。7)倉庫(cngk)信息讀取:倉庫信息讀取流程圖如圖2.7所示:入口讀

15、入信息信息顯示返回圖2.7信息讀取流程圖3 代碼(di m)實現3.1鏈表創建函數(hnsh)代碼解釋NODE *creatlist()NODE *Head;Head=new NODE;int i; int k; NODE *P1, *Ptr;P1=(NODE*)malloc(sizeof(NODE);P1=Head;cout輸入(shr)倉庫電器種類數:k;printf(請輸入電器類別-型號-商標-重量-單價-編號-日期-廠家n);for(i=0;idata.leibie,Ptr-data.xinhao,Ptr-data.brand,&Ptr-data.height,&Ptr-data.pr

16、ice,Ptr-data.no,Ptr-data.date,Ptr-data.factory);P1-link=Ptr;P1=Ptr;P1-link=NULL;return Head;這里使用鏈表創建函數就可以創建一個鏈表,并儲存貨品信息!3.2插入節點函數代碼解釋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 指向表的下一個結點 p1-link=p; /插入 p 所指向的結點p-link=p2;

17、/連接表中剩余的結點cout插入(ch r)成功!data;if(pLoc=NULL)printf(沒有查到要刪除的商品信息!n);return ;if(pLoc!=NULL) printf(真的要刪除該商品嗎?(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);該函數實現了對賣出貨品信息的刪除!3.4查找函數代碼解釋NODE *searchList(NODE

18、*head)/貨品信息查找 char a; char b= ;while(1)printf(=n); printf( 1. 查詢所有家電信息 n);printf( 2. 按商品名稱查詢 n); printf( 0. 退出查找系統 n);printf(=n); printf( 請 選 擇: n); a = getch(); switch(a) case 0:return 0;break; case 1:list0(head);break; case 2:list1(head);break; default:printf(輸入(shr)錯誤,請重新輸入:n);該函數用switch語句(yj)做成一

19、個多種查找方式的查找函數!3.5貨品信息修改函數(hnsh)代碼解釋void modify(NODE *head)/庫存貨品信息修改int m;NODE *P;P=searchList1(head);cout請輸入要修改的商品信息番號!:endl;if (P=NULL) printf(沒有查到要修改的商品信息!n); return;if(P!=NULL)coutendl;printf(請輸入您選擇的功能號:n);cinm; switch(m) case 1:cout請輸入新的商標信息P-data.brand;break; case 2:cout請輸入新的日期信息 P-data.date;bre

20、ak; case 3:cout請輸入新的廠家信息 P-data.factory;break; case 4:cout請輸入新的重量信息 P-data.height;break; case 5:cout請輸入新的類別信息 P-data.leibie;break; case 6:cout請輸入新的編號信息 P-data.no;break; case 7:cout請輸入新的單價信息 P-data.price;break; case 8:cout請輸入新的型號信息P-data.xinhao;break; case 0:break; P=P-link;該函數實現(shxin)了對節點信息的修改!3.6信

21、息讀取函數代碼(di m)解釋NODE *read_file(NODE *head)NODE *q,*t;head=Initlist(head);t=head;ifstream fin(家電(ji din)庫存信息.txt);if( !fin )printf(n打開文件失敗!,可能沒有記錄n);return NULL;printf(類別-型號-商 標-重量-單價-編號-日期-廠家n);while ( !fin.eof() )q=(NODE*)malloc(sizeof(NODE);HOUSEHOLD temp;fintemp.leibie;fintemp.xinhao;fintemp.bran

22、d;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;該函數將文本文件的數據讀出來并生成一個鏈表!4 系統(xtng)功能實現4.1 倉庫(cngk)鏈表建立函數實現圖4.1倉庫(cngk)鏈表建立函數實現4.2修改信息函數實現 圖4.2修改信息函數實現4.3新增貨品插入(ch r)函數實現圖4.3新增貨品插入函數(hnsh)實現4.4刪除

23、(shnch)函數實現圖4.4刪除(shnch)函數實現4.5修改(xigi)函數的實現圖4.5修改(xigi)函數的實現4.6插入節點函數實現圖4.6插入節點(ji din)函數實現5 系統(xtng)使用說明書1.創建(chungjin)倉庫鏈表:在此目錄下,用戶可以創建一個新的倉庫鏈表。2.查詢記錄:在此目錄下,用戶可以查詢所有家電記錄和按名稱查詢家電記錄1).查詢所有家電記錄:顯示所有的家電記錄,如果沒有記錄則會提示用戶輸入記錄。2).按類別查詢家電記錄:輸入要查詢家電的名稱后,顯示相應家電的信息。3).按品牌查詢家電記錄:輸入要查詢家電的品牌后,顯示相應家電的信息。4).按型號查詢家

24、電記錄:輸入要查詢家電的型號后,顯示相應家電的信息。 0).退出查詢系統:退出查詢系統并返回主菜單。3. 插入新增貨品信息:在此目錄下,用戶添加新的紀錄。添加完后,系統會返回主菜單并提示用戶保存,此時你要可以選擇。4. 刪除信息:在此目錄下,用戶刪除紀錄 5. 修改記錄:在此目錄下,用戶在原有的記錄上更改記錄。更改后,系統會返回(fnhu)主菜單并提示用戶保存,此時你要可以選擇2保存,如果不選擇保存則不會更改。6.保存記錄(jl):在此目錄下,系統會對變動的信息保存起來!7.讀取記錄:在此目錄下,系統(xtng)將儲存的信息全部讀出來!0. 退出系統:提示按0鍵鍵退出系統。6 總結在為期兩周的

25、時間終于完成了本次課程設計。在設計初期準備階段時做好了充分的準備,包括查詢資料、知識的溫故等。有了充分的準備后,就可以有個好的開始了。課程設計在設計階段中遇到不少的問題,但是都一一解決了。在開始階段的數據封裝與函數頭做起來比較順利,第二階段在總體規劃時開始很混亂,但在仔細分析后很快就把總體思路打造好了。最后的也是最困難的問題就是怎樣實現各個子函數的功能,由于自己的粗心造成了不少的麻煩!例如,將一個有返回值函數直接調用,而沒有進行傳值造成了內存錯誤從而耽誤了進度。最后進行仔細調試后才發現這個問題,最后程序就順利運行了!參考文獻1 吳偉民. 結構(jigu)(C語言版).大學出版社,20002 周

26、學毛 李健. 據結構(jigu)與程序設計.人民郵電出版社, 20083 譚浩強. C程序設計(chn x sh j)(第三版). 清華大學出版設, 20084 韓永泉.高質量程序設計指南C+/C語言第3版, 20075 蘇仕華. 數據結構與算法解析. 合肥: 中國科學技術大學出版社,20046 劉振安 孫忱 劉燕君. C程序設計課程設計. 北京:機械工業出版社,20047 唐策善,黃劉生. 數據結構(第二版). 合肥:中國科學技術大學出版社,20028 劉大有,唐海鷹. 數據結構. 北京:高等教育出版社,20019 嚴蔚敏,陳文博. 數據結構及應用算法教程. 北京:清華大學出版社,20011

27、0 蘇仕華. 數據結構自學輔導. 北京:清華大學出版社,200211 徐孝凱. 數據結構實用教程. 北京:清華大學出版社,199912 蘇仕華. 數據結構課程設計. 北京:機械工業出版社,2005致謝(zh xi)經過(jnggu)為期一周的努力,我的課程設計任務也終于如期完成。在設計階段中遇到不少的問題,但是都一一解決了。有些是通過自己細心的研究和檢查把程序調試好,有的問題是自己不懂的知識通過網上搜索以及同學的幫助也順利的解決了!在此我要感謝幫助過我的老師(losh)和同學們,是你們耐心指導才讓我順利的完成了本次課程設計。我也從中學到許多的東西! 通過本次課程設計,我對數據結構的知識掌握更牢

28、固了!也培養了自己勤于思考的良好習慣!也讓我收獲了不少的東西,感謝所有幫助過我的人!附頁: 程序代碼頭文件.h#include #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 s

29、truct _NODEHOUSEHOLD data;struct _NODE *link;NODE;typedef struct _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

30、 display(NODE *head);NODE *sort(NODE *head); void write_file(NODE *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);子函數.cpp #includestore.hLINKLIST *creatvoidlist()/創建(chungjin)一個空的倉庫鏈表LINKLIST *p;p = (LINKLIS

31、T*)malloc(sizeof(LINKLIST);if(!p)exit(0);p-count=0;p-Phead=NULL;return p;NODE *creatlist()/創建(chungjin)鏈表NODE *Head;Head=new NODE;int i;int k; NODE *P1, *Ptr;P1=(NODE*)malloc(sizeof(NODE);P1=Head;cout輸入倉庫電器(dinq)種類數:k; printf(請輸入電器(dinq)類別-型號-商標-重量-單價-編號-日期-廠家n);for(i=0;idata.leibie,Ptr-data.xinhao,

32、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;printf(添加(tin ji)成功!);return Head;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 指向表的下一個結點 p1

33、-link=p; /插入 p 所指向的結點p-link=p2; /連接表中剩余的結點cout插入成功!data;if(pLoc=NULL)printf(沒有(mi yu)查到要刪除的商品信息!n);return ;if(pLoc!=NULL) printf(真的要刪除(shnch)該商品嗎?(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 *sear

34、chList1(NODE *head)/貨品信息(xnx)查找 NODE *p;char num30;char name30; char pp; printf(=n); printf( a. 按商品編號查詢 n);printf( b. 按商品名稱查詢 n);printf(=n); printf( 請 選 擇: ); p=head-link; cinpp; getchar();if (pp=a|pp=A) cout請輸入要查找的商品編號:num;while (p&strcmp(p-data.no,num)!=0) p=p-link; if (p=NULL)|strcmp(p-data.no,nu

35、m)0)p=NULL;else if (pp=b|pp=B) cout 請輸入(shr)要查找的商品名稱:name;while(p&strcmp(p-data.leibie,name)!=0)p=p-link; return p;NODE *searchList(NODE *head)/貨品信息(xnx)查找 char a; char b= ;while(1)printf(=n); printf( 1. 查詢所有(suyu)家電信息 n);printf( 2. 按商品名稱查詢 n); printf( 0. 退出查找系統 n);printf(=n); printf( 請 選 擇: n); a =

36、 getch(); switch(a) case 0:return 0;break; case 1:list0(head);break; case 2:list1(head);break; default:printf(輸入錯誤,請重新輸入:n);void list0(NODE *head)/查詢(chxn)所有家電信息 NODE *p; p=head-link; if(p=NULL)printf(沒有記錄(jl),請輸入記錄n);elseprintf(類別-型號-商 標-重量(zhngling)-單價-編號-日期-廠家n);while(p!=NULL)printf(%s %s %s %f%l

37、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;void list1(NODE *head)/按名稱查詢函數 NODE *p; p=head; int y; char na20; printf(請輸入查詢家電的名稱:); scanf(%s,na);printf(你要查詢的記錄為n); while(p!=NULL)y=StrCmp(na,p-data.leibie,20);if(y=1) p=

38、p-link;elseprintf(類別-型號(xngho)-商 標-重量-單價-編號-日期-廠家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.date,p-data.factory);p=p-link;int StrCmp(char na,char name,int y)/比較(bjio)數據信息 int i =0; int n=0; while(nai)n+;i+; for(i=0;in;i+) i

39、f(nai!=namei)break; if(in) return 1; elsereturn 0;void modify(NODE *head)/庫存貨品(hupn)信息修改int m;NODE *P;P=searchList1(head);cout請輸入要修改的商品信息番號!:endl;if (P=NULL) printf(沒有(mi yu)查到要修改的商品信息!n); return;if(P!=NULL)printf( :n);printf( : 選擇(xunz)要修改的項目 *n);printf( :=*n);printf( : 1. 修改貨品(hupn)商標 *n);printf(

40、: 2. 修改進貨時間 *n);printf( : 3. 修改生產廠家 *n);printf( : 4. 修改貨品質量 *n);printf( : 5. 修改貨品類別 *n);printf( : 6. 修改貨品編號 *n);printf( : 7. 修改貨品單價 *n);printf( : 8. 修改貨品型號 *n);printf( : 0. 結束程序 *n);printf( :*n);coutendl;printf(請輸入您選擇的功能號:n);cinm; switch(m) case 1:cout請輸入新的商標信息P-data.brand;break; case 2:cout請輸入新的日期信

41、息 P-data.date;break; case 3:cout請輸入新的廠家信息 P-data.factory;break; case 4:cout請輸入新的重量信息 P-data.height;break; case 5:cout請輸入新的類別信息 P-data.leibie;break; case 6:cout請輸入新的編號信息 P-data.no;break; case 7:cout請輸入新的單價信息 P-data.price;break; case 8:cout請輸入新的型號信息P-data.xinhao;break; case 0:break; P=P-link; bool dis

42、play(NODE *head)/顯示(xinsh)庫存信息NODE *temp;temp=head-link;printf(電器類別-型號-商標(shngbio)-重量-單價-編號-日期-廠家 n);printf(n);while(temp)HOUSEHOLD info = temp-data;printf(%st,info.leibie);printf(%st,info.xinhao);printf(%st,info.brand);printf(%ft,info.height);printf(%lft,info.price);printf(%st,info.no);printf(%st,i

43、nfo.date);printf(%st,info.factory); printf(n);temp=temp-link;return true;NODE *sort(NODE *head)/鏈表排序(pi x)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.nodata.no)p_min=p;min=p-link;if(first=NULL)first=min;rear=min;if(min=head)head=

44、head-link;elsep_min-link=min-link;if(first!=NULL)rear-link=NULL;head=first;return head;void write_file(NODE *head)/寫入文件(wnjin)函數FILE *fp;if(fp=fopen(家電(ji din)庫存信息.txt,a)=NULL)coutcant save it!link;while(p!=NULL)fprintf(fp,%s %s %s %f %lf %s %s %sn,p-data.leibie,p-data.xinhao,p-data.brand,p-data.hei

45、ght,p-data.price,p-data.no,p-data.date,p-data.factory);p=p-link;fclose(fp);NODE *read_file(NODE *head)/從文件讀取數據NODE *q,*t;head=Initlist(head);t=head;ifstream fin(家電庫存(kcn)信息.txt);if( !fin )printf(n打開(d ki)文件失敗!,可能沒有記錄n);return NULL;printf(類別-型號-商 標-重量-單價-編號(bin ho)-日期-廠家n);while ( !fin.eof() )q=(NODE

46、*)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-l

溫馨提示

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

評論

0/150

提交評論