




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)報(bào)告題 目: 倉庫進(jìn)銷存管理系統(tǒng) 學(xué) 院: 計(jì)算機(jī)與控制工程學(xué)院 專業(yè)班級(jí): 軟件101 學(xué)生姓名: 王海川 指導(dǎo)教師: 王一萍 2012 年06 月2 9日 綜合實(shí)踐1評(píng)分表班級(jí)姓名指導(dǎo)教師題目:評(píng)分標(biāo)準(zhǔn)評(píng)分標(biāo)準(zhǔn)分?jǐn)?shù)權(quán)重評(píng)分的依據(jù)得分ac選題10選題符合大綱要求,題目較新穎,工作量大選題基本符合大綱要求,工作量適中工作態(tài)度10態(tài)度端正,能主動(dòng)認(rèn)真完成各個(gè)環(huán)節(jié)的工作,不遲到早退,出勤好。能夠完成各環(huán)節(jié)基本工作,出勤較好。存儲(chǔ)結(jié)構(gòu)、算法描述20能正確選擇存儲(chǔ)結(jié)構(gòu),定義準(zhǔn)確,算法流程圖或類c語言描述的算法準(zhǔn)確無誤能正確選擇存儲(chǔ)結(jié)構(gòu),算法流程圖或類c語言描述的算法基本準(zhǔn)確獨(dú)立解
2、決問題的能力10具有獨(dú)立分析、解決問題能力,有一定的創(chuàng)造性,能夠獨(dú)立完成軟件的設(shè)計(jì)與調(diào)試工作,程序結(jié)構(gòu)清晰,邏輯嚴(yán)謹(jǐn),功能完善。有一定的分析、解決問題能力。能夠在老師指導(dǎo)下完成軟件的設(shè)計(jì)與調(diào)試工作,程序功能較完善。答辨問題回答20能準(zhǔn)確回答老師提出的問題能基本準(zhǔn)確回答老師提出的問題程序運(yùn)行情況10程序運(yùn)行正確、界面清晰,測試數(shù)據(jù)設(shè)計(jì)合理。程序運(yùn)行正確、界面較清晰,能給出合適的測試數(shù)據(jù)。綜合實(shí)踐報(bào)告20格式規(guī)范,層次清晰,設(shè)計(jì)思想明確,解決問題方法合理,體會(huì)深刻。格式較規(guī)范,設(shè)計(jì)思想基本明確,解決問題方法較合理??偡种笇?dǎo)教師(簽字):注:介于a和c之間為b級(jí),低于c為d級(jí)和e級(jí)。按各項(xiàng)指標(biāo)打分后
3、,總分在90100為優(yōu),8089為良,7079為中,6069為及格,60分以下不及格。目 錄1. 問題描述12. 需求分析13. 軟件概要設(shè)計(jì)2 3.1 設(shè)計(jì)分析 2 3.1.1 設(shè)計(jì)理念 2 3.1.2 設(shè)計(jì)框架 24. 軟件詳細(xì)設(shè)計(jì)3 4.1 數(shù)據(jù)流程及結(jié)構(gòu)應(yīng)用 3 4.1.1 數(shù)據(jù)結(jié)構(gòu)應(yīng)用 3 4.1.2 主要流程圖 3 4.2 主要函數(shù)設(shè)計(jì) 4 4.2.1 主函數(shù)的設(shè)計(jì) 4 4.2.2 錄入函數(shù)的設(shè)計(jì) 5 4.2.3 查找函數(shù)的設(shè)計(jì) 7 4.2.4 刪除函數(shù)的設(shè)計(jì) 8 4.2.5 排序函數(shù)的設(shè)計(jì) 95. 軟件測試分析 11 5.1 函數(shù)模塊的設(shè)計(jì)11 5.1.1 登錄函數(shù)的測試11 5
4、.1.2 錄入函數(shù)的測試12 5.1.3 查找函數(shù)的測試12 5.1.4 修改函數(shù)的測試13 5.1.5 插入函數(shù)的測試13 5.1.6 刪除函數(shù)的測試14 5.1.7 排序函數(shù)的測試145.2 文件模塊的測試155.2.1 文件讀取的測試155.2.2 文件寫入的測試156. 課程設(shè)計(jì)總結(jié) 167. 參考文獻(xiàn) 16附錄1.問題描述倉庫管理的重要性:倉庫作為一總貨品資源的集散地,貨品的種類繁多,包含很多的信息數(shù)據(jù)管理。據(jù)調(diào)查得知,以前倉庫進(jìn)行信息管理的方式主要是基于文本、表格等紙介質(zhì)的手工處理,對(duì)于貨品的出入庫情況的統(tǒng)計(jì)和核實(shí)等旺旺采用對(duì)賬本的的人工檢查,對(duì)管理者的管理權(quán)限的不受約束,任何人都
5、可以查看,引起資料外泄。另外,數(shù)據(jù)信息處理工作量大,容易出錯(cuò),不宜查找。而且,一般儲(chǔ)存情況是記錄在賬本上的,倉庫管理人員也只是當(dāng)時(shí)記得比較清楚,時(shí)間長了進(jìn)行查詢會(huì)造成費(fèi)事、費(fèi)時(shí)、費(fèi)力,如對(duì)很長時(shí)間的商品以及大量商品進(jìn)行管理就更加困難了。因此我們很有必要建立一個(gè)倉庫進(jìn)銷存管理系統(tǒng),使商品管理工作更加規(guī)范化、系統(tǒng)化、程序化,提高信息處理的速度和準(zhǔn)確性。2.軟件需求分析商場購物已成為每家每戶生活中必須的經(jīng)歷,隨著人流量的增大。商場出售的商品種類也越來越多,商場的倉庫需要有規(guī)格有條理的管理方式,靈活記錄每天的情況。針對(duì)上面的情況,開發(fā)一個(gè)系統(tǒng)軟件成為必然。該系統(tǒng)需要能夠 方便的對(duì)每天進(jìn)銷存貨操作和每天
6、的銷售額及庫存量進(jìn)行記錄,能夠給小型商場提供諸多方便。因此,商場庫存系統(tǒng)應(yīng)運(yùn)而生。功能需求:(1)用戶自行注冊(cè)登錄,保證倉庫商品信息的保密性。(2)倉庫各種商品信息的輸入,主要包括商品名稱、數(shù)量、類別、日期等。(3)倉庫各種商品信息的查詢、修改和維護(hù)。(4)對(duì)倉庫中損壞商品信息的刪除。(5)倉庫商品信息列表的生成顯示。(6)實(shí)現(xiàn)商品信息對(duì)文本中的保存。3.軟件概要設(shè)計(jì)3.1設(shè)計(jì)分析3.1.1設(shè)計(jì)理念倉庫存系統(tǒng)主要運(yùn)用了數(shù)據(jù)結(jié)構(gòu)中線性表的鏈?zhǔn)酱鎯?chǔ),鏈?zhǔn)酱鎯?chǔ)空間的可擴(kuò)展性大,將鏈表中的數(shù)據(jù)以文件的形式保存,程序功能包括初始化、創(chuàng)建表、插入、刪除和查找等,以最少的內(nèi)存使用和最高的效率為原則,實(shí)現(xiàn)客戶
7、的需求。進(jìn)入主菜單,選擇相應(yīng)的功能按照提示即可進(jìn)入相應(yīng)的操作。 主菜單主要實(shí)現(xiàn)以下函數(shù)模塊功能:(1)錄入商品函數(shù) linklist goods_input()/運(yùn)用鏈?zhǔn)酱鎯?chǔ)商品信息寫入文件的函數(shù) void file_write(node *p)文件中的信息讀出的函數(shù) linklist file_read()(2)查找商品函數(shù) void goods_find()(3)修改信息函數(shù) void goods_change()(4)插入商品函數(shù) void goods_insert()(5)刪除商品函數(shù) void goods_delete()(6)商品信息排序函數(shù) void goods_rank()3.
8、1.2設(shè)計(jì)框架4.軟件詳細(xì)設(shè)計(jì)4.1數(shù)據(jù)流程及結(jié)構(gòu)應(yīng)用4.1.1數(shù)據(jù)結(jié)構(gòu)應(yīng)用為了能夠提高內(nèi)存的利用及各功能的實(shí)現(xiàn),程序主要使用了:(1)線性表的鏈?zhǔn)酱鎯?chǔ),分配存儲(chǔ)空間,空間可擴(kuò)展性強(qiáng),方便頻繁的錄入、插入、查找、刪除和排序等而不占用多余的內(nèi)存。(主要應(yīng)用)(2)文件文本的讀取與寫入,為了方便用戶更加快速的執(zhí)行管理操作。(3)結(jié)構(gòu)體的定義,定義了商品結(jié)構(gòu)體和日期結(jié)構(gòu)體。(4)登錄用戶時(shí)的字符串讀取及驗(yàn)證。4.1.2主要流程圖 圖4-1 程序流程圖4.2 主要函數(shù)設(shè)計(jì)4.2.1主函數(shù)的設(shè)計(jì) 程序啟動(dòng)進(jìn)入主函數(shù),進(jìn)入主菜單 界面和用戶進(jìn)行交互。用戶可以直接明了的清楚軟件的功能項(xiàng)目,調(diào)用各個(gè)模塊的功能
9、項(xiàng)目,進(jìn)行選擇。 void main() int c; key(); do printf(請(qǐng)按任意鍵返回主菜單!);getch();system(cls);printf(n*歡迎進(jìn)入商場貨物管理系統(tǒng)*nn);printf( 1: 錄入商品信息;n);printf( 2: 查找商品信息;n);printf( 3: 修改商品信息;n);printf( 4: 插入商品信息;n); printf( 5: 刪除商品信息;n);printf( 6: 商品信息排序;n); printf( 7: 統(tǒng)計(jì)商品信息;n);printf( 0: 退出系統(tǒng);n);printf( 請(qǐng)選擇(07): ); scanf(%d
10、,&c);while(1) if(c=1|c=2|c=3|c=4|c=5|c=6|c=7|c=0)break;else printf(n輸入有誤,請(qǐng)重新輸入!n清選擇(07):); scanf(%d,&c);if(c=1|c=2|c=3|c=4|c=5|c=6|c=7|c=0) break;switch(c)case 1:goods_input();break;case 2:goods_find();break;case 3:goods_change();break;case 4:goods_insert();break;case 5:goods_delete();break;case 6:g
11、oods_rank();break; case 7:goods_tongji();break;case 0 :break;while(c!=0);4.2.2錄入函數(shù)的設(shè)計(jì)數(shù)據(jù)錄入是該軟件必備的基本功能當(dāng)鏈表為空時(shí),對(duì)商品信息變量“商品號(hào)”判斷并進(jìn)行錄入,系統(tǒng)調(diào)用錄入函數(shù),在用戶輸入商品信息后添加到鏈表里,在添加過程中按提示自動(dòng)插入到相應(yīng)位置。添加成功后,返回主菜單并提示用戶保存到自建的文本中,并可以根據(jù)各個(gè)模塊要求進(jìn)行讀取修改。linklist goods_input()linklist l; node *p1,*p2; int i=1; void file_write(node *p); i
12、nt flag=1; l=p2=(node*)malloc(sizeof(node);/為頭節(jié)點(diǎn)分配存儲(chǔ)空間 while(flag) p1=(node*)malloc(sizeof(node); printf(請(qǐng)輸入第%d種商品的信息(商品號(hào)為0時(shí),結(jié)束商品輸入):nn,i+); flushall(); printf(商品號(hào):); scanf(%ld,&p1-num); if(p1-num!=0) flushall(); printf(名稱:); scanf(%s,&p1-name); flushall(); printf(類別:); scanf(%s,&p1-kind); flushall(
13、); printf(生產(chǎn)日期(年月日用空格隔開):); scanf(%d%d%d,&p1-pro_date.year,&p1-pro_date.month,&p1-pro_date.day); flushall(); printf(保質(zhì)期:); scanf(%d,&p1-save_day); flushall(); printf(商品數(shù)量:); scanf(%d,&p1-shuliang); flushall(); printf(進(jìn)價(jià):); scanf(%f,&p1-jinjia); flushall(); printf(售價(jià):); scanf(%f,&p1-shoujia); flushal
14、l(); printf(銷售日期(年月日用空格隔開):); scanf(%d%d%d,&p1-sale_date.year,&p1-sale_date.month,&p1-sale_date.day); p2-next=p1; p2=p1; else flag=0; break; p2-next=null; file_write(l); free(p1); return(l);保存文本文件的讀寫函數(shù)模塊:void file_write(node *p) /將商品信息寫入文件linklist file_read()/將文件中的信息讀出的函數(shù)4.2.3查找函數(shù)的設(shè)計(jì)查找商品是信息管理的基本功能,當(dāng)
15、數(shù)據(jù)很多時(shí)怎么快速找到商品對(duì)管理員來說很重要,系統(tǒng)調(diào)用查找函數(shù)模塊,顯示查找菜單。根據(jù)提示輸入需要查找的“商品號(hào)”進(jìn)行查找,查找成功,用戶會(huì)看到查找商品的詳細(xì)信息,如沒有該商品,則查找失敗,查找函數(shù)設(shè)計(jì): void goods_find() long snum; int flag=0,t; node *p0,*p1; p1=p0=file_read(); while(1) flag=0; printf(請(qǐng)輸入你要查找的商品信息的商品號(hào):); scanf(%ld,&snum); while( p0-next!=null) p0=p0-next; if(p0-num=snum) flag=1; b
16、reak; if(flag=1) printf(該商品的信息如下:nn); printf(商品號(hào)t名稱t類別t生產(chǎn)日期t保質(zhì)期t數(shù)量t進(jìn)價(jià)t售價(jià)t銷售日期n); printf(%ldt%st%st%02d-%02d-%02dt%dt%dt%0.2ft%0.2ft%02d-%02d-%02d,p0-num,p0-name,p0-kind,p0-pro_date.year,p0-pro_date.month,p0-pro_date.day,p0-save_day,p0-shuliang,p0-jinjia,p0-shoujia,p0-sale_date.year,p0-sale_date.mont
17、h,p0-sale_date.day); else printf(此商品號(hào)不存在,查找失敗!n); p0=p1; printf(結(jié)束查找按0,繼續(xù)查找按1:); scanf(%d,&t); if(t=0) break; 4.2.4刪除函數(shù)的設(shè)計(jì) 刪除是一項(xiàng)對(duì)數(shù)據(jù)管理的功能,將過期的商品信息刪除,以免影響倉庫管理,刪除函數(shù)的原理和查找函數(shù)原理一樣,只是在輸入“商品號(hào)”找到對(duì)應(yīng)的商品后刪除該結(jié)點(diǎn),就會(huì)刪除該商品的所有詳細(xì)信息,并提示用戶保存! void goods_delete() long num;node *p,*p0,*p1,*p2;int flag=0,t;p0=file_read();w
18、hile(1) flag=0;p1=p2=p0;p=p1-next;if(p=null) flag=0;printf(請(qǐng)輸入你要?jiǎng)h除的商品的商品號(hào):);scanf(%ld,&num);while(p!=null)if(p-num=num)p1-next=p-next;free(p);flag=1;break;p1=p;p=p-next;flag=0;if(flag=1)printf(你已正確刪除!n);elseprintf(你輸入的商品號(hào)不存在!n);printf(結(jié)束刪除按0,繼續(xù)刪除按1:);scanf(%d,&t);if(t=0)break;p0=p0-next;printf(商品號(hào)t名
19、稱t類別t生產(chǎn)日期t保質(zhì)期t數(shù)量t進(jìn)價(jià)t售價(jià)t銷售日期n); while(p0!=null) printf(-n); printf(%ldt%st%st%02d-%02d-%02dt%dt%dt%0.2ft%0.2ft%02d-%02d-%02d,p0-num,p0-name,p0-kind,p0-pro_date.year,p0-pro_date.month,p0-pro_date.day,p0-save_day,p0-shuliang,p0-jinjia,p0-shoujia,p0-sale_date.year,p0-sale_date.month,p0-sale_date.day); p
20、0=p0-next; file_write(p2);4.2.5排序函數(shù)的設(shè)計(jì)商品信息排序,為了可以更清楚的了解到商品庫存量的多少,方便于管理者對(duì)商場商品的銷售政策和對(duì)即將過期商品的多少有所了解,使倉庫管理員更直觀的了解到倉庫庫存。該函數(shù)找到商品的記錄信息按照商品數(shù)量從小到大重新排序,排序完后,返回主菜單并提示用戶保存! void goods_rank()node *p,*q,*k,*l,t;node *p0;int flag=0;l=file_read();p=l-next;while(p-next)k=p;q=p-next;while(q)if(k-shuliang)(q-shuliang)
21、 k=q; q=q-next;if(p!=k)t=*p;*p=*k; *k=t;t.next=p-next;p-next=k-next;k-next=t.next;flag=1; p=p-next;if(flag=1)printf(按商品數(shù)量從小到大排序成功!n);elseprintf(按商品數(shù)量從小到大排序失敗!n);p0=l;p0=p0-next;printf(商品號(hào)t名稱t類別t生產(chǎn)日期t保質(zhì)期t數(shù)量t進(jìn)價(jià)t售價(jià)t銷售日期n); while(p0!=null) printf(-n);printf(%ldt%st%st%02d-%02d-%02dt%dt%dt%0.2ft%0.2ft%02
22、d-%02d-%02d,p0-num,p0-name,p0-kind,p0-pro_date.year,p0-pro_date.month,p0-pro_date.day,p0-save_day,p0-shuliang,p0-jinjia,p0-shoujia,p0-sale_date.year,p0-sale_date.month,p0-sale_date.day); p0=p0-next;file_write(l);5.軟件測試分析5.1函數(shù)模塊的測試5.1.1登錄函數(shù)的測試 圖5-1-1 登錄測試(a)(b)5.1.2錄入商品函數(shù)的測試 圖5-1-2 錄入商品信息測試5.1.3查找商品函
23、數(shù)的測試 圖5-1-3 查找商品信息測試5.1.4修改商品函數(shù)的測試 圖5-1-4 修改商品信息測試5.1.4插入商品函數(shù)的測試 圖5-1-4 插入商品信息測試5.1.5刪除商品函數(shù)的測試 圖5-1-5 刪除商品信息測試 5.1.6商品排序函數(shù)的測試 圖5-1-6 商品信息排序測試5.2 文件模塊的的測試5.2.1 文件讀取測試 圖5-2-1 文件讀取5.2.2 文本寫入測試 圖5-2-2 文本寫入6.課程設(shè)計(jì)總結(jié) 經(jīng)過近兩周的課程設(shè)計(jì)實(shí)習(xí)過程中我學(xué)到了很多,我做的是商場倉庫管理系統(tǒng),這個(gè)系統(tǒng)基本完成了預(yù)期的一些基本功能(商品信息的錄入、刪除、查找和修改等),實(shí)現(xiàn)了倉庫管理的信息化,滿足了客戶
24、對(duì)于基本倉庫管理的需求。這次課程設(shè)計(jì)中,各個(gè)功能模版的執(zhí)行主要運(yùn)用了本學(xué)期學(xué)習(xí)的數(shù)據(jù)結(jié)構(gòu)中的線性表鏈?zhǔn)酱鎯?chǔ)的方式,節(jié)點(diǎn)的插入刪除等 。讓我們?cè)僖淮卧趹?yīng)用中對(duì)線性表的運(yùn)用有所提高,并加深了數(shù)據(jù)結(jié)構(gòu)與實(shí)際應(yīng)用的聯(lián)系。此外,這次的課程設(shè)計(jì),還加強(qiáng)了我們動(dòng)手、思考和解決問題的能力。鞏固和加深了對(duì)數(shù)據(jù)結(jié)構(gòu)的理解,提高綜合運(yùn)用本課程所學(xué)知識(shí)的能力。培養(yǎng)了我選用參考書,查閱手冊(cè)及文獻(xiàn)資料的能力。培養(yǎng)獨(dú)立思考,深入研究,分析問題、解決問題的能力。通過實(shí)際編譯系統(tǒng)的分析設(shè)計(jì)、編程調(diào)試,掌握應(yīng)用軟件的分析方法和工程設(shè)計(jì)方法。而且做課程設(shè)計(jì)同時(shí)也是對(duì)課本知識(shí)的鞏固和加強(qiáng),平時(shí)看課本時(shí),有些問題就不是很能理解,做完課
25、程設(shè)計(jì),那些問題就迎刃而解了。而且還可以記住很多東西。認(rèn)識(shí)來源于實(shí)踐,實(shí)踐是認(rèn)識(shí)的動(dòng)力和最終目的,實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn)。所以這個(gè)期末測試之后的課程設(shè)計(jì)對(duì)我們的作用是非常大的。7.參考文獻(xiàn)嚴(yán)蔚敏, 吳偉民. 數(shù)據(jù)結(jié)構(gòu)(c語言版). 北京: 清華大學(xué)出版社, 1997.4嚴(yán)蔚敏, 吳偉民, 米寧. 數(shù)據(jù)結(jié)構(gòu)題集(c語言版). 北京: 清華大學(xué)出版社, 1999.2附錄使用說明: 本系統(tǒng)軟件為倉庫管理中的基本軟件,實(shí)現(xiàn)功能為商品信息的錄入、查找、刪除、修改和查看等。用戶首先需要注冊(cè)然后登錄到主菜單,按菜單提示選擇相應(yīng)的模塊操作進(jìn)行倉庫管理的實(shí)施。用戶還可以在創(chuàng)建的文本中直接查看保存的商品信息,方
26、便用戶直接的對(duì)倉庫的管理與查看。使用流程按提示操作即可。源代碼:#include#include#include#include/日期結(jié)構(gòu)體typedef struct int year; int month; int day;date;/商品結(jié)構(gòu)體 /定義鏈表typedef struct node long num; char name20; char kind20; date pro_date; int save_day; int shuliang; float jinjia; float shoujia; date sale_date; struct node *next;node,*l
27、inklist;/申請(qǐng)函數(shù)void apply() int i,flag=1;file *fp; char name20,key20;flushall();printf(用戶名(不能為空):);scanf(%s,name);flushall();printf(密碼(不能為空):); for(i=0;i=20;i+)keyi=getch();if(keyi=13)keyi=0;break;printf(*);fp=fopen(key.txt,w);if(fp=null) printf(the file can not open!); flag=0; exit(1);fprintf(fp,%s %
28、s,name,key);fclose(fp);if(flag=1)printf(n申請(qǐng)成功,請(qǐng)登錄!n);elseprintf(n申請(qǐng)失敗,請(qǐng)重新申請(qǐng)!n);/登錄函數(shù)int load() file *fp;int i;char name20,key20;char name120,key120;fp=fopen(key.txt,r);fscanf(fp,%s %s,name,key); fclose(fp); printf(用戶名(不能為空):);scanf(%s,name1);flushall();printf(密碼(不能為空):); for(i=0;inum); if(p1-num!=0)
29、 flushall();/ i/o庫函數(shù) 清除緩沖 printf(名稱:); scanf(%s,&p1-name); flushall(); printf(類別:); scanf(%s,&p1-kind); flushall(); printf(生產(chǎn)日期(年月日用空格隔開):); scanf(%d%d%d,&p1-pro_date.year,&p1-pro_date.month,&p1-pro_date.day); flushall(); printf(保質(zhì)期:); scanf(%d,&p1-save_day); flushall(); printf(商品數(shù)量:); scanf(%d,&p1-
30、shuliang); flushall(); printf(進(jìn)價(jià):); scanf(%f,&p1-jinjia); flushall(); printf(售價(jià):); scanf(%f,&p1-shoujia); flushall(); printf(銷售日期(年月日用空格隔開):); scanf(%d%d%d,&p1-sale_date.year,&p1-sale_date.month,&p1-sale_date.day); p2-next=p1; p2=p1; else flag=0; break; p2-next=null; file_write(l); free(p1); return(
31、l);/將商品信息寫入文件 void file_write(node *p) file *fp;char filename50;int c;printf(是否保存?(保存按1;不保存按0):); scanf(%d,&c);if(c=1) flushall(); printf(n為了將你操作的信息保存下來,請(qǐng)輸入要寫入的文件的路經(jīng)或文件:); gets(filename); fp=fopen(filename,w);/文件寫入 if(fp=null) printf(n this file can not be open!); exit(1); p=p-next; while(p!=null) f
32、printf(fp,%ld %s %s %d %d %d %d %d %f %f %d %d %dn,p-num,p-name,p-kind,p-pro_date.year,p-pro_date.month,p-pro_date.day,p-save_day,p-shuliang,p-jinjia,p-shoujia,p-sale_date.year,p-sale_date.month,p-sale_date.day); p=p-next; fclose(fp); printf(文件保存成功!);/將文件中的信息讀出的函數(shù)linklist file_read() file *fp; linkl
33、ist l; node *p1,*p2; char filename50; int i,k=0,t=-2; flushall(); printf(請(qǐng)輸入要讀取的文件的路徑或文件名:); gets(filename); flushall(); printf(請(qǐng)輸入商品的種類數(shù):); scanf(%d,&i); fp=fopen(filename,r);/文件讀出 l=p2=(node*)malloc(sizeof(node);/為頭節(jié)點(diǎn)分配存儲(chǔ)空間 while(t!=eof&knum,p1-name,p1-kind,&p1-pro_date.year,&p1-pro_date.month,&p1
34、-pro_date.day,&p1-save_day,&p1-shuliang,&p1-jinjia,&p1-shoujia,&p1-sale_date.year,&p1-sale_date.month,&p1-sale_date.day); p2-next=p1; p2=p1; k+; p2-next=null; fclose(fp); return l;/查找商品信息void goods_find() long snum; int flag=0,t; node *p0,*p1; p1=p0=file_read(); while(1) flag=0; printf(請(qǐng)輸入你要查找的商品信息的
35、商品號(hào):); scanf(%ld,&snum); while( p0-next!=null) p0=p0-next; if(p0-num=snum) flag=1; break; if(flag=1) printf(該商品的信息如下:nn); printf(商品號(hào)t名稱t類別t生產(chǎn)日期t保質(zhì)期t數(shù)量t進(jìn)價(jià)t售價(jià)t銷售日期n); printf(%ldt%st%st%02d-%02d-%02dt%dt%dt%0.2ft%0.2ft%02d-%02d-%02d,p0-num,p0-name,p0-kind,p0-pro_date.year,p0-pro_date.month,p0-pro_date.
36、day,p0-save_day,p0-shuliang,p0-jinjia,p0-shoujia,p0-sale_date.year,p0-sale_date.month,p0-sale_date.day); else printf(此商品號(hào)不存在,查找失敗!n); p0=p1; printf(結(jié)束查找按0,繼續(xù)查找按1:); scanf(%d,&t); if(t=0) break; /修改商品信息void goods_change() node *p1,*p0,*p2; int c,flag=0,t;long snum;p2=p0=file_read();while(1) flag=0;p1
37、=p0-next;if(p1=null) flag=0;printf(請(qǐng)輸入你要修改的商品信息的商品號(hào):);scanf(%ld,&snum);while(p1!=null)if(p1-num=snum)flag=1;break;p1=p1-next;if(flag=1) printf( 1:商品號(hào);n);printf( 2: 商品名稱;n);printf( 3: 商品類別;n); printf( 4: 商品生產(chǎn)日期;n); printf( 5: 商品保質(zhì)期;n);printf( 6: 商品數(shù)量n);printf( 7: 商品進(jìn)價(jià)n);printf( 8: 商品售價(jià)n);printf( 9: 商
38、品銷售日期n);printf( 請(qǐng)選擇修改的內(nèi)容(19):);scanf(%d,&c);while(1) if(c=1|c=2|c=3|c=4|c=5|c=6|c=7|c=8|c=9)break;else printf(n輸入有誤,請(qǐng)重新輸入!n清選擇(19):); scanf(%d,&c);if(c=1|c=2|c=3|c=4|c=5|c=6|c=7|c=8|c=9) break;switch(c)case 1:printf(n輸入修改后的商品號(hào):);scanf(%ld,&p1-num);break; case 2: printf(輸入修改后的商品名:); scanf(%s,&p1-name
39、);break; case 3: printf(輸入修改后的商品類別:); scanf(%s,&p1-kind);break; case 4: printf(輸入修改后的商品生產(chǎn)日期(年月日之間用空格隔開):); scanf(%d%d%d,&p1-pro_date.year,&p1-pro_date.month,&p1-pro_date.day);break; case 5: printf(輸入修改后的商品保質(zhì)期:); scanf(%d,&p1-save_day);break; case 6: printf(輸入修改后的商品數(shù)量:); scanf(%d,&p1-shuliang);break; case 7: printf(輸入修改后的商品進(jìn)價(jià):); scanf(%f,&p1-jinjia);break; case 8: printf(輸入修改后的商品售價(jià):); scanf(%f,&p1-
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國氣動(dòng)三通行業(yè)投資前景及策略咨詢報(bào)告
- 2025至2030年中國毛料外套行業(yè)投資前景及策略咨詢報(bào)告
- 2025至2030年中國橡膠防眩板市場現(xiàn)狀分析及前景預(yù)測報(bào)告
- 2025至2030年中國模鍛石墨乳行業(yè)發(fā)展研究報(bào)告
- 2025至2030年中國椰汁薄餅行業(yè)投資前景及策略咨詢報(bào)告
- 2025至2030年中國樹脂沖洗系統(tǒng)市場調(diào)查研究報(bào)告
- 2025至2030年中國柞木餐椅行業(yè)發(fā)展研究報(bào)告
- 2025至2030年中國殺蟲手雷行業(yè)投資前景及策略咨詢報(bào)告
- 電力安全風(fēng)險(xiǎn)點(diǎn)排查指南
- 2025至2030年中國日用瓷制品行業(yè)投資前景及策略咨詢報(bào)告
- 酒店住宿水單模板1
- 研發(fā)項(xiàng)目立項(xiàng)申請(qǐng)書模板
- 人行道改造工程設(shè)計(jì)說明
- 四川省中小流域暴雨洪水計(jì)算表格(尾礦庫洪水計(jì)算)
- 夫妻通用離婚協(xié)議書電子版(四篇)
- 施工安全監(jiān)督方案實(shí)用文檔
- 施工現(xiàn)場危險(xiǎn)源告知書
- 認(rèn)知起道搗固作業(yè)的定義主要內(nèi)容使用范圍以及技術(shù)標(biāo)準(zhǔn)
- 消費(fèi)者行為學(xué)智慧樹知到答案章節(jié)測試2023年浙江大學(xué)
- 社會(huì)組織負(fù)責(zé)人備案表(民非)
- 嵌入式系統(tǒng)基礎(chǔ)
評(píng)論
0/150
提交評(píng)論