倉庫管理系統(tǒng)程序設(shè)計(jì)訓(xùn)練報(bào)告_第1頁
倉庫管理系統(tǒng)程序設(shè)計(jì)訓(xùn)練報(bào)告_第2頁
倉庫管理系統(tǒng)程序設(shè)計(jì)訓(xùn)練報(bào)告_第3頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、HUNANUNIVERSITY程序設(shè)計(jì)訓(xùn)練報(bào)告學(xué)生姓名xxxxxxxxx學(xué)生學(xué)號(hào)xx2xxx專業(yè)班級(jí)xxxx班指導(dǎo)老師xxxx院長(zhǎng)xxx2012年6月12日目錄1 軟件開發(fā)平臺(tái)1軟件功能說明21.1 功能分析說明圖31.2 各項(xiàng)功能說明3軟件設(shè)計(jì)詳細(xì)內(nèi)容51.3 采用的主要數(shù)據(jù)結(jié)構(gòu)類型51.4 流程圖6軟件測(cè)試111.5 軟件測(cè)試用例111.6 軟件測(cè)試報(bào)告25附錄261.7 軟件使用說明261.8 源碼261.9 參考文獻(xiàn)37心得381.軟件開發(fā)平臺(tái)配置環(huán)境Windows7(32位)系統(tǒng)運(yùn)行環(huán)境Windows7(32位)系統(tǒng)開發(fā)工具DevC+程序語言C語言2.軟件功能說明倉庫產(chǎn)品管理系統(tǒng)要求

2、記錄產(chǎn)品的名稱、制造商、產(chǎn)地、原有產(chǎn)量、現(xiàn)有量、編號(hào)、產(chǎn)品位置。亓學(xué)忠:1、創(chuàng)建產(chǎn)品信息2、輸出產(chǎn)品信息3、修改產(chǎn)品信息4、插入產(chǎn)品信息5、刪除產(chǎn)品信息6、查詢某產(chǎn)品信息7、按產(chǎn)品名稱排序8、按產(chǎn)品編號(hào)排序9、保存產(chǎn)品信息到文件10、從文件文件中讀取產(chǎn)品信息朱宏偉:1、目錄2.1功能分析說明圖2.2各項(xiàng)功能說明要求對(duì)分別上面的每個(gè)功能模塊進(jìn)行詳細(xì)的文字說明輸入模塊createList()在主函數(shù)里面選擇1進(jìn)入輸入模塊,首先建立一個(gè)名為product的文本文檔,用scanf函數(shù)依次從鍵盤輸入產(chǎn)品名稱制造商產(chǎn)地原產(chǎn)量現(xiàn)有量編號(hào)存放位置。然后再把這些信息用printf函數(shù)寫入文本文檔,如果輸入錯(cuò)誤要

3、重新輸入。最后關(guān)閉文件。打印模塊printList()在主函數(shù)里面選擇2進(jìn)入打印模塊,打開名為product的文本文檔,然后依次把文本里的產(chǎn)品名稱制造商產(chǎn)地原有量現(xiàn)有量編號(hào)存放位置,用printf函數(shù)文本讀出來,用printf函數(shù)顯示出來,再關(guān)閉文件。查找模塊find()在主函數(shù)里面選擇8進(jìn)入查找模塊,再打開名為product的文本文檔,然后輸入要查找的產(chǎn)品的名稱,通過strcmp函數(shù)找到該產(chǎn)品的位置,再通過printf函數(shù)輸出該產(chǎn)品息。如果庫中沒有此種產(chǎn)品,會(huì)提示輸入錯(cuò)誤,重新輸入產(chǎn)品名稱。然后關(guān)閉文件退出查找模塊。修改模塊changeproduct()在主函數(shù)里面選擇7進(jìn)入輸入模塊,然后打

4、開名為protect的文本文檔,輸入要修改的產(chǎn)品的名稱,通過strcmp函數(shù)找到該產(chǎn)品的位置,找到后直接輸入新的信息,如果產(chǎn)品庫中沒有此種產(chǎn)品的名稱,會(huì)提示重新輸入產(chǎn)品名稱。然后關(guān)閉文件。刪除模塊delproduct()在主函數(shù)里面選擇5進(jìn)入刪除模塊,然后打開名為product的文本文檔,然后要?jiǎng)h除的產(chǎn)品的名稱,通過strcmp函數(shù)找到該產(chǎn)品位置,找到后又分三種情況:1 、如果該產(chǎn)品在鏈?zhǔn)?,那么直接把鏈?zhǔn)孜恢煤笠频较乱绘湽?jié),然后清除此鏈節(jié)所占內(nèi)存;2 、如果產(chǎn)品信息在鏈尾,那么直接上一鏈節(jié)指向NULL然后清除此鏈節(jié)所占空間;3 、如果產(chǎn)品信息在鏈中,那么直接把上一鏈節(jié)的指針跳過此鏈節(jié)指向下一連

5、接,然后清除此鏈節(jié)所占空間。如果找不到此種產(chǎn)品,會(huì)提示重新輸入產(chǎn)品名稱,正確輸入后按上面的三種情況運(yùn)行此模塊。刪除后退出刪除模塊。插入模塊insertproduct()在主函數(shù)里選擇6進(jìn)入到插入模塊,打開名為product的文本文檔,然后直接輸要插入的產(chǎn)品的名稱制造商產(chǎn)地原產(chǎn)量現(xiàn)有量編號(hào)存放位置,然后此模塊會(huì)直接把該信息插入到信息首位,插入后退出此模塊。排序模塊namesortList()或者numberssortList()在主函數(shù)里選擇3進(jìn)入按產(chǎn)品名稱排序模塊,選擇4進(jìn)入按產(chǎn)品編號(hào)排序模塊,打開名為product的文本文檔,然后模塊會(huì)通過鏈節(jié)一個(gè)一個(gè)對(duì)比彼此的名稱大小(用strcmp函數(shù))

6、或者編號(hào)大小,然后小者在前,大者在后重新排序,排序后退出此模塊。退出系統(tǒng)模塊3軟件設(shè)計(jì)詳細(xì)內(nèi)容3.1采用的主要數(shù)據(jù)結(jié)構(gòu)類型倉庫管理系統(tǒng):#include#include#include鏈表3.2流程圖1、main()函數(shù)流程圖:3、printList()函數(shù)流程圖:4、find()函數(shù)流程圖:5、changeproduct()函數(shù)流程圖:6、delproduct()函數(shù)流程圖:4.軟件測(cè)試4.1軟件測(cè)試用例1、創(chuàng)建產(chǎn)品信息編號(hào)現(xiàn)有量原產(chǎn)量產(chǎn)地辛itwi貉總awueer32451FgiB1/.茲扌居錯(cuò)誤,1P重新輸人宇站青輸入第1種產(chǎn)品的|4Wueer456341i*t請(qǐng)輸入第2種產(chǎn)品的;ass

7、ddf678432fg請(qǐng)輸入第3種產(chǎn)品的:zxxccv7895&3ub站青輸入第1種產(chǎn)品的|4Wueer456341i*t請(qǐng)輸入第2種產(chǎn)品的;assddf678432fg請(qǐng)輸入第3種產(chǎn)品的:zxxccv7895&3ub名稱名稱名稱制造商制造商制造商產(chǎn)地產(chǎn)地產(chǎn)地原產(chǎn)量原產(chǎn)量原產(chǎn)量現(xiàn)有量現(xiàn)有量現(xiàn)有量編號(hào)編號(hào)編號(hào)存放位直存敢位宣存放位置劍建產(chǎn)品倩息lilt品信息醜;巔文件789100恭喜你輸入已顯成。目口錄請(qǐng)輸入要操作的步驟代碼=2、輸出數(shù)據(jù)號(hào)1量有見413量產(chǎn)&原45序息-nllltI小bk;!/息息心息息信=旦_豆一一IJn產(chǎn)產(chǎn)稱品嚴(yán)產(chǎn)產(chǎn)某建出名產(chǎn)除入改詢存03、按名稱排序已成功按名稱排鈕III

8、顯文件6789100請(qǐng)輸入要操作的步驟代碼他-10:存放位置fgvb原產(chǎn)量現(xiàn)有量編號(hào)67845678?433456制造商產(chǎn)地dfercvsdwexc名稱asqu3X序息自3息11119息自415=lrrl豆直uJrRngp品口品品品嚴(yán)件產(chǎn)產(chǎn)稱品嚴(yán)產(chǎn)產(chǎn)某文建出名產(chǎn)除入改詢存開菽678910 0詁輸入要操作的步驟代碼/0-10=4、按產(chǎn)品編號(hào)排序已成功按編號(hào)排名!型建史品値區(qū)童岀需剝息頁產(chǎn)虧韌序塔霹歲駱息界存亠沁麝文件亡請(qǐng)輸凡要操作的步驟代碼:容稱310勰文件請(qǐng)輸入要操作的步驟代碼:原產(chǎn)量現(xiàn)有量456678789目(錄*制造商產(chǎn)地we6Fsddfxccu編劭存放位置BF口口|口j品唁息品住自Q口/

9、:嚴(yán)品冶息5、刪除產(chǎn)品信息名稱制造商產(chǎn)地原產(chǎn)量現(xiàn)有量編號(hào)qwueer456341assddf678432zxxccu789563存放位置rt1創(chuàng)建產(chǎn)品信息3言息IF口丿甘三自789100歸熬籍息呆存i請(qǐng)攪入要操作的步驟代碼=5請(qǐng)驗(yàn)入要?jiǎng)h嗓的產(chǎn)品名稱:PP役有找到該產(chǎn)品青重新輸入?請(qǐng)輸入要?jiǎng)h除的產(chǎn)品名稱kk役有找到該產(chǎn)品請(qǐng)重新輸入?請(qǐng)輸入要?jiǎng)h除的產(chǎn)品名稱:as已成功刪除該產(chǎn)品信息甲100111WrSfl查某口口缶息保稈宀皿文件結(jié)束請(qǐng)輸入要操作的步驟代碼0-10:名稱制造商產(chǎn)地原產(chǎn)量現(xiàn)有量編號(hào)存放位置qvueer456341rtzxxccu789563vb序息自山B.nnsBsBV口口114品品口

10、5B3S品品口空嚴(yán)件產(chǎn)產(chǎn)稱口淫產(chǎn)產(chǎn)某文建岀負(fù)除入改詢存開0請(qǐng)輸人要操作的步驟代碼0105:6、插入產(chǎn)品信息名稱制造商產(chǎn)地原產(chǎn)量現(xiàn)有量編號(hào)存放位置quweer45S341rtexxccv7B93uh壽目口錄1234G759106型建亡品ilt8fcrF丄3巨息嘗改PgJii畫詢某生品信息黯文件言息宼誼輸入要操請(qǐng)輸夬新嚴(yán)品3Wdefr777-43gt輸入數(shù)1尉誤*請(qǐng)重新8山宼誼輸入要操請(qǐng)輸夬新嚴(yán)品3Wdefr777-43gt輸入數(shù)1尉誤*請(qǐng)重新8山產(chǎn)地原有量現(xiàn)有量編號(hào)存放位畫請(qǐng)輸入新產(chǎn)品的信息:名稱制造商嚴(yán)地原有量現(xiàn)有量編號(hào)存放位置xscduf7775S3陽已咸功播入新產(chǎn)品信息序自心自心息自心自心

11、亠15亠一豆二口pM一豆呂亠S.口nn件亠產(chǎn)稱口S!嚴(yán)亠宀產(chǎn)某文建岀名產(chǎn)除入改詢存開我創(chuàng)0序自心自心息自心自心亠15亠一豆二口pM一豆呂亠S.口nn件亠產(chǎn)稱口S!嚴(yán)亠宀產(chǎn)某文建岀名產(chǎn)除入改詢存開我創(chuàng)0自亠請(qǐng)輛入要援作的步驟代碼:名稱xsqwEX制造商產(chǎn)地weerxccu原產(chǎn)量現(xiàn)有量編號(hào)777553456341789563存放位置bsrPt口口勺玄恵、10擊開文件結(jié)束請(qǐng)輸入要操作的步驟代碼010):7、修改產(chǎn)品信息制造商產(chǎn)地cdufweerxccv原產(chǎn)量現(xiàn)有量編號(hào)777534563417895&3*A挾產(chǎn)品編號(hào)毎序剪鴛密I會(huì)錨肆;謁息揺文件結(jié)東挾產(chǎn)品編號(hào)毎序剪鴛密I會(huì)錨肆;謁息揺文件結(jié)東*1H0

12、ig$A要犍作戲步爨企碼佃TQ:7召詁輸入要穆按嚴(yán)品-SW:pp視有找到該產(chǎn)品,請(qǐng)重新WiA*請(qǐng)輸入要修改產(chǎn)品名稱=敗名稱制造商產(chǎn)地原產(chǎn)量現(xiàn)有量編號(hào)存放位置jufftfr5554fr輸入數(shù)據(jù)錯(cuò)誤,請(qǐng)重新輸入,名稱制造商產(chǎn)地原產(chǎn)量現(xiàn)有量編號(hào)存放位置cduhg666334bg已成功修改信息辛0件產(chǎn)產(chǎn)稱品嚴(yán)產(chǎn)產(chǎn)某文建出名產(chǎn)除入改詢存開我幺k盤請(qǐng)輸入要操作的步驟代碼佃-佃卄窖稱xsqwcd制造商產(chǎn)地cdufweerufbg原產(chǎn)量現(xiàn)有量編號(hào)777456666存放位置hsrrt678910ogttl督序查詢某產(chǎn)矗息呆梓宀抉黜文件請(qǐng)輸入要操作的步驟代碼(010):8、查詢產(chǎn)品信息制造商產(chǎn)地原產(chǎn)量現(xiàn)有量編號(hào)存

13、放位置cduf777553weer456341rtufbg666334bg息78I0勰文件目口錄承i直攪入要韻乍鬼歩驟-ft:8inW入要査詢的嚴(yán)品名禰;oo請(qǐng)輸人.要查詢的廣品名稱*W資該產(chǎn)品信息:號(hào)編1量有見4i3量產(chǎn)6原45商造制Me序息息心息息信亠一芟一一lR信oan*lj口品口品品品嚴(yán)件產(chǎn)產(chǎn)稱品嚴(yán)產(chǎn)產(chǎn)某文建岀蚩嚴(yán)除入改詢存開楚09、保存恭喜你已成功保存數(shù)據(jù)自S自3ss自亠亠15啟崖nz虐崖Rnna品口品品品嚴(yán)件亠亠凡稱品口亠孟文建岀名產(chǎn)除入改詢存開貳10、打開文件0i月輛入要操作的步驟代碼cm=名稱XS割cd制造商cdueuf產(chǎn)地uferbg原產(chǎn)量777456666現(xiàn)有量編號(hào)5534

14、33存放位置rtbg_At,.t12346?S910 n自自1*3畫詢某住品信息勲文件請(qǐng)輸入要操作的步驟代碼C0-10:11、退出軟件名稱XSqucd制造商產(chǎn)地cdufueerufh原產(chǎn)量現(xiàn)有量編號(hào)777456666553433存放位置陽rtbg序息0.自38.急亠百口品口SS3S品品品嚴(yán)件亠產(chǎn)稱晶產(chǎn)亠某文建出名產(chǎn)除入改詢存開貳請(qǐng)輸入要拗作的步驟代碼=0ressanukeytocontinue4.2軟件測(cè)試報(bào)告將4.1測(cè)試過程中能完成的功能和不能完成的功能以及不能完全完成的功能進(jìn)行列表分析,指出測(cè)試結(jié)果和出錯(cuò)原因,例如:號(hào)標(biāo)項(xiàng)目預(yù)期結(jié)果實(shí)際結(jié)果出錯(cuò)原因出錯(cuò)次數(shù)01主函數(shù)菜單美觀的菜單得到美觀的

15、菜單無無02輸入產(chǎn)品信息正確輸入數(shù)據(jù)完成無無03輸出產(chǎn)品信息正確輸出數(shù)據(jù)完成無無04按名稱排序正確排序完成無無05按產(chǎn)品編號(hào)排序正確排序完成無無06刪除產(chǎn)品信息正確刪除數(shù)據(jù)完成無無07修改產(chǎn)品信息正確修改完成無無08查詢產(chǎn)品信息正確查詢到信息完成無無09退出系統(tǒng)正確退出系統(tǒng)完成無無5.附錄5.1軟件使用說明運(yùn)行條件:本軟件可以在DevC+和VisualC+里運(yùn)行,在TurboC下不能運(yùn)行,其他編程軟件沒有測(cè)試。進(jìn)入菜單,選擇你要執(zhí)行模塊,在初次使用時(shí),應(yīng)收先選擇數(shù)字1輸入航班信息后才能使用其他模塊,5.2源碼/*倉庫產(chǎn)品管理系統(tǒng)亓學(xué)忠*/#include#include數(shù)*/#include#

16、include數(shù)*/*包含常用庫函數(shù)*/#include#includestructproductcharname12;charmanufacturer30;charorigin30;intoriginqun;intnowqun;intnumbers;charlocation30;structproduct*next;voidW()printf(nnn);#include#includestructproductcharname12;charmanufacturer30;charorigin30;intoriginqun;intnowqun;intnumbers;charlocation30;

17、structproduct*next;voidW()printf(nnn);/*包含exit強(qiáng)制結(jié)束函數(shù)*/*定義相關(guān)鏈表*/*產(chǎn)品名稱*/*制造商*/*產(chǎn)地*/*產(chǎn)品原有數(shù)量*/*現(xiàn)有產(chǎn)品數(shù)量*/產(chǎn)品編號(hào)/*存放位置*/*指向下一個(gè)同類型結(jié)構(gòu)*/*包含strcmp、strcpy字符串比較拷貝函printf(tn);printf(tn);printf(tn);printf(tn);printf(tn);printf(tn);printf(t歡迎使用產(chǎn)品庫存管理系統(tǒng)n);printf(tn);printf(t按任意鍵繼續(xù)n);printf(tn);printf(tn);printf(tn);pr

18、intf(tn);printf(tn);printf(tn);getch();structproduct*createList()/*定義新建產(chǎn)品信息函數(shù)*/structproduct*head=NULL,*cur=NULL,*curnext=NULL;/*定義頭節(jié)點(diǎn)、當(dāng)前節(jié)點(diǎn)、下一個(gè)節(jié)點(diǎn)*/intn,i;/*定義節(jié)點(diǎn)數(shù)、循環(huán)變量*/printf(t請(qǐng)輸入要?jiǎng)?chuàng)建的節(jié)點(diǎn)數(shù):”);scanf(%d,&n);for(i=0;iname,curnext-manufacturer,curnext-origin,&(curnext-originqun),&(curnext-nowqun),&(curnex

19、t-numbers),curnext-location);if(curnext-originqunnowqunoriginqunnowqun)/*判斷輸入數(shù)據(jù)是否正確*/printf(nt輸入數(shù)據(jù)錯(cuò)誤,請(qǐng)重新輸入!nn);gotoA;curnext-next=NULL;head=curnext;/*將cuenext賦給頭節(jié)點(diǎn)*/cur=curnext;/*將cuenext賦給當(dāng)前節(jié)點(diǎn)cur*/elsecurnext=(structproduct*)malloc(sizeof(structproduct);/*開辟下一個(gè)節(jié)點(diǎn)需要的空間*/B:printf(t請(qǐng)輸入第%d種產(chǎn)品的:名稱制造商產(chǎn)地原

20、產(chǎn)量現(xiàn)有量編號(hào)存放位置n,i+1);printf(t);scanf(%s%s%s%d%d%d%s,curnext-name,curnext-manufacturer,curnext-origin,&(curnext-originqun),&(curnext-nowqun),&(curnext-numbers),curnext-location);if(curnext-originqunnowqunoriginqunnowqun)/*判斷輸入數(shù)據(jù)是否正確*/printf(nt輸入數(shù)據(jù)錯(cuò)誤,請(qǐng)重新輸入!nn);gotoB;curnext-next=NULL;cur-next=curnext;與下個(gè)

21、節(jié)點(diǎn)連接起來*/cur=curnext;后移*/*將當(dāng)前節(jié)點(diǎn)/*當(dāng)前節(jié)點(diǎn)system(cls);*/printf(nt恭喜你輸入已完成。nn);returnhead;信息并返回主菜單*/;voidprintList(structproduct*h)信息函數(shù)*/*DOS清屏/*結(jié)束輸入/*定義輸出產(chǎn)品structproduct*newNode;newNode=h;表頭指針*/*獲取鏈system(cls);printf(nt名稱t制造商t產(chǎn)地t原產(chǎn)量t現(xiàn)有量t編號(hào)t存放位置);while(newNode-next!=NULL)/*定義刪除某位產(chǎn)品/*查找產(chǎn)品/*如果不是所/*cur也后移*/*如

22、果沒有找到*/!nn);/*如果找到該產(chǎn)/*如果該節(jié)點(diǎn)/*當(dāng)前鏈?zhǔn)缀?*釋放鏈?zhǔn)姿紁rintf(nt%st%st%st%dt%dt%dt%s,newNode-name,newNode-manufacturer,newNode-origin,newNode-originqun,newNode-nowqun,newNode-numbers,newNode-location);newNode=newNode-next;printf(nt%st%st%st%dt%dt%dt%sn,newNode-name,newNode-manufacturer,newNode-origin,newNode-ori

23、ginqun,newNode-nowqun,newNode-numbers,newNode-location);printf(n);structproduct*delproduct(structproduct*h)的信息函數(shù),名稱由用戶輸入*/structproduct*cur=NULL,*curpre=NULL;charname12;G:printf(t請(qǐng)輸入要?jiǎng)h除的產(chǎn)品名稱:”);scanf(%s,name);cur=h;while(cur!=NULL&strcmp(cur-name,name)位置*/curpre=cur;需節(jié)點(diǎn),curpre指向后移*/cur=cur-next;if(c

24、ur=NULL)printf(nt沒有找到該產(chǎn)品,請(qǐng)重新輸入gotoG;if(!strcmp(cur-name,name)品*/if(cur=h)在鏈?zhǔn)?/h=h-next;移*/free(cur);內(nèi)存*/elseif(cur-next=NULL)在鏈尾*/curpre-next=NULL;指向空*/free(cur);內(nèi)存*/else在鏈中*/curpre-next=cur-next;位鏈節(jié)指向該鏈節(jié)后的下一位節(jié)點(diǎn)*/free(cur);占內(nèi)存*/*如果該節(jié)點(diǎn)/*前一個(gè)鏈節(jié)/*釋放鏈尾所占/*如果該節(jié)點(diǎn)/*該節(jié)點(diǎn)的前一/*釋放該節(jié)點(diǎn)所system(cls);printf(nt已成功刪除該產(chǎn)

25、品信息!nn);returnh;且返回新鏈表后返回主菜單*/structproduct*changeproduct(structproduct*h)數(shù)*/structproduct*cur=NULL,*curpre=NULL;charname12;D:printf(t請(qǐng)輸入要修改產(chǎn)品名稱:”);scanf(%s,name);cur=h;while(cur!=NULL&strcmp(cur-name,name)置*/curpre=cur;cur=cur-next;if(cur=NULL)/*結(jié)束該函數(shù)/*定義修改產(chǎn)品信息函/*查找產(chǎn)品位/*如果沒有找到*/printf(nt沒有找到該產(chǎn)品,請(qǐng)重新

26、輸入!nn);gotoD;if(!strcmp(cur-name,name)/*女口果找至U該產(chǎn)品*/E:printf(nt名稱制造商產(chǎn)地原產(chǎn)量現(xiàn)有量編號(hào)存放位置n);/*輸入該產(chǎn)品的新信息*/printf(t);scanf(%s%s%s%d%d%d%s,cur-name,cur-manufacturer,cur-origin,&(cur-originqun),&(cur-nowqun),&(cur-numbers),cur-location);if(cur-originqunnowqunoriginqunnowqun)/*判斷輸入數(shù)據(jù)是否正確*/printf(nt輸入數(shù)據(jù)錯(cuò)誤,請(qǐng)重新輸入!n

27、n);gotoE;system(cls);printf(nnt已成功修改信息!nn);returnh;structproduct*insertproduct(structproduct*h)/*插入新產(chǎn)品信息至U鏈?zhǔn)?/structproduct*newproduct=NULL;newproduct=(structproduct*)malloc(sizeof(structproduct);C:printf(t請(qǐng)輸入新產(chǎn)品的信息:名稱制造商產(chǎn)地原有量現(xiàn)有量編號(hào)存放位置n);printf(t);scanf(%s%s%s%d%d%d%s,newproduct-name,newproduct-manu

28、facturer,newproduct-origin,&(newproduct-originqun),&(newproduct-nowqun),&(newproduct-numbers),newproduct-location);if(newproduct-originqunnowqunoriginqunnowqun)/*判斷輸入數(shù)據(jù)是否正確*/printf(nt輸入數(shù)據(jù)錯(cuò)誤,請(qǐng)重新輸入!nn”);gotoC;newproduct-next=h;h=newproduct;system(cls);printf(nnt已成功插入新產(chǎn)品信息!nn);returnh;structproduct*nam

29、esortList(structproduct*h)序*/*DOS清屏*/*按名稱對(duì)產(chǎn)品進(jìn)行排structproduct*newH=NULL,*newT=NULL,*cur,*curPre,*min,*minPre;if(h=NULL)returnh;while(h!=NULL)minPre=curPre=min=cur=h;while(cur!=NULL)最小的點(diǎn)*/if(strcmp(cur-name,min-name)next;if(newH=NULL)空*/newH=min;newT=min;elsenewT-next=min;尾*/newT=newT-next;點(diǎn)和原鏈分離*/if(

30、min=h)*/*空鏈*/*檢索名稱/*新鏈為/*附到新鏈/*將最小節(jié)/*min在鏈?zhǔn)議=h-next;elseif(min-next=NULL)minPre-next=NULL;elseminPre-next=min-next;min-next=NULL;system(cls);printf(nnt已成功按名稱排名!nn);returnnewH;/*按產(chǎn)品編號(hào)排/*按產(chǎn)品編號(hào)排structproduct*numberssortList(structproduct*h)序*/structproduct*newH=NULL,*newT=NULL,*cur,*curPre,*min,*minPre

31、;if(h=NULL)returnh;while(h!=NULL)minPre=curPre=min=cur=h;while(cur!=NULL)if(cur-numbersnumbers)min=cur;minPre=curPre;curPre=cur;cur=cur-next;if(newH=NULL)newH=min;newT=min;elsenewT-next=min;newT=newT-next;if(min=h)h=h-next;elseif(min-next=NULL)minPre-next=NULL;elseminPre-next=min-next;min-next=NULL;

32、system(cls);printf(nnt已成功按編號(hào)排名!nn);returnnewH;/*按產(chǎn)品名查詢某產(chǎn)品信息*/*要查詢的對(duì)象名*/*查找產(chǎn)品位置*/*如果沒有找到*/voidfind(structproduct*h)structproduct*cur=NULL,*curpre=NULL;charname12;F:printf(t請(qǐng)輸入要查詢的產(chǎn)品名稱:);scanf(%s,name);cur=h;while(cur!=NULL&strcmp(cur-name,name)curpre=cur;cur=cur-next;if(cur=NULL)printf(nt沒有找到該產(chǎn)品,請(qǐng)重新輸

33、入!nn);gotoF;/*保存*/*打開文件進(jìn)行操作*/*若打開失敗*/*若正確打開*/*保存操作*/*操作完關(guān)閉文件*/*打開文件*/*打開文件進(jìn)行操作*/*打開失敗*/*成功打開*/if(!strcmp(cur-name,name)/*找到該產(chǎn)品*/system(cls);/*DOS清屏*/printf(nnt該產(chǎn)品信息:nn);printf(t名稱t制造商t產(chǎn)地t原產(chǎn)量t現(xiàn)有量t編號(hào)t存放位置n);printf(t%st%st%st%dt%dt%dt%snn,cur-name,cur-manufacturer,cur-origin,cur-originqun,cur-nowqun,cu

34、r-numbers,cur-location);voidsave(structproduct*h)FILE*fp;structproduct*cur;fp=fopen(product.txt,wb);if(fp=NULL)printf(t文件打開失敗n);return;cur=h;while(cur!=NULL)fwrite(cur,sizeof(structproduct),1,fp);cur=cur-next;fclose(fp);fflush(stdin);/*清除緩存*/system(cls);printf(nt恭喜你已成功保存數(shù)據(jù)!nn);structproduct*load(str

35、uctproduct*h)structproduct*cur,*temp,*newproduct,product;FILE*fp;fp=fopen(product.txt,rb);if(fp=NULL)printf(t打開失敗!n);returnh;if(h!=NULL)cur=h;while(cur!=NULL)temp=cur;cur=cur-next;free(temp);while(fread(&product,sizeof(structproduct),1,fp)!=0)newproduct=(structproduct*)malloc(sizeof(structproduct);*newproduct=product;newproduct-next=NULL;if(h=NULL)temp=h=newproduct;elsetemp-next=newproduct;temp=newproduct;system(cls);printf

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論