版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課程設(shè)計(jì)說(shuō)明書 no.1 書店倉(cāng)庫(kù)管理系統(tǒng)1. 課程設(shè)計(jì)目的本課程設(shè)計(jì)是為了配合數(shù)據(jù)結(jié)構(gòu)課程的開設(shè),通過設(shè)計(jì)一個(gè)完整的程序,使學(xué)生掌握數(shù)據(jù)結(jié)構(gòu)的應(yīng)用、算法的編寫、c語(yǔ)言的算法轉(zhuǎn)換成c程序并用tc上機(jī)調(diào)試的基本方法。加深對(duì)數(shù)據(jù)結(jié)構(gòu)的理解,提高算法設(shè)計(jì)的能力,鍛煉編程的能力。2. 設(shè)計(jì)方案論證2.1 設(shè)計(jì)目標(biāo)2.1.1 設(shè)計(jì)任務(wù)對(duì)稀疏矩陣進(jìn)行加減乘的運(yùn)算。當(dāng)輸入兩個(gè)矩陣時(shí),可以對(duì),即實(shí)現(xiàn)圖書入庫(kù)。當(dāng)有圖書賣出時(shí),管理人員可查閱目前此類圖書的庫(kù)存情況,如圖書還有存量,管理人員可根據(jù)不同的出價(jià)調(diào)出相應(yīng)價(jià)的圖書,也可以根據(jù)市場(chǎng)波動(dòng)對(duì)圖書做出相應(yīng)的調(diào)價(jià)。當(dāng)圖書出現(xiàn)問題,需要退給供貨商時(shí),管理員可以把退還的
2、書名,數(shù)量,金額,記錄下來(lái)。當(dāng)月底或年終時(shí),管理人員可以將各種圖書的出入庫(kù),庫(kù)存金額整理出來(lái),以便查看。2.1.2 設(shè)計(jì)要求該程序采用了線性鏈表的存儲(chǔ)結(jié)構(gòu)來(lái)設(shè)計(jì)以及實(shí)現(xiàn)對(duì)于書店倉(cāng)庫(kù)的信息管理。在對(duì)鏈表的設(shè)計(jì)中具體采用了設(shè)置頭指針的單向鏈表的存儲(chǔ)方式。對(duì)于插入、查找、刪除等功能要求能按書名,編號(hào)進(jìn)行。圖書信息包括:圖書編號(hào)、書名、規(guī)格、數(shù)量、進(jìn)貨價(jià)、銷售價(jià)。2.2 需求分析書店倉(cāng)庫(kù)管理系統(tǒng)要求實(shí)現(xiàn)許多功能,可遵循結(jié)構(gòu)化程序設(shè)計(jì)思想來(lái)進(jìn)行本系統(tǒng)的設(shè)計(jì)自頂向下,逐步細(xì)化,也就是將軟件設(shè)計(jì)任務(wù)劃分成許多容易解決的小的子任務(wù),即分解出許多子功能模塊進(jìn)行設(shè)計(jì)。本程序經(jīng)過分析分為以下幾個(gè)模塊:入庫(kù)操作、出庫(kù)
3、操作、退貨操作及進(jìn)行統(tǒng)計(jì)操作。 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.2本程序采用了線性鏈表的存儲(chǔ)結(jié)構(gòu)來(lái)設(shè)計(jì)以及實(shí)現(xiàn)對(duì)于書店倉(cāng)庫(kù)的信息管理。在對(duì)鏈表的設(shè)計(jì)中具體采用了單向鏈表的存儲(chǔ)方式。用4個(gè)結(jié)構(gòu)數(shù)組(或鏈表)來(lái)存儲(chǔ)下述4類信息,每類信息的每條記錄用結(jié)構(gòu)類型自定義: 1圖書信息:圖書編號(hào)、書名、規(guī)格、數(shù)量、進(jìn)貨價(jià)、銷售價(jià);2入庫(kù)信息:入庫(kù)編號(hào)、圖書編號(hào)、入庫(kù)圖書名、入庫(kù)數(shù)量、入庫(kù)價(jià)格、總價(jià);3出庫(kù)信息:出庫(kù)編號(hào)、圖書編號(hào)、出庫(kù)圖書名、出庫(kù)數(shù)量、出庫(kù)價(jià)格、總價(jià);4退貨信息:退貨編號(hào)、圖書編號(hào)、退還圖書名、退貨數(shù)量、退貨價(jià)格、總價(jià);5. 對(duì)以上每類信息建立數(shù)據(jù)結(jié)構(gòu); 6. 對(duì)以上每類信息進(jìn)行插入操作
4、; 7. 對(duì)以上每類信息進(jìn)行刪除操作; 8. 對(duì)以上每類信息進(jìn)行修改操作;9. 對(duì)以上每類信息進(jìn)行查找操作(查找關(guān)鍵字用下劃線標(biāo)出); 10. 數(shù)據(jù)統(tǒng)計(jì):(1)統(tǒng)計(jì)入庫(kù)圖書的總數(shù)及總價(jià); (2)統(tǒng)計(jì)出庫(kù)圖書的總數(shù)及總價(jià);(3)統(tǒng)計(jì)倉(cāng)庫(kù)中現(xiàn)有圖書的總數(shù)及總價(jià)格。2.3 設(shè)計(jì)方法2.3.1 數(shù)據(jù)設(shè)計(jì)(1)數(shù)據(jù)結(jié)構(gòu)的選擇選取動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu),本系統(tǒng)是通過帶有頭指針的單向鏈表來(lái)完成的。動(dòng)態(tài)存儲(chǔ)分配與釋放 申請(qǐng)存儲(chǔ)空間函數(shù)malloc( )函數(shù)首部原型為void * malloc(unsigned int size) 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.3 釋放存儲(chǔ)空間函數(shù)free( )函數(shù)首部原型為voi
5、d free(void*p)(2)數(shù)據(jù)類型的選擇struct book /*定義鏈表結(jié)構(gòu)體*/char p_num12; /*圖書編號(hào)*/char name12; /*書名*/char spec12; /*規(guī)格*/int amount; /*數(shù)量*/int price; /*進(jìn)貨價(jià)格*/int s_price; /*銷售價(jià)*/struct book *next; /*定義指針,指向后繼*/(3)變量函數(shù)說(shuō)明init() 輸入圖書信息菜單menu() 選擇對(duì)圖書操作的菜單menu2() 返回選擇界面in_insert() 向入庫(kù)圖書中插入圖書信息in_modify() 修改入庫(kù)的圖書信息in_s
6、elect() 查找入庫(kù)圖書的信息in_delete() 刪除入庫(kù)圖書的信息out_insert() 向出庫(kù)圖書中插入圖書信息out_modify() 修改出庫(kù)圖書的信息 out_select() 查找出庫(kù)圖書的信息out_delete() 刪除出庫(kù)圖書的信息quit_insert() 向退貨圖書中插入圖書信息quit_modify() 修改退貨圖書的信息quit_select() 查找退貨圖書的信息 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.4quit_delete() 刪除退貨圖書的信息2.3.2 系統(tǒng)結(jié)構(gòu)圖系統(tǒng)整體結(jié)構(gòu)圖如下圖1所示開始輸出menuswitchn=0n=4n=3n=1n=2進(jìn)行
7、圖書統(tǒng)計(jì)操作進(jìn)行圖書退貨操作進(jìn)行圖書出庫(kù)操作進(jìn)行圖書入庫(kù)操作退出輸出統(tǒng)計(jì)結(jié)果圖1 系統(tǒng)整體結(jié)構(gòu)圖 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.52.3.3 模塊設(shè)計(jì)與介紹對(duì)本系統(tǒng)的功能進(jìn)行分析后可作如下的模塊化設(shè)計(jì)圖書入庫(kù)模塊的實(shí)現(xiàn):(1) 插入圖書信息:按順序?qū)⑷霂?kù)編號(hào)、圖書編號(hào)、入庫(kù)圖書名、入庫(kù)數(shù)量、入庫(kù)價(jià)格、總價(jià)依次輸入,并建立鏈表將其連接;(2) 刪除圖書信息:輸入圖書入庫(kù)編號(hào),將其內(nèi)容刪除;(3) 修改圖書信息:輸入圖書入庫(kù)編號(hào),修改其對(duì)應(yīng)信息的內(nèi)容;(4) 查找圖書信息:輸入圖書入庫(kù)編號(hào),顯示其對(duì)應(yīng)信息。圖書出庫(kù)模塊的實(shí)現(xiàn):(1) 插入圖書信息:按順序?qū)⒊鰩?kù)編號(hào)、圖書編號(hào)、出庫(kù)圖書名、出庫(kù)
8、數(shù)量、出庫(kù)價(jià)格、總價(jià)依次輸入,并建立鏈表將其連接;(2) 刪除圖書信息:輸入圖書出庫(kù)編號(hào),將其內(nèi)容刪除;(3)修改圖書信息:輸入圖書出庫(kù)編號(hào),修改其對(duì)應(yīng)信息的內(nèi)容;(4)查找圖書信息:輸入圖書出庫(kù)編號(hào),顯示其對(duì)應(yīng)信息。圖書退貨模塊的實(shí)現(xiàn):(1)插入圖書信息:按順序?qū)⑼素浘幪?hào)、圖書編號(hào)、退貨圖書名、退貨數(shù)量、退貨價(jià)格、總價(jià)依次輸入,并建立鏈表將其連接;(2)刪除圖書信息:輸入圖書退貨編號(hào),將其內(nèi)容刪除;(3)修改圖書信息:輸入圖書退貨編號(hào),修改其對(duì)應(yīng)信息的內(nèi)容;(4)查找圖書信息:輸入圖書退貨編號(hào),顯示其對(duì)應(yīng)信息。圖書統(tǒng)計(jì)模塊的實(shí)現(xiàn):(1)統(tǒng)計(jì)入庫(kù)商品的總數(shù)及總價(jià) (2)統(tǒng)計(jì)出庫(kù)商品的總數(shù)及總價(jià)
9、 (3)統(tǒng)計(jì)倉(cāng)庫(kù)中現(xiàn)有商品的總數(shù)及總價(jià)格 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.62.3.4 主要模塊程序流程圖開始分配空間p=p-nextp=head yp-next!=nullp=null n y np-next=p1輸入圖書信息輸入圖書信息head=p1;head-next=null;結(jié)束圖2 關(guān)于insert()的流程圖 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.7 開始創(chuàng)建指針p=ihead輸入選擇書號(hào)p!=nullp=p-next n ystrcmp(p-num,s_num)=0 n y輸出信息結(jié)束圖3 關(guān)于select()的流程圖 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.82.4 算法設(shè)計(jì)2
10、.4.1 定義結(jié)構(gòu)體struct book char p_num12; char name12; char spec12; int amount; int price; int s_price; struct book *next; ;2.4.2模塊設(shè)計(jì)(1)插入信息模塊insert():首先需要建立一個(gè)鏈表。建立鏈表的具體操作就是逐一輸入各結(jié)點(diǎn)數(shù)據(jù),并建立其前后相鏈的關(guān)系。首先建立帶表頭結(jié)點(diǎn)的單鏈線性表p1,以及指針點(diǎn)p。用malloc函數(shù)開辟一個(gè)結(jié)點(diǎn),將表頭賦給p,使用if語(yǔ)句對(duì)表頭進(jìn)行判斷。如果表頭為空,即表示鏈表現(xiàn)在為空,通過printf語(yǔ)句提示需要往鏈表中輸入數(shù)據(jù),通過scanf語(yǔ)句
11、向鏈表中輸入圖書的信息賦給頭指針并使頭指針?biāo)赶虻暮罄^結(jié)點(diǎn)為空,然后返回上層菜單。如果表頭不為空,通過使用while循環(huán)語(yǔ)句將p指針依次往后移,直至后繼結(jié)點(diǎn)為空,即將指針p移到鏈表末端,在鏈表末端插入數(shù)據(jù),輸入數(shù)據(jù),并返回。int in_insert() struct in_book * p1,* p; p1=(struct in_book *)malloc(sizeof(struct in_book); p=ihead; if (p=null)/*開始沒有數(shù)據(jù)*/ printf(iuput the data of in bookn); 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.9printf(in
12、clude the rkbh,spbh,name,number,price,total_pricen); scanf(%s%s%s%d%d%d, &p1-num,&p1-p_num,&p1-name,&p1-amount,&p1-price,&p1-t_price); ihead=p1; ihead-next=null; return 0; while(p-next!=null)/*把指針移到鏈表末端,在鏈表末端插入數(shù)據(jù)*/ p=p-next; p-next=p1; printf(iuput the datan); scanf(%s%s%s%d%d%d, &p1-num,&p1-p_num,&
13、p1-name,&p1-amount,&p1-price,&p1-t_price); p1-next=null; (2)查找信息模塊delete(): 首先定義一個(gè)數(shù)組以及指針p,將頭指針賦給p,通過循環(huán)語(yǔ)句while進(jìn)行循環(huán),判斷跳出循環(huán)語(yǔ)句為p不為空。在循環(huán)體內(nèi),首先判斷指針?biāo)赶虻闹凳欠駷樗檎业闹?,若是,則通過printf語(yǔ)句輸出所查找信息,若不是,則將指針賦給其后繼結(jié)點(diǎn)繼續(xù)比較,當(dāng)p指針?biāo)赶虻慕Y(jié)點(diǎn)為空,則跳出循環(huán),執(zhí)行printf語(yǔ)句提示用戶所查找的數(shù)據(jù)未找到。int in_select() char s_num12; struct in_book * p; p=ihead; 沈
14、陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.10printf(iuput the select numn); scanf(%s,&s_num); while(p!=null) if (strcmp(p-num,s_num)=0) printf(the data you want is:n); printf( %s %s %s %d %d %dn, p-num,p-p_num,p-name,p-amount,p-price,p-t_price); return 0; p=p-next; printf(sorry! no num has foundn); (3)修改信息模塊 modify():首先定義一個(gè)數(shù)組
15、以及指針p,將頭指針賦給p,通過printf語(yǔ)句提示輸入所要修改的數(shù)據(jù)編號(hào),再通過scanf語(yǔ)句輸入編號(hào)。然后使用if語(yǔ)句對(duì)指針?biāo)赶虻氖捉Y(jié)點(diǎn)進(jìn)行判斷,若該結(jié)點(diǎn)為空節(jié)點(diǎn),則通過printf語(yǔ)句提示該鏈表為空,無(wú)數(shù)據(jù)并返回上層菜單。若該結(jié)點(diǎn)有數(shù)據(jù),則將該結(jié)點(diǎn)的數(shù)據(jù)與所要修改數(shù)據(jù)的結(jié)點(diǎn)進(jìn)行比較,若為修改結(jié)點(diǎn),則將修改后的值賦給原值,實(shí)現(xiàn)修改并返回上層菜單,若不能找到修改結(jié)點(diǎn)則將指針向后繼結(jié)點(diǎn)移動(dòng),并繼續(xù)比較直至鏈表最尾端,若還未找到修改結(jié)點(diǎn),則通過printf語(yǔ)句提示用戶未能找到結(jié)點(diǎn)。int in_modify() char m_num12; struct in_book * p; p=ihead
16、; printf(iuput the modify numn); scanf(%s,&m_num);if (p=null)/*開始沒有數(shù)據(jù)*/ printf(sorry! no data can be foundn); 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.11 return 0; while(p!=null) if (strcmp(p-num,m_num)=0) printf(iuput the new data without numn); scanf(%s%s%d%d%d, &p-p_num,&p-name,&p-amount,&p-price,&p-t_price); printf(on
17、e data had modifiedn); return 0; p=p-next; printf(sorry! no num has foundn); (4)刪除信息模塊首先定義一個(gè)數(shù)組以及指針p1、p,將頭指針賦給p,輸入所要?jiǎng)h除數(shù)據(jù)的編號(hào),對(duì)鏈表進(jìn)行判斷,若為空,則提示用戶沒有數(shù)據(jù)并返回上層菜單,若不為空,則對(duì)指針?biāo)赶虻臄?shù)據(jù)編號(hào)與所要?jiǎng)h除的數(shù)據(jù)編號(hào)進(jìn)行比較,若為該值,則進(jìn)行刪除。若不是,則將指針依次向后移動(dòng)直至鏈表尾端,若還未找到要?jiǎng)h除數(shù)據(jù),使用printf語(yǔ)句提示用戶為找到數(shù)據(jù)。int in_delete() char d_num12; struct in_book * p1,* p
18、; p=ihead; printf(iuput the delete numn); scanf(%s,&d_num); if (p=null)/*開始沒有數(shù)據(jù)*/ printf(no data can be foundn); return 0; 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.12if (strcmp(p-num,d_num)=0 & p-next=null)/*鏈表只有一個(gè)數(shù)據(jù),且是要?jiǎng)h除的*/ ihead=null; printf(one data has been deletedn); return 0; if (strcmp(p-num,d_num)=0 & p-next!=nul
19、l)/*要?jiǎng)h除的數(shù)據(jù)在鏈表的頭上*/ ihead=ihead-next;printf(one data has been deletedn); return 0; while(p-next!=null) p1=p-next; if (strcmp(p1-num,d_num)=0) p-next=p1-next; printf(one data has been deletedn); return 0; p=p-next; printf(sorry! no num has foundn); 2.5 源程序#include #include struct book char p_num12;cha
20、r name12; char spec12; int amount; int price; int s_price; struct book *next; ; 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.13struct book *head;struct in_book char num12; char p_num12; char name12; int amount; int price; int t_price; struct in_book *next;struct in_book *ihead;struct out_book char num12; char p_num12; char na
21、me12; int amount; int price; int t_price; struct out_book *next; ;struct out_book *ohead;struct quit_book char num12; char p_num12; char name12; int amount; int price; int t_price; struct quit_book *next; ; 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.14struct quit_book *qhead;int init() head=ihead=ohead=qhead=null;printf(*);
22、 printf(0: quitn); printf(1: iuput the information of in bookn); printf(2: iuput the information of out bookn); printf(3: iuput the information of quit bookn); printf(4: total the information of bookn);printf(*); int menu() printf(*);printf(1:insert datan); printf(2:delete datan); printf(3:modify da
23、tan); printf(4:select datan); printf(other to quitn); printf(*);int menu2() printf(*);printf(0: quitn); printf(1: iuput the information of in bookn); printf(2: iuput the information of out bookn); printf(3: iuput the information of quit bookn); printf(4: total the information of bookn); printf(*); 沈
24、 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.15int in_insert() struct in_book * p1,* p; p1=(struct in_book *)malloc(sizeof(struct in_book); p=ihead; if (p=null)/*開始沒有數(shù)據(jù)*/ printf(iuput the data of in bookn); printf(include the rkbh,spbh,name,number,price,total_pricen); scanf(%s%s%s%d%d%d, &p1-num,&p1-p_num,&p1-name,&p1-amount,&
25、p1-price,&p1-t_price); ihead=p1; ihead-next=null; return 0; while(p-next!=null)/*把指針移到鏈表末端,在鏈表末端插入數(shù)據(jù)*/ p=p-next; p-next=p1; printf(iuput the datan); scanf(%s%s%s%d%d%d, &p1-num,&p1-p_num,&p1-name,&p1-amount,&p1-price,&p1-t_price); p1-next=null; int in_modify() char m_num12; struct in_book * p; p=ihe
26、ad; printf(iuput the modify numn); scanf(%s,&m_num); if (p=null)/*開始沒有數(shù)據(jù)*/ printf(sorry! no data can be foundn); return 0; 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.16while(p!=null) if (strcmp(p-num,m_num)=0) printf(iuput the new data without numn); scanf(%s%s%d%d%d, &p-p_num,&p-name,&p-amount,&p-price,&p-t_price); printf(
27、one data had modifiedn); return 0; p=p-next; printf(sorry! no num has foundn); int in_select() char s_num12; struct in_book * p; p=ihead; printf(iuput the select numn); scanf(%s,&s_num); while(p!=null) if (strcmp(p-num,s_num)=0) printf(the data you want is:n); printf( %s %s %s %d %d %dn, p-num,p-p_n
28、um,p-name,p-amount,p-price,p-t_price); return 0; p=p-next; printf(sorry! no num has foundn); int in_delete() char d_num12; struct in_book * p1,* p; p=ihead; 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.17printf(iuput the delete numn); scanf(%s,&d_num); if (p=null)/*開始沒有數(shù)據(jù)*/ printf(no data can be foundn); return 0; if (strcmp(
29、p-num,d_num)=0 & p-next=null)/*鏈表只有一個(gè)數(shù)據(jù),且是要?jiǎng)h除的*/ ihead=null; printf(one data has been deletedn); return 0; if (strcmp(p-num,d_num)=0 & p-next!=null)/*要?jiǎng)h除的數(shù)據(jù)在鏈表的頭上*/ ihead=ihead-next; printf(one data has been deletedn); return 0; while(p-next!=null) p1=p-next; if (strcmp(p1-num,d_num)=0) p-next=p1-ne
30、xt; printf(one data has been deletedn); return 0; p=p-next; printf(sorry! no num has foundn); int out_insert() struct out_book * p1,* p; p1=(struct out_book *)malloc(sizeof(struct out_book); p=ohead; if (p=null)/*開始沒有數(shù)據(jù)*/ 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.18printf(iuput the data of out bookn); printf(include the ck
31、bh,spbh,name,number,price,total_pricen); scanf(%s%s%s%d%d%d, &p1-num,&p1-p_num,&p1-name,&p1-amount,&p1-price,&p1-t_price); ohead=p1; ohead-next=null; return 0; while(p-next!=null)/*把指針移到鏈表末端,在鏈表末端插入數(shù)據(jù)*/ p=p-next; p-next=p1; printf(iuput the datan); scanf(%s%s%s%d%d%d, &p1-num,&p1-p_num,&p1-name,&p1-
32、amount,&p1-price,&p1-t_price); p1-next=null; int out_modify() char m_num12; struct out_book * p; p=ohead; printf(iuput the modify numn); scanf(%s,&m_num); if (p=null)/*開始沒有數(shù)據(jù)*/ printf(sorry! no data can be foundn); return 0; while(p!=null) if (strcmp(p-num,m_num)=0) printf(iuput the new data without
33、 numn); scanf(%s%s%d%d%d, 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.19&p-p_num,&p-name,&p-amount,&p-price,&p-t_price); printf(one data had modifiedn); return 0; p=p-next; printf(sorry! no num has foundn); int out_select() char s_num12; struct out_book * p; p=ohead; printf(iuput the select numn); scanf(%s,&s_num); while(p!=
34、null) if (strcmp(s_num,p-num)=0) printf(the data you want is:n); printf( %s %s %s %d %d %dn, p-num,p-p_num,p-name,p-amount,p-price,p-t_price); return 0; p=p-next; printf(sorry! no num has foundn); int out_delete() char d_num12; struct out_book * p1,* p; p=ohead; printf(iuput the delete numn); scanf(
35、%s,&d_num); if (p=null)/*開始沒有數(shù)據(jù)*/ 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no. 20printf(no data can be foundn); return 0; if (strcmp(p-num,d_num)=0 & p-next=null)/*鏈表只有一個(gè)數(shù)據(jù),且是要?jiǎng)h除的*/ ohead=null; printf(one data has been deletedn); return 0; if (strcmp(p-num,d_num)=0 & p-next!=null)/*要?jiǎng)h除的數(shù)據(jù)在鏈表的頭上*/ ohead=ohead-next; printf(one
36、 data has been deletedn); return 0; while(p-next!=null) p1=p-next; if (strcmp(p1-num,d_num)=0) p-next=p1-next; printf(one data has been deletedn); return 0; p=p-next; printf(sorry! no num has foundn); int quit_insert() struct quit_book * p1,* p; p1=(struct quit_book *)malloc(sizeof(struct quit_book)
37、; p=qhead; if (p=null)/*開始沒有數(shù)據(jù)*/ printf(iuput the data of quit bookn); printf(include the thbh,spbh,name,number,price,total_pricen); 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.21scanf(%s%s%s%d%d%d, &p1-num,&p1-p_num,&p1-name,&p1-amount,&p1-price,&p1-t_price); qhead=p1; qhead-next=null; return 0; while(p-next!=null)/*把指針移到鏈表
38、末端,在鏈表末端插入數(shù)據(jù)*/ p=p-next; p-next=p1; printf(iuput the datan); scanf(%s%s%s%d%d%d, &p1-num,&p1-p_num,&p1-name,&p1-amount,&p1-price,&p1-t_price); p1-next=null; int quit_modify() char m_num12; struct quit_book * p; p=qhead; printf(iuput the modify numn); scanf(%s,&m_num); if (p=null)/*開始沒有數(shù)據(jù)*/ printf(so
39、rry! no data can be foundn); return 0; while(p!=null) if (strcmp(p-num,m_num)=0) printf(iuput the new data without numn); scanf(%s%s%d%d%d, &p-p_num,&p-name,&p-amount,&p-price,&p-t_price); printf(one data had modifiedn); 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.22return 0; p=p-next; printf(sorry! no num has foundn); int q
40、uit_select() char s_num12; struct quit_book * p; p=qhead; printf(iuput the select numn); scanf(%s,&s_num); while(p!=null) if (strcmp(s_num,p-num)=0) printf(the data you want is:n); printf( %s %s %s %d %d %dn, p-num,p-p_num,p-name,p-amount,p-price,p-t_price); return 0; p=p-next; printf(sorry! no num
41、has foundn); int quit_delete() char d_num12; struct quit_book * p1,* p; p=qhead; printf(iuput the delete numn); scanf(%s,&d_num); if (p=null)/*開始沒有數(shù)據(jù)*/ printf(no data can be foundn); return 0; 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.23if (strcmp(p-num,d_num)=0 & p-next=null)/*鏈表只有一個(gè)數(shù)據(jù),且是要?jiǎng)h除的*/ qhead=null; printf(one data
42、 has been deletedn); return 0; if (strcmp(p-num,d_num)=0 & p-next!=null)/*要?jiǎng)h除的數(shù)據(jù)在鏈表的頭上*/ qhead=qhead-next; printf(one data has been deletedn); return 0; while(p-next!=null) p1=p-next; if (strcmp(p1-num,d_num)=0) p-next=p1-next; printf(one data has been deletedn); return 0; p=p-next; printf(sorry! no
43、 num has foundn); int total() int in_num=0,in_price=0; int out_num=0,out_price=0; int num=0,price=0; struct in_book *ip; struct out_book *op; struct book *p; ip=ihead; while(ip!=null) in_num+=ip-amount; in_price+=ip-t_price; ip=ip-next; 沈 陽(yáng) 大 學(xué)課程設(shè)計(jì)說(shuō)明書 no.24op=ohead; while(op!=null) out_num+=op-amount; out_price+=op-t_price; op=op-next; p=head; while(p!=null) num+=p-amount; price+=p-s_price; p=p-next;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年獵頭服務(wù)定制合同
- 2024年主題公園招商合同范本3篇
- 2024年學(xué)生托管服務(wù)與心理咨詢服務(wù)合作協(xié)議3篇
- 餐廳年度工作計(jì)劃11篇
- 安防風(fēng)險(xiǎn)評(píng)估報(bào)告
- 政治教師工作計(jì)劃
- 英文感謝信模板錦集10篇
- 幼兒園安全教育心得體會(huì)
- 大學(xué)個(gè)人學(xué)習(xí)規(guī)劃范文7篇
- 城南舊事的觀后感350字
- 教師教學(xué)事故檢討書
- 鐵工電〔2023〕54號(hào)國(guó)鐵集團(tuán)關(guān)于印發(fā)《普速鐵路工務(wù)安全規(guī)則》的通知
- 事業(yè)單位工作人員處分暫行規(guī)定2012
- CJJ 169-2012城鎮(zhèn)道路路面設(shè)計(jì)規(guī)范
- 現(xiàn)代機(jī)械工程圖學(xué) 課件 第10章-裝配圖
- 新概念英語(yǔ)第一冊(cè)1-72課測(cè)試題
- 天貓售后工作總結(jié)
- 國(guó)賽一等獎(jiǎng)經(jīng)驗(yàn)分享
- 2024年試驗(yàn)箱行業(yè)未來(lái)三年發(fā)展洞察報(bào)告
- 江西省萍鄉(xiāng)市2023-2024學(xué)年高一上學(xué)期期末生物試題
- 《性格決定命運(yùn)》課件
評(píng)論
0/150
提交評(píng)論