![商店存貨管理系統(tǒng)(共25頁(yè))_第1頁(yè)](http://file4.renrendoc.com/view/cbc473b32244b54ffe31badf8d9de86f/cbc473b32244b54ffe31badf8d9de86f1.gif)
![商店存貨管理系統(tǒng)(共25頁(yè))_第2頁(yè)](http://file4.renrendoc.com/view/cbc473b32244b54ffe31badf8d9de86f/cbc473b32244b54ffe31badf8d9de86f2.gif)
![商店存貨管理系統(tǒng)(共25頁(yè))_第3頁(yè)](http://file4.renrendoc.com/view/cbc473b32244b54ffe31badf8d9de86f/cbc473b32244b54ffe31badf8d9de86f3.gif)
![商店存貨管理系統(tǒng)(共25頁(yè))_第4頁(yè)](http://file4.renrendoc.com/view/cbc473b32244b54ffe31badf8d9de86f/cbc473b32244b54ffe31badf8d9de86f4.gif)
![商店存貨管理系統(tǒng)(共25頁(yè))_第5頁(yè)](http://file4.renrendoc.com/view/cbc473b32244b54ffe31badf8d9de86f/cbc473b32244b54ffe31badf8d9de86f5.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、PAGE PAGE 30計(jì)算機(jī)學(xué)院(xuyun)數(shù)據(jù)結(jié)構(gòu)(sh j ji u)課程設(shè)計(jì)題 目: 商店(shngdin)存貨管理系統(tǒng) 班 級(jí): 網(wǎng)絡(luò)工程 姓 名: 學(xué) 號(hào): 同組人姓名: 起 迄 日 期: 課程設(shè)計(jì)地點(diǎn): 指導(dǎo)教師: 評(píng)閱意見(jiàn):成績(jī)?cè)u(píng)定:評(píng)閱人: 日期:完成日期:2014年12月目錄(ml) TOC o 1-3 h z u HYPERLINK l _Toc408120672 一、需求(xqi)分析 PAGEREF _Toc408120672 h 2 HYPERLINK l _Toc408120673 1.1課程設(shè)計(jì)內(nèi)容(nirng) PAGEREF _Toc408120673 h
2、 2 HYPERLINK l _Toc408120674 1.2要求: PAGEREF _Toc408120674 h 3 HYPERLINK l _Toc408120675 1.3 運(yùn)行環(huán)境 PAGEREF _Toc408120675 h 3 HYPERLINK l _Toc408120676 二、概要設(shè)計(jì)(含流程圖) PAGEREF _Toc408120676 h 3 HYPERLINK l _Toc408120677 (一)步驟設(shè)計(jì) PAGEREF _Toc408120677 h 3 HYPERLINK l _Toc408120678 (二)流程圖 PAGEREF _Toc4081206
3、78 h 4 HYPERLINK l _Toc408120679 三、詳細(xì)設(shè)計(jì)(含代碼分析) PAGEREF _Toc408120679 h 4 HYPERLINK l _Toc408120680 四、調(diào)試分析和測(cè)試結(jié)果 PAGEREF _Toc408120680 h 12 HYPERLINK l _Toc408120681 五、總結(jié) PAGEREF _Toc408120681 h 16 HYPERLINK l _Toc408120682 六、致謝 PAGEREF _Toc408120682 h 17 HYPERLINK l _Toc408120683 附錄(含程序源碼) PAGEREF _T
4、oc408120683 h 17 HYPERLINK l _Toc408120684 參考文獻(xiàn) PAGEREF _Toc408120684 h 25需求(xqi)分析1.1課程設(shè)計(jì)內(nèi)容(nirng)建立一商店存貨管理系統(tǒng),要求每次出貨時(shí)取進(jìn)貨(jn hu)時(shí)間最早且最接近保質(zhì)期中止時(shí)間的貨物。分步實(shí)施:1.初步完成總體設(shè)計(jì),搭好框架,確定人機(jī)對(duì)話(huà)的界面,確定函數(shù)個(gè)數(shù);2.完成最低要求:建立一個(gè)文件,包括5個(gè)種類(lèi)的貨物情況,能對(duì)商品信息進(jìn)行擴(kuò)充(追加),修改和刪除以及簡(jiǎn)單的排序;3.進(jìn)一步要求:擴(kuò)充商品數(shù)量,以及完成系統(tǒng)查詢(xún)功能。有興趣的同學(xué)可以自己擴(kuò)充系統(tǒng)功能。1.2要求:1.界面友好,函數(shù)功
5、能要?jiǎng)澐趾?.總體設(shè)計(jì)應(yīng)畫(huà)一流程圖3.程序要加必要的注釋4.要提供程序測(cè)試方案5.程序一定要經(jīng)得起測(cè)試,寧可功能少一些,也要能運(yùn)行起來(lái),不能運(yùn)行的程序是沒(méi)有價(jià)值的。1.3 運(yùn)行環(huán)境該程序的運(yùn)行環(huán)境為Windows xp系統(tǒng),Microsoft Visual C+6.0版本。二、概要設(shè)計(jì)(含流程圖)(一)步驟設(shè)計(jì)1、需要定義一個(gè)結(jié)構(gòu)體數(shù)組,其中name表示商品的名稱(chēng),time表示商品的進(jìn)貨時(shí)間,year表示商品的生產(chǎn)日期,no表示商品的保質(zhì)期。2、利用冒泡法,對(duì)商品進(jìn)行排序。3、選擇需要的功能(gngnng),其中功能包括商品的最原始添加,商品的插入,刪除,查找,將數(shù)據(jù)寫(xiě)入文件中,從文件中讀出數(shù)
6、據(jù)等操作。4、選擇(xunz)輸入09,10個(gè)數(shù)的其中一個(gè)(y )數(shù),進(jìn)行相應(yīng)的操作。5、進(jìn)行完所的操作之后,選擇保存功能,將數(shù)據(jù)保存到文件中。6、退出程序。(二)流程圖退出程序?qū)懭胛募判驍?shù)據(jù)統(tǒng)計(jì)數(shù)據(jù)添加數(shù)據(jù)查找數(shù)據(jù)刪除數(shù)據(jù)顯示數(shù)據(jù)新數(shù)據(jù)重新選擇功能讀文件Main函數(shù)功能8功能1功能2功能3功能4功能5功能6功能9功能7 功能0三、詳細(xì)設(shè)計(jì)(含代碼分析)(1)先定義一個(gè)商品的結(jié)構(gòu)體數(shù)組: typedef struct /*定義結(jié)構(gòu)體數(shù)組*/ char name20;/*商品名稱(chēng)*/ int time;/*進(jìn)貨(jn hu)時(shí)間*/ int year;/*生產(chǎn)日期*/ int no;/*保質(zhì)期
7、*/ goods;(2)建立(jinl)一個(gè)菜單函數(shù),顯示10個(gè)功能,供用戶(hù)選擇(xunz),進(jìn)行人機(jī)對(duì)話(huà)。代碼見(jiàn)同組人設(shè)計(jì)報(bào)告。(3)設(shè)置一個(gè)排序的函數(shù),void Sort_by_time(goods gs,int n)。利用冒泡法先對(duì)商品按進(jìn)貨的時(shí)間排序,對(duì)進(jìn)貨時(shí)間一樣的貨物,再按離保質(zhì)期最近排序。代碼見(jiàn)同組人設(shè)計(jì)報(bào)告。 (4)設(shè)置一個(gè)輸入的函數(shù),int Input(goods gs,int n)。這個(gè)函數(shù)是最初商品輸入函數(shù),當(dāng)選擇了這個(gè)功能后,如果是第一次運(yùn)行這個(gè)程序,保存輸入,那將在D盤(pán)產(chǎn)生一個(gè)名為“商品.doc”的文件,如果已經(jīng)運(yùn)行過(guò)了,并保存輸入,那輸入的商品信息將代替原有的信息,
8、數(shù)據(jù)輸入使用交互輸入,進(jìn)行人機(jī)對(duì)話(huà),確定是否進(jìn)行下一個(gè)數(shù)據(jù)的添加。并且調(diào)用了上面的排序函數(shù),對(duì)輸入的數(shù)據(jù)進(jìn)行排序。代碼見(jiàn)同組人設(shè)計(jì)報(bào)告。(5)設(shè)置一個(gè)顯示的函數(shù),void Display(goods gs,int n)。顯示上面輸入的所有數(shù)據(jù),或者是從文件中讀取的數(shù)據(jù)。代碼見(jiàn)同組人設(shè)計(jì)報(bào)告。(6)設(shè)置一個(gè)插入的函數(shù),int Insert_a_record(goods gs,int n)。每次插入一組數(shù)據(jù),如果要再插入,則再選擇這個(gè)功能進(jìn)行操作。并且在插入的同時(shí),已經(jīng)排好序,把數(shù)據(jù)插入適合的位置。代碼見(jiàn)同組人設(shè)計(jì)報(bào)告。(7)設(shè)置一個(gè)查找刪除的函數(shù),int Delete_a_record(good
9、s gs,int n)。輸入要查找的商品名稱(chēng),如果不存在,則輸出失敗信息,如果存在,則用下一個(gè)信息代替原有信息的位置。主要代碼如下:int Delete_a_record(goods gs,int n) /*按商品名字查找,刪除一條(y tio)記錄*/ char s20; int i=0,j; printf(ttt商品名稱(chēng):); scanf(%s,s); while(strcmp(,s)!=0&in) i+; /*查找(ch zho)判斷*/ if(i=n) printf(ttt沒(méi)找到!n); /*返回失敗(shbi)信息*/ return(n); for(j=i;jn-1;
10、j+) /*刪除操作*/ strcpy(,gsj+1.name); gsj.time=gsj+1.time; gsj.year=gsj+1.year; gsj.no=gsj+1.no; printf(ttt刪除成功!n); /*返回成功信息*/ return(n-1); (8)設(shè)置一個(gè)查找顯示的函數(shù),void Query_a_record(goods gs,int n)。輸入要查找的商品名稱(chēng),如果不存在,則輸出失敗信息,如果存在,則顯示信息。主要代碼如下:void Query_a_record(goods gs,int n) /*查找并顯示一個(gè)記錄*/ char s20; in
11、t i=0; printf(ttt輸入(shr)要查找的商品名稱(chēng):); scanf(ttt%s,s); while(strcmp(,s)!=0&in) i+; /*查找(ch zho)判斷*/ if(i=n) printf(ttt沒(méi)找到!n); /*輸入(shr)失敗信息*/ return; printf(ttt進(jìn)貸時(shí)間:%dn,gsi.time); /*輸出該商品信息*/ printf(ttt生產(chǎn)日期:%dn,gsi.year); printf(ttt保質(zhì)期:%dn,gsi.no); (9)設(shè)置一個(gè)寫(xiě)入文件的函數(shù),void WritetoText(goods gs,int n
12、)。設(shè)置文件指針,先判斷文件是否能打開(kāi)并且能進(jìn)行寫(xiě)操作,不能則輸出失敗信息,能則循環(huán)寫(xiě)入數(shù)據(jù),寫(xiě)完關(guān)閉文件。主要代碼如下:void WritetoText(goods gs,int n) /*將所有記錄寫(xiě)入文件*/ int i=0; FILE *fp; /*定義文件指針*/ if(fp=fopen(d:商品.doc,wb)=NULL) /*打開(kāi)文件*/ printf(tttcannt open the filen); system(pause); return; fprintf(fp,%dn,n); /*循環(huán)寫(xiě)入數(shù)據(jù)*/ while(in) fprintf(fp,%-5s%d %d %dn,g
13、,gsi.time,gsi.year,gsi.no); i+; fclose(fp); /*關(guān)閉(gunb)文件*/ printf(tttSuccessed!n); /*返回(fnhu)成功信息*/ (10)設(shè)置一個(gè)(y )讀文件的函數(shù),int AddfromText(goods gs,int n)。設(shè)置文件指針,判斷文件是否能打開(kāi)而且能進(jìn)行讀操作,能則先讀出總的數(shù)據(jù)量,接著循環(huán)讀出數(shù)據(jù),最后關(guān)閉文件。主要代碼如下int AddfromText(goods gs,int n) /*從文件中讀入數(shù)據(jù)*/ int i=0,num; FILE *fp; /*定義文件指針*/ if(fp
14、=fopen(d:商品.doc,rb)=NULL) /*打開(kāi)文件*/ printf(tttcannt open the filen); /*打開(kāi)失敗信息*/ printf(ttt); system(pause); return(n); fscanf(fp,%d,&num); /*讀入總記錄量*/ while(inum) /*循環(huán)讀入數(shù)據(jù)*/ fscanf(fp,%s%d%d%d,gsn+,&gsn+i.time,&gsn+i.year,&gsn+i.no); i+; n+=num; fclose(fp); /*關(guān)閉(gunb)文件*/ printf(tttSuccessed!n);
15、 printf(ttt); system(pause); return(n); (11)進(jìn)入(jnr)最后一步,main函數(shù)(hnsh)。判斷選擇的操作,根據(jù)用戶(hù)選擇的操作,利用switch語(yǔ)句進(jìn)行相應(yīng)的函數(shù)調(diào)用。主要代碼如下:void main() /*主函數(shù)*/ int n=0; for(;) switch(menu_select() /*選擇判斷*/ case 1: printf(ttt輸入最初商品n); /*輸入若干條記錄*/ n=Input(gs,n); break; case 2: printf(ttt顯示所有商品n); /*顯示所有記錄*/ Display(gs,n); brea
16、k; case 3: printf(ttt插入(ch r)n); n=Insert_a_record(gs,n); /*插入(ch r)*/ printf(ttt); system(pause); break; case 4: printf(ttt刪除(shnch)n); n=Delete_a_record(gs,n); /*按商品名稱(chēng)查找,刪除*/ printf(ttt); system(pause); break; case 5: printf(ttt查找并顯示n); Query_a_record(gs,n); /*查找并顯示*/ printf(ttt); system(pause); b
17、reak; case 6: printf(ttt統(tǒng)計(jì)并顯示進(jìn)貨時(shí)間最早且最接近保質(zhì)期中止時(shí)間的貨物n); printf(ttt共有 %d 件商品.n,n); /*總共記錄數(shù)*/ printf(ttt進(jìn)貨時(shí)間最早且最接近保質(zhì)期中止時(shí)間的貨物:n); printf(ttt商品名稱(chēng)r:%sn,); printf(ttt進(jìn)貨時(shí)間:%dn,gs0.time); printf(ttt生產(chǎn)日期:%dn,gs0.year); printf(ttt保質(zhì)期:%dnn,gs0.no); printf(ttt); system(pause); break; case 7: printf(ttt寫(xiě)到文件
18、(wnjin)中n); WritetoText(gs,n); /*循環(huán)(xnhun)寫(xiě)入數(shù)據(jù)*/ printf(ttt); system(pause); break; case 8: printf(ttt文件(wnjin)中讀數(shù)據(jù)n); n=AddfromText(gs,n); printf(ttt);/*文件中讀數(shù)據(jù)*/ break; case 9: printf(tttn); Sort_by_time(gs,n); printf(ttt);/*對(duì)讀入的文件進(jìn)行排序*/ break; case 0: printf(ttt結(jié)束退出(tuch)!n); /*結(jié)束程序*/ printf(ttt);
19、 system(pause); exit(0); (12)選擇保存功能,對(duì)數(shù)據(jù)進(jìn)行保存,然后選擇結(jié)束程序(chngx)退出功能,退出程序。Sort_by_time(gs,n)初始條件:數(shù)據(jù)(shj)已經(jīng)存在操作結(jié)果:數(shù)據(jù)進(jìn)行排序Input(gs, n)初始條件:沒(méi)有任何數(shù)據(jù)存在,或者要替換原文件中的所有數(shù)據(jù) 操作結(jié)果:數(shù)據(jù)進(jìn)行輸入Display(gs,n)初始條件:數(shù)據(jù)已經(jīng)存在 操作結(jié)果:數(shù)據(jù)顯示Insert_a_record(gs,n) 初始條件:數(shù)據(jù)已經(jīng)存在操作結(jié)果:數(shù)據(jù)插入Delete_a_record(gs,n)初始條件:數(shù)據(jù)已經(jīng)存在 操作結(jié)果:數(shù)據(jù)刪除Query_a_record(g
20、s,n)初始條件:數(shù)據(jù)已經(jīng)存在 操作結(jié)果:數(shù)據(jù)統(tǒng)計(jì)WritetoText(gs,n)初始條件:數(shù)據(jù)已經(jīng)存在 操作(cozu)結(jié)果:寫(xiě)入文件中AddfromText(gs,n)初始條件:文件已經(jīng)(y jing)存在 操作(cozu)結(jié)果:從文件中讀出四、調(diào)試分析和測(cè)試結(jié)果1.選擇功能5,第一種情況為找不到要查找的數(shù)據(jù):第二種為存在情況2.選擇(xunz)功能6:統(tǒng)計(jì)并顯示進(jìn)貨(jn hu)時(shí)間最早且最接近保質(zhì)期中止時(shí)間的貨物。3.選擇(xunz)功能7:寫(xiě)入文件。4.選擇(xunz)功能8:讀文件(wnjin)。5.選擇功能(gngnng)0:退出功能。五、總結(jié)(zngji)轉(zhuǎn)眼,為期(wiq)
21、三天的數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)實(shí)習(xí)即將結(jié)束了。在這次實(shí)習(xí)中,自己的C語(yǔ)言知識(shí)和數(shù)據(jù)結(jié)構(gòu)知識(shí)得到了鞏固,編程能力也有了一定的提高。同時(shí)也學(xué)會(huì)了解決問(wèn)題的方法。總結(jié)起來(lái)(q li),自己主要有以下幾點(diǎn)體會(huì):1.必須牢固掌握基礎(chǔ)知識(shí)。由于C語(yǔ)言是大一所學(xué)知識(shí),有所遺忘,且未掌握好這學(xué)期所學(xué)的數(shù)據(jù)結(jié)構(gòu)這門(mén)課,所以在實(shí)習(xí)之初感到棘手。不知如何下手,但在后來(lái)的實(shí)習(xí)過(guò)程中自己通過(guò)看書(shū)和課外資料,并請(qǐng)教其他同學(xué),慢慢地對(duì)C語(yǔ)言和數(shù)據(jù)結(jié)構(gòu)知識(shí)有所熟悉。這時(shí)才逐漸有了思路。所以,這次實(shí)習(xí)之后,我告誡自己:今后一定要牢固掌握好專(zhuān)業(yè)基礎(chǔ)知識(shí)。2.必須培養(yǎng)嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度。自己在編程時(shí)經(jīng)常因?yàn)橐恍╊?lèi)似于“少了分號(hào)”的小錯(cuò)誤而導(dǎo)致
22、錯(cuò)誤,不夠認(rèn)真細(xì)致,這給自己帶來(lái)了許多麻煩。編程是一件十分嚴(yán)謹(jǐn)?shù)氖虑椋莶坏民R虎。所以在今后自己一定要培養(yǎng)嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度。我想這不僅是對(duì)于程序設(shè)計(jì),做任何事都應(yīng)如此??傊?,在這次實(shí)習(xí)中,自己的C語(yǔ)言以及數(shù)據(jù)結(jié)構(gòu)知識(shí)得到提高,編程能力也得到了提高,我和我的組長(zhǎng)xx同學(xué)分工明確,她負(fù)責(zé)商店存貨管理系統(tǒng)的14步的內(nèi)容,代碼以及分析,而我負(fù)責(zé)59步的代碼以及分析我不懂的地方根據(jù)問(wèn)她或者上網(wǎng)找資料,努力完成了這次的任務(wù),收獲頗多!感觸頗深!六、致謝(zh xi)非常感謝xxxxxxxxx同學(xué)(tng xu),在他們的幫助下,完成了我許多不能獨(dú)立完成的任務(wù),他們也教會(huì)了許多東西,在寫(xiě)代碼(di m)時(shí),有
23、些比較難懂的比如說(shuō)循環(huán)等,在他們的細(xì)心指導(dǎo)下,我慢慢就弄懂了。附錄(含程序源碼)#include /*引用庫(kù)函數(shù)*/ #include #include #include typedef struct /*定義結(jié)構(gòu)體數(shù)組*/ char name20;/*商品名稱(chēng)*/ int time;/*進(jìn)貨時(shí)間*/ int year;/*生產(chǎn)日期*/ int no;/*保質(zhì)期*/goods;goods gs80; /*結(jié)構(gòu)體數(shù)組變量*/ int menu_select() /*菜單函數(shù)*/ char c; do system(cls); /*運(yùn)行前清屏*/ printf(tt* 商品系統(tǒng)*n); /*菜單選
24、擇*/ printf(tt | 1. 輸入數(shù)據(jù) |n); printf(tt | 2. 顯示數(shù)據(jù) |n); printf(tt | 3. 插入數(shù)據(jù) |n); printf(tt | 4. 刪除數(shù)據(jù) |n); printf(tt | 5. 查找數(shù)據(jù) |n); printf(tt | 6. 統(tǒng)計(jì)并顯示進(jìn)貨時(shí)間最早且最接近保質(zhì)期中止時(shí)間的貨物 |n); printf(tt | 7. 寫(xiě)入文件 |n); printf(tt | 8. 讀文件(wnjin) |n); printf(tt | 9. 對(duì)讀入的文件(wnjin)進(jìn)行排序 |n); printf(tt | 0. 退出(tuch) |n); pr
25、intf(tt*n); printf(ttt請(qǐng)選擇(0-9):); c=getchar(); /*讀入選擇*/ while(c9); return(c-0); /*返回選擇*/ void Sort_by_time(goods gs,int n) /*按進(jìn)貨時(shí)間排序*/ int i,j,*a,*b,c,*p,*q,s,*m,*k,d,e,f; char t10; for(i=0;in-1;i+) /*冒泡法排序*/ for(j=0;jgsj+1.time) a=&gsj+1.time; b=&gsj.time; c=*a; *a=*b; *b=c; strcpy(t,gsj+1.name); s
26、trcpy(gsj+1.name,); strcpy(,t); p=&gsj+1.year; q=&gsj.year; s=*p; *p=*q; *q=s; m=&gsj+1.no; k=&gsj.no; d=*m; *m=*k; *k=d; else if(gsj.time=gsj+1.time) p=&gsj.year; a=&gsj+1.year; b=&gsj.no; q=&gsj+1.no; e=(*p)+(*b)*10000; f=(*a)+(*q)*10000; if(ef) a=&gsj+1.time; b=&gsj.time; c=*a; *a
27、=*b; *b=c; strcpy(t,gsj+1.name); strcpy(gsj+1.name,); strcpy(,t); p=&gsj+1.year; q=&gsj.year; s=*p; *p=*q; *q=s; m=&gsj+1.no; k=&gsj.no; d=*m; *m=*k; *k=d; int Input(goods gs,int n) /*輸入(shr)若干條記錄*/ int i=0; char sign,x10; while(sign!=n&sign!=N) /*判斷(pndun)*/ printf(ttt商品名稱(chēng):); /*交互(j
28、ioh)輸入*/ scanf(ttt%s,gsn+); printf(ttt進(jìn)貨時(shí)間(例20070201):); scanf(ttt%d,&gsn+i.time); printf(ttt生產(chǎn)日期(例20070201):); scanf(ttt%d,&gsn+i.year); printf(ttt保質(zhì)期(年):); scanf(ttt%d,&gsn+i.no); gets(x); /*清除多余(duy)的輸入*/ printf(ttt繼續(xù)(jx)輸入?(Y/N); scanf(ttt%c,&sign); /*輸入(shr)判斷*/ i+; Sort_by_time(gs,n+i);
29、/*調(diào)用排序函數(shù)*/ return(n+i); void Display(goods gs,int n) /*顯示所有記錄*/ int i; printf(ttn); /*格式頭*/ printf(tt商品名稱(chēng) 進(jìn)貨時(shí)間 生產(chǎn)日期 保質(zhì)期(年)n); printf(ttn); for(i=1;i1&i%10=0) /*每十個(gè)暫停*/ printf(tttn); /*格式*/ printf(ttt); system(pause); printf(tttn); printf(ttt); system(pause); /*按任何鍵繼續(xù)*/ int Insert_a_record(goods gs,i
30、nt n) /*插入一條記錄*/ char x10; /*清除多余輸入所用*/ printf(ttt商品名稱(chēng):); /*交互輸入*/ scanf(ttt%s,); printf(ttt進(jìn)貨(jn hu)時(shí)間:); scanf(ttt%d,&gsn.time); printf(ttt生產(chǎn)日期:); scanf(ttt%d,&gsn.year); printf(ttt保質(zhì)期:); scanf(ttt%d,&gsn.no); gets(x); n+; Sort_by_time(gs,n); /*調(diào)用排序(pi x)函數(shù)*/ printf(ttt插入成功(chnggng)!n); /*
31、返回成功信息*/ return(n); int Delete_a_record(goods gs,int n) /*按商品名字查找,刪除一條記錄*/ char s20; int i=0,j; printf(ttt商品名稱(chēng):); scanf(%s,s); while(strcmp(,s)!=0&in) i+; /*查找判斷*/ if(i=n) printf(ttt沒(méi)找到!n); /*返回失敗信息*/ return(n); for(j=i;jn-1;j+) /*刪除操作*/ strcpy(,gsj+1.name); gsj.time=gsj+1.time; gsj.
32、year=gsj+1.year; gsj.no=gsj+1.no; printf(ttt刪除成功!n); /*返回成功信息*/ return(n-1); void Query_a_record(goods gs,int n) /*查找并顯示一個(gè)記錄*/ char s20; int i=0; printf(ttt輸入(shr)要查找的商品名稱(chēng):); scanf(ttt%s,s); while(strcmp(,s)!=0&in) i+; /*查找(ch zho)判斷*/ if(i=n) printf(ttt沒(méi)找到!n); /*輸入失敗(shbi)信息*/ return; print
33、f(ttt進(jìn)貸時(shí)間:%dn,gsi.time); /*輸出該商品信息*/ printf(ttt生產(chǎn)日期:%dn,gsi.year); printf(ttt保質(zhì)期:%dn,gsi.no); void WritetoText(goods gs,int n) /*將所有記錄寫(xiě)入文件*/ int i=0; FILE *fp; /*定義文件指針*/ if(fp=fopen(d:商品.doc,wb)=NULL) /*打開(kāi)文件*/ printf(tttcannt open the filen); system(pause); return; fprintf(fp,%dn,n); /*循環(huán)寫(xiě)入數(shù)據(jù)*/ whi
34、le(in) fprintf(fp,%-5s%d %d %dn,,gsi.time,gsi.year,gsi.no); i+; fclose(fp); /*關(guān)閉文件*/ printf(tttSuccessed!n); /*返回成功信息*/ int AddfromText(goods gs,int n) /*從文件中讀入數(shù)據(jù)*/ int i=0,num; FILE *fp; /*定義文件(wnjin)指針*/ if(fp=fopen(d:商品(shngpn).doc,rb)=NULL) /*打開(kāi)文件*/ printf(tttcannt open the filen); /*打開(kāi)(
35、d ki)失敗信息*/ printf(ttt); system(pause); return(n); fscanf(fp,%d,&num); /*讀入總記錄量*/ while(inum) /*循環(huán)讀入數(shù)據(jù)*/ fscanf(fp,%s%d%d%d,gsn+,&gsn+i.time,&gsn+i.year,&gsn+i.no); i+; n+=num; fclose(fp); /*關(guān)閉文件*/ printf(tttSuccessed!n); printf(ttt); system(pause); return(n); void main() /*主函數(shù)*/ int n=0; for(;) switch(menu_select() /*選擇判斷*/ case 1: printf(ttt輸入最初商品n); /*輸入若干條記錄*/ n=Input(gs,n); break; case 2: printf(ttt顯示所有商品(shngpn)n); /*顯示所有記錄*/ Display(gs,n); break; case 3: printf(ttt插入
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑裝修施工合同書(shū)
- 電子商務(wù)平臺(tái)搭建及運(yùn)營(yíng)服務(wù)協(xié)議
- 咨詢(xún)服務(wù)代理合同
- 應(yīng)屆畢業(yè)生頂崗實(shí)習(xí)協(xié)議書(shū)
- 游戲開(kāi)發(fā)授權(quán)合作協(xié)議
- 房地產(chǎn)開(kāi)發(fā)權(quán)益轉(zhuǎn)讓合同
- 外接電源合同協(xié)議
- 的擔(dān)保借款合同
- 汽車(chē)零部件制造技術(shù)轉(zhuǎn)讓合作協(xié)議
- 農(nóng)家樂(lè)住宿房裝修合同
- 泌尿外科教學(xué)查房課件
- 耳鼻喉科患者的疼痛管理
- JGJT10-2011 混凝土泵送技術(shù)規(guī)程
- 2023版設(shè)備管理體系標(biāo)準(zhǔn)
- 第7課互聯(lián)網(wǎng)應(yīng)用協(xié)議 課件 2023-2024學(xué)年浙教版(2023)初中信息技術(shù)七年級(jí)上冊(cè)
- 特殊問(wèn)題學(xué)生記錄表
- 中藥功效快快記憶法(完整版)
- 01S201室外消火栓安裝圖集
- 電機(jī)與電氣控制技術(shù)PPT完整全套教學(xué)課件
- 中國(guó)音樂(lè)學(xué)院音樂(lè)基礎(chǔ)知識(shí)(四級(jí))(基本樂(lè)科)備考試題庫(kù)(含答案)
- 裝飾材料復(fù)試清單
評(píng)論
0/150
提交評(píng)論