C語(yǔ)言課程設(shè)計(jì)(論文)—商場(chǎng)商品管理信息系統(tǒng)_第1頁(yè)
C語(yǔ)言課程設(shè)計(jì)(論文)—商場(chǎng)商品管理信息系統(tǒng)_第2頁(yè)
C語(yǔ)言課程設(shè)計(jì)(論文)—商場(chǎng)商品管理信息系統(tǒng)_第3頁(yè)
C語(yǔ)言課程設(shè)計(jì)(論文)—商場(chǎng)商品管理信息系統(tǒng)_第4頁(yè)
C語(yǔ)言課程設(shè)計(jì)(論文)—商場(chǎng)商品管理信息系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、41c語(yǔ)言課程設(shè)計(jì)商場(chǎng)商品管理信息系統(tǒng)目 錄1 系統(tǒng)分析11.1 課程設(shè)計(jì)內(nèi)容11.2 系統(tǒng)功能需求分析11.3 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)22 系統(tǒng)設(shè)計(jì)22.1 總體設(shè)計(jì)22.2 詳細(xì)設(shè)計(jì)22.2.1 界面設(shè)計(jì)22.2.2 各功能模塊的設(shè)計(jì)23 系統(tǒng)編碼設(shè)計(jì)23.1 main函數(shù)23.2 load函數(shù)23.3 creat創(chuàng)建鏈表函數(shù)23.4 search函數(shù)23.5 add數(shù)23.6 amend函數(shù)23.7 del函數(shù)23.8 purchase函數(shù)23.9 sales函數(shù)23.10 print函數(shù)23.11 save函數(shù)23.12 menu函數(shù)24 系統(tǒng)運(yùn)行25 總結(jié)2廣東工業(yè)大學(xué) 管理學(xué)院 08信息管理

2、與信息系統(tǒng)5班 林躍 31080063581 系統(tǒng)分析1.1 課程設(shè)計(jì)內(nèi)容設(shè)計(jì)一商場(chǎng)商品信息管理系統(tǒng),功能包括:1. 文件操作:可建立、打開、保存、關(guān)閉數(shù)據(jù)文件。2. 輸入商品信息數(shù)據(jù):數(shù)據(jù)包括商品編號(hào)、商品名、商品類別、商品數(shù)量、 商品價(jià)格等。3. 編輯數(shù)據(jù):可添加、刪除、修改數(shù)據(jù)。4. 輸入進(jìn)貨、銷售信息:輸入商品編號(hào)、數(shù)量完成進(jìn)貨或銷售操作。5. 計(jì)算:應(yīng)在輸入進(jìn)貨及銷售信息時(shí),自動(dòng)更改商品數(shù)量。6. 查詢:可按商品編號(hào)、商品名或類別查詢;還可查詢需進(jìn)貨的商品。7. 排序:可按編號(hào)、名稱或類型排序。8. 瀏覽:可瀏覽輸入、查詢或排序后的數(shù)據(jù)。1.2 系統(tǒng)功能需求分析本系統(tǒng)應(yīng)具有以下功能:

3、1、文件操作功能:可建立、打開、保存、關(guān)閉數(shù)據(jù)文件。2、數(shù)據(jù)輸入功能: 數(shù)據(jù)包括商品編號(hào)、商品名、商品類別、商品數(shù)量、 商品價(jià)格等。以及輸入商品編號(hào)、數(shù)量完成進(jìn)貨或銷售操作。3、數(shù)據(jù)添加、修改、刪除功能4、計(jì)算功能:在輸入進(jìn)貨及銷售信息時(shí),自動(dòng)更改商品數(shù)量。5、查詢功能:可按商品編號(hào)、商品名或類別查詢;還可查詢需進(jìn)貨的商品。6、排序功能:可按編號(hào)、名稱或類型排序。7、數(shù)據(jù)顯示功能:可瀏覽輸入、查詢或排序后的數(shù)據(jù)。1.3 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)struct shangpingxinxi /*結(jié)構(gòu)體,用于存放主要數(shù)據(jù)*/long number; /*商品編號(hào)*/ char name100; /*商品名*/

4、char leibie100; /*商品類別*/ int kucun; /*庫(kù)存量*/ float jiage; /*商品價(jià)格*/ struct shangpingxinxi *next; /*指向下一個(gè)結(jié)構(gòu)體的指針*/int n,k; /*全局變量*/struct shangpingxinxi *head; /*局部變量*/struct shangpingxinxi *p1,*p2,*p3; /*局部變量*/char temp20; /*局部變量*/int/long/char/float a,b,c,d,e,f,i,j; /*局部變量*/ file *fp; /*局部變量,用于指向文件*/2

5、 系統(tǒng)設(shè)計(jì)2.1 總體設(shè)計(jì)按系統(tǒng)分析的功能要求將系統(tǒng)劃分為以下幾個(gè)主要功能模塊:2.2 詳細(xì)設(shè)計(jì)2.2.1 界面設(shè)計(jì)1、菜單設(shè)計(jì)2、輸入界面的設(shè)計(jì) 輸入商品編號(hào):提示輸入7位商品編號(hào)。編號(hào)應(yīng)為首位不為0的數(shù)字編號(hào),當(dāng)輸入字符和非7位數(shù)字時(shí)提示錯(cuò)誤;添加商品時(shí),還應(yīng)檢查是否有重復(fù)編號(hào),如有重新輸入。 輸入商品名稱: 提示輸入商品名稱??奢斎肴我庾址?,但為了對(duì)齊最好不超過(guò)八個(gè)字符,以回車為輸入結(jié)束。 輸入商品類型:提示輸入商品類型??奢斎肴我庾址?,但為了對(duì)齊最好不超過(guò)八個(gè)字符,以回車為輸入結(jié)束。 輸入商品庫(kù)存:提示輸入大于零的商品庫(kù)存(大于0)??奢斎?32767的任意數(shù)字,當(dāng)輸入為字符和小于

6、0的數(shù)字時(shí)提示錯(cuò)誤,重新輸入。 輸入商品價(jià)格:提示輸入大于零的商品價(jià)格(大于0)??奢斎?3.41038的任意浮點(diǎn)數(shù),當(dāng)輸入為字符和小于0的數(shù)字時(shí)提示錯(cuò)誤,重新輸入。3、信息顯示界面的設(shè)計(jì)u 菜單信息顯示:在頁(yè)面中央以階梯狀加半框形式顯示,頁(yè)面底部顯示提示信息。u 商品信息顯示:應(yīng)顯示商品編號(hào)、商品名稱、商品類別、庫(kù)存數(shù)量、商品價(jià)格五種信息,并以表格形式顯示。2.2.2 各功能模塊的設(shè)計(jì)根據(jù)劃分的功能模塊,定義以下函數(shù)實(shí)現(xiàn)各功能:(這部分應(yīng)介紹各函數(shù)的原型,各功能模塊實(shí)現(xiàn)所用的算法,可用流程圖描述)1、主函數(shù)main()定義變量進(jìn)入歡迎界面輸入密碼y 密碼正確? n進(jìn)入主菜單返回重新輸入密碼k

7、=1 讀取文件k=2 創(chuàng)建信息k=3 查詢信息k=4 修改信息k=5 刪除信息k=6 添加信息k=7 進(jìn)貨信息k=8 銷售信息k=9 瀏覽信息k=10 保存文件switch(k)返回主菜單退出程序2、讀取文件函數(shù)struct shangpingxinxi *load(struct shangpingxinxi *head)定義變量輸入所要打開的文件路徑及文件名 y 文件是否存在 n打開文件退出本函數(shù)讀取文件中的目錄開辟一個(gè)內(nèi)存空間讀取一個(gè)信息再開辟一個(gè)空間再開辟一個(gè)內(nèi)存空間讀取信息到內(nèi)存空間if(p1-number!=0)關(guān)閉文件輸出讀入的信息到屏幕退出本函數(shù)3、創(chuàng)建鏈表函數(shù)(輸入數(shù)據(jù)函數(shù))s

8、truct shangpingxinxi *creat(void)定義變量開辟一個(gè)內(nèi)存空間輸入商品編號(hào)并判斷是否有效和重復(fù)輸入商品名稱并判斷是否有效輸入商品類別并判斷是否有效輸入商品庫(kù)存并判斷是否有效輸入商品價(jià)格并判斷是否有效開辟內(nèi)存空間 判斷是否輸入結(jié)束退出函數(shù)4、查詢函數(shù)struct shangpingxinxi *search(struct shangpingxinxi *head)定義變量y 內(nèi)存中是否有數(shù)據(jù)信息 n進(jìn)入選擇菜單退出此函數(shù)a=1 按商品編號(hào)查詢a=2 按商品名查詢a=3 按商品類別查詢a=4 查詢需進(jìn)貨商品switch(a)返回選擇菜單退出此函數(shù)5、添加函數(shù)struct

9、 shangpingxinxi *add(information *head,information *newgoods)定義變量開辟一個(gè)新內(nèi)存空間輸入需添加商品的編號(hào)并判斷是否合法和重復(fù)輸入需添加商品的名稱輸入需添加商品的類別輸入需添加商品的庫(kù)存判斷是否合法輸入需添加商品的價(jià)格判斷是否合法y 是否保存 n將所開辟空間鏈接到已有鏈表末尾返回重輸退出此函數(shù)6、修改函數(shù)struct shangpingxinxi *amend(struct shangpingxinxi *head)定義變量y 內(nèi)存中是否有數(shù)據(jù) n輸入需修改的商品編號(hào)并查詢是否存在退出此函數(shù)輸入修改后的商品編號(hào)并判斷是否合法和重復(fù)輸

10、入修改后的商品名稱輸入修改后的商品類別輸入修改后的商品庫(kù)存并判斷是否合法輸入修改后的商品價(jià)格并判斷是否合法顯示修改后的信息 y 確認(rèn)修改? n 修改成功返回重輸退出此函數(shù)7、刪除函數(shù)struct shangpingxinxi *del(struct shangpingxinxi *head)定義變量y 內(nèi)存中是否有數(shù)據(jù) n輸入需刪除的商品編號(hào)退出此函數(shù)y 是否存在? n顯示該商品信息返回重輸y 是否刪除? n刪除該商品信息返回重輸退出此函數(shù)8、進(jìn)貨函數(shù)struct shangpingxinxi *purchase(struct shangpingxinxi *head)定義變量y 內(nèi)存中是否有

11、數(shù)據(jù) n輸入所進(jìn)貨商品的編號(hào)退出此函數(shù)y 是否存在? n顯示該商品信息返回重輸輸入進(jìn)貨量顯示該商品信息退出此函數(shù)9、銷售函數(shù)struct shangpingxinxi *sales(struct shangpingxinxi *head)定義變量y 內(nèi)存中是否有數(shù)據(jù) n輸入所銷售商品的編號(hào)退出此函數(shù)y 是否存在? n顯示該商品信息返回重輸輸入銷售量y 庫(kù)存銷售量? n顯示該商品信息返回重輸退出此函數(shù)10、排序函數(shù)(輸出函數(shù))void print(struct shangpingxinxi *head)定義變量y 內(nèi)存中是否有數(shù)據(jù)信息 n進(jìn)入選擇菜單退出此函數(shù)a=1 按商品編號(hào)順序?yàn)g覽a=2 按

12、商品名順序?yàn)g覽a=3 按商品類別順序?yàn)g覽a=0 返回選擇菜單switch(a)退出此函數(shù)11、保存函數(shù)void save(struct shangpingxinxi *p1)定義變量y 內(nèi)存中是否有數(shù)據(jù) n輸入文件地址和文件名退出此函數(shù)y 能否打開? n打開文件退出此函數(shù)把內(nèi)存中的信息保存到文件在屏幕上顯示信息關(guān)閉文件退出此函數(shù)3 系統(tǒng)代碼設(shè)計(jì)3.1 main函數(shù)#include #include #include #include #define len sizeof(struct shangpingxinxi)struct shangpingxinxilong number;/*7位商品編

13、號(hào)*/ char name100;/*商品名*/ char leibie100;/*商品類別*/ int kucun;/*庫(kù)存量*/ float jiage;/*商品價(jià)格*/ struct shangpingxinxi *next;typedef struct shangpingxinxi information;int n,k;/*n,k為全局變量,本程序中的函數(shù)均可以使用它*/void main() /*主函數(shù)main,功能:通過(guò)調(diào)用各函數(shù),實(shí)現(xiàn)商品信息管理系統(tǒng)的功能*/information *head=0,*newgoods=0;int k=0;char a10; int j;char

14、 ch;pp:system(cls);/*清屏*/ printf(請(qǐng)輸入密碼:);j=0;while(ch=getch()!=13) putchar(*); aj=ch; j+; aj=0; if(strcmp(a,zeus880825)!=0) printf(nn密碼錯(cuò)誤!); getch(); goto pp; system(cls);/*清屏*/lp:k=menu(k);switch(k)/*用switch語(yǔ)句實(shí)現(xiàn)功能選擇*/case 1: head=load(head);break;/*從文件調(diào)入記錄函數(shù)*/ case 2: head=creat();break;/*調(diào)用創(chuàng)建鏈表函數(shù)*

15、/ case 3: head=search(head);break;/*調(diào)用信息查詢函數(shù)*/ case 4: head=amend(head);break;/*調(diào)用修改信息的函數(shù)*/ case 5: head=del(head); break;/*調(diào)用刪除信息函數(shù)*/ case 6: head=add(head,newgoods);break;/*調(diào)用追加信息資料函數(shù)*/ case 7: head=purchase(head);break;/*調(diào)用輸入進(jìn)貨信息的函數(shù)*/ case 8: head=sales(head);break;/*調(diào)用輸入銷售信息的函數(shù)*/ case 9: print(h

16、ead); break;/*調(diào)用顯示信息資料函數(shù)*/ case 10:save(head);break;/*調(diào)用保存函數(shù)*/ case 0: exit(0);/*退出系統(tǒng),返回主界面*/ default: printf(輸入錯(cuò)誤,請(qǐng)重試!n); goto lp;3.2 load函數(shù)information *load(information *head)/*函數(shù)load,功能:從文件讀入商品信息*/ information *p1,*p2; char filepn10; file *fp; system(cls);/*清屏*/ printf(請(qǐng)輸入文件路徑及文件名:); scanf(%s,fil

17、epn);/*輸入文件路徑及名稱*/ if(fp=fopen(filepn,r+)=null) printf(不能打開文件!n); getch(); system(cls);/*清屏*/ return 0; fp=fopen(filepn,r+); fscanf(fp,n商品編號(hào)t商品名稱t商品類別t庫(kù)存數(shù)量t商品價(jià)格n); n=0; p1=p2=(information *)malloc(len); /*開辟一個(gè)新單元*/fscanf(fp,%ldtt%stt%stt%dtt%fn,&p1-number,&p1-name,&p1-leibie,&p1-kucun,&p1-jiage); he

18、ad=p1;ll:n=n+1; p2=p1; p1=(information *)malloc(len); /*開辟一個(gè)新單元*/fscanf(fp,%ldtt%stt%stt%dtt%fn,&p1-number,&p1-name,&p1-leibie,&p1-kucun,&p1-jiage); p2-next=p1; if(p1-number!=0) goto ll; p2-next=null;fclose(fp);/*結(jié)束讀入,關(guān)閉文件*/printf(n總有%d種商品的信息:n,n);printf(n商品編號(hào)t商品名稱t商品類別t庫(kù)存數(shù)量t商品價(jià)格n); p2=p1=head; dopr

19、intf(%ldtt%stt%stt%dtt%.2fn,p1-number,p1-name,p1-leibie,p1-kucun,p1-jiage);p1=p1-next;while(p1!=null);getch();system(cls);/*清屏*/ return (head);3.3 creat創(chuàng)建鏈表函數(shù)information *creat(void)/*函數(shù)creat,功能:創(chuàng)建鏈表,此函數(shù)帶回一個(gè)指向鏈表頭的指針*/information *head;information *p1,*p2,*p3;int i;system(cls);/*清屏*/ n=0; p1=p2=p3=(i

20、nformation *)malloc(len); head=p3; /*開辟一個(gè)新單元*/repeat1: printf(請(qǐng)輸入7位商品編號(hào)(退出請(qǐng)按“0”):);/*輸入編號(hào),編號(hào)應(yīng)大于0*/ scanf(%d,&p1-number);if(p1-number=0)goto end;elsewhile(p1-numbernumber=10000000) printf(輸入錯(cuò)誤!); goto repeat1; p3=head; if(n0) for(i=0;inumber!=p3-number) p3=p3-next; else printf(編號(hào)重復(fù),請(qǐng)重輸!n); goto repea

21、t1; /*當(dāng)輸入的編號(hào)已經(jīng)存在,程序報(bào)錯(cuò),返回前面重新輸入*/ printf(請(qǐng)輸入商品名:); scanf(%s,&p1-name);/*輸入商品商品名*/ printf(請(qǐng)輸入商品類別:);/*輸入商品類別*/ scanf(%s,&p1-leibie); printf(請(qǐng)輸入商品庫(kù)存(大于0):);/*輸入商品庫(kù)存*/ scanf(%d,&p1-kucun); while(p1-kucunkucun); printf(請(qǐng)輸入商品價(jià)格(大于0):);/*輸入商品價(jià)格*/ scanf(%f,&p1-jiage); while(p1-jiagejiage);/*輸入錯(cuò)誤,重新輸入商品價(jià)格直到正

22、確為止*/ head=null;while(p1-number!=0) n=n+1;if(n=1) head=p1;else p2-next=p1; p2=p1; p1=(information *)malloc(len);repeat2:printf(請(qǐng)輸入7位商品編號(hào)(退出請(qǐng)按“0”):); scanf(%d,&p1-number);/*輸入編號(hào),編號(hào)應(yīng)大于0*/if(p1-number=0)goto end;elsewhile(p1-numbernumber=10000000) printf(輸入錯(cuò)誤!); goto repeat2; p3=head; if(n0) for(i=0;in

23、umber!=p3-number) p3=p3-next; else printf(編號(hào)重復(fù),請(qǐng)重輸!n); goto repeat2; /*當(dāng)輸入的編號(hào)已經(jīng)存在,程序報(bào)錯(cuò),返回前面重新輸入*/ printf(請(qǐng)輸入商品名:); scanf(%s,&p1-name);/*輸入商品商品名*/ printf(請(qǐng)輸入商品類別:);/*輸入商品類別*/ scanf(%s,&p1-leibie); printf(請(qǐng)輸入商品庫(kù)存(大于0):);/*輸入商品庫(kù)存*/ scanf(%d,&p1-kucun); while(p1-kucunkucun); printf(請(qǐng)輸入商品價(jià)格(大于0):);/*輸入商品

24、價(jià)格*/ scanf(%f,&p1-jiage); while(p1-jiagejiage); /*輸入錯(cuò)誤,重新輸入商品價(jià)格直到正確為止*/ end: p1=head; p3=p1;p2-next=null;/*鏈表結(jié)尾*/ printf(nn輸入的商品數(shù)為:%d個(gè)!n,n); getch(); system(cls);/*清屏*/ return(head);3.4 search函數(shù)information *search(information *head)/*函數(shù)search,功能:查詢商品信息*/information *p1,*p2;int a,b;long c; char t100;

25、system(cls);/*清屏*/if(head=null) printf(nnn沒(méi)有任何商品資料,請(qǐng)先建立商品資料!n); getch(); system(cls); return(head); p2=p1=head;lp2:system(cls);/*清屏*/ printf(nnnn); printf( $n); printf( $n); printf( $ 1 *按商品編號(hào)查詢n); printf( $n);printf( $t 2 *按商品名稱查詢n);printf( $n);printf( $tt 3 *按商品類別查詢ttt $n);printf( $ttttttt $n);pri

26、ntf( ttt 4 *查詢需進(jìn)貨商品(庫(kù)存小于50) $n);printf(tttttttt $);printf( tttttt 0 *退出tt $n);printf(tttttttt $);printf(ntttt $); printf(nnnnnn); printf(請(qǐng)選擇您所要的查詢方式:); scanf(%d,&a);/*選擇操作*/switch(a)/*用switch語(yǔ)句實(shí)現(xiàn)功能選擇*/*=*/case 1:system(cls);/*清屏*/lp3:printf(請(qǐng)輸入所要查詢商品的7位編號(hào)(按0返回選擇界面):);lp10:scanf(%ld,&c);b=0;if(c=0)go

27、to lp2;while(c=10000000) printf(輸入錯(cuò)誤n); goto lp3; while(c!=0) p1=head; while(c!=p1-number&p1-next!=null) p2=p1; p1=p1-next; if(c=p1-number) printf(n商品編號(hào)t商品名稱t商品類別t庫(kù)存數(shù)量t商品價(jià)格n);printf(%ldtt%stt%stt%dtt%.2fnn,p1-number,p1-name,p1-leibie,p1-kucun,p1-jiage);b=1; if(b=0) printf(不存在%d該商品!n,c); printf(請(qǐng)輸入要查

28、詢的商品的編號(hào)(按0返回選擇界面):); goto lp10;break;/*=*/case 2:system(cls);/*清屏*/lp7:printf(輸入所要查詢商品的名稱(按0返回選擇界面):);scanf(%s,&t); b=0; if(strcmp(t,0)=0)goto lp2; while(strcmp(t,0)!=0) p1=head; if(strcmp(t,p1-name)!=0&p1-next!=null) p2=p1; p1=p1-next; if(strcmp(t,p1-name)=0) printf(n商品名稱t商品編號(hào)t商品類別t庫(kù)存數(shù)量t商品價(jià)格n);prin

29、tf(%stt%ldtt%stt%dtt%.2fn,p1-name,p1-number,p1-leibie,p1-kucun,p1-jiage);b=1; if(b=0) printf(n不存在%s該商品!n,t); printf(n請(qǐng)輸入要查詢的商品的名稱(按0返回選擇界面):); scanf(%s,&t); else goto lp7; break;/*=*/case 3:system(cls);/*清屏*/lp8:printf(輸入所要查詢商品的類別(按0返回選擇界面):);scanf(%s,&t); b=0; if(strcmp(t,0)=0)goto lp2; p1=head; pr

30、intf(n商品類別t商品編號(hào)t商品名稱t庫(kù)存數(shù)量t商品價(jià)格n);do if(strcmp(t,p1-leibie)=0) printf(%stt%ldtt%stt%dtt%.2fn,p1-leibie,p1-number,p1-name,p1-kucun,p1-jiage);b+; p1=p1-next;while(p1!=null); if(b=0) printf(n不存在%s該類型商品!n,t); goto lp8; goto lp8;break;/*=*/case 4: system(cls);/*清屏*/ b=0; printf(商品編號(hào)t商品名稱t商品類別t庫(kù)存數(shù)量t商品價(jià)格n);

31、p1=head;if(head!=null)doif(p1-kucunnumber,p1-name,p1-leibie,p1-kucun,p1-jiage);b+;p1=p1-next;while(p1!=null);printf(n需要進(jìn)貨的商品有以上%d種!,b);getch(); system(cls);/*清屏*/ ; break; case 0: system(cls); return(head); default: printf(輸入錯(cuò)誤,請(qǐng)重試!n); goto lp2; 3.5 add數(shù)information *add(information *head,information

32、 *newgoods)/*函數(shù)add,功能:追加商品信息*/information *p0,*p1,*p2;int i,a;p1=newgoods=(information *)malloc(len);/*開辟一個(gè)新單元*/system(cls);/*清屏*/repeat:printf(請(qǐng)輸入你想添加的商品的7位商品編號(hào)(退出請(qǐng)按“0”):);scanf(%ld,&newgoods-number);if(newgoods-number=0) goto end2;else while(p1-numbernumber=10000000) printf(輸入錯(cuò)誤,請(qǐng)重新輸入7位商品編號(hào):); sca

33、nf(%d,&p1-number); p1=head; if(n0) for(i=0;inumber!=p1-number) p1=p1-next; else printf(編號(hào)重復(fù),請(qǐng)重輸!n); goto repeat; printf(請(qǐng)輸入商品名:);scanf(%s,&newgoods-name);printf(請(qǐng)輸入商品類別:);scanf(%s,&newgoods-leibie); printf(請(qǐng)輸入商品庫(kù)存(大于0):);/*輸入商品庫(kù)存*/scanf(%d,&newgoods-kucun); while(newgoods-kucunkucun); printf(請(qǐng)輸入商品價(jià)格

34、(大于0):);/*輸入商品價(jià)格*/scanf(%f,&newgoods-jiage); while(newgoods-jiagejiage); printf(n商品編號(hào)t商品名稱t商品類別t庫(kù)存數(shù)量t商品價(jià)格n); printf(%ldtt%stt%stt%dtt%.2fn,newgoods-number,newgoods-name,newgoods-leibie,newgoods-kucun,newgoods-jiage); printf(你確定要新增這個(gè)商品嗎?n); printf(是請(qǐng)按(1),否請(qǐng)按(0)!n); scanf(%d,&a); if(a=1)p0=head;p2=new

35、goods;if(head=null)head=p2;p2-next=null;/*當(dāng)原來(lái)鏈表為空時(shí),從首結(jié)點(diǎn)開始存放資料*/else/*原來(lái)鏈表不為空*/ if(p0-next=null)/*找到原來(lái)鏈表的末尾*/ p0-next=p2; p0-next=null;/*將它與新開單元相連接*/ else while(p0-next!=null)/*還沒(méi)找到末尾,繼續(xù)找*/ p2=p0;p0=p0-next; p0-next=p2; p2-next=null; n=n+1; printf(n輸入的商品數(shù)為:%d個(gè)!n,n);else goto repeat; getch();end2: sys

36、tem(cls);/*清屏*/return(head);3.6 amend函數(shù)information *amend(information *head)/*定義一個(gè)修改商品信息信息的函數(shù)。此函數(shù)帶回一個(gè)指向鏈表頭的指針*/int t;long num;information *p1,*p2;system(cls);/*清屏*/if(head=null) printf(nnn沒(méi)有任何商品資料,請(qǐng)先建立商品資料!n); getch(); system(cls); return(head); printf(輸入要修改的7位商品的編號(hào)(按0退出):);pp:scanf(%ld,&num);if(num

37、=0)system(cls);goto end;elsewhile(num=10000000) printf(輸入錯(cuò)誤,請(qǐng)重新輸入商品編號(hào):); scanf(%d,&num); while(num!=0) p1=head; while(num!=p1-number&p1-next!=null) p2=p1; p1=p1-next; if(num=p1-number) printf(n商品編號(hào)t商品名稱t商品類別t庫(kù)存數(shù)量t商品價(jià)格n);printf(%ldtt%stt%stt%dtt%.2fn,p1-number,p1-name,p1-leibie,p1-kucun,p1-jiage);pri

38、ntf(修改請(qǐng)按(1)!退出請(qǐng)按(0)!);scanf(%d,&t);if(t=1)rt:printf(請(qǐng)輸入修改后的編號(hào):);scanf(%ld,&p1-number);while(p1-numbernumber=10000000) printf(輸入錯(cuò)誤,請(qǐng)重新輸入7位商品編號(hào):); scanf(%d,&p1-number); printf(請(qǐng)輸入修改后的商品名:); scanf(%s,&p1-name); printf(請(qǐng)輸入修改后的商品類別:); scanf(%s,&p1-leibie); printf(請(qǐng)輸入修改后的庫(kù)存數(shù)量(大于0):); scanf(%d,&p1-kucun);

39、while(p1-kucunkucun); printf(請(qǐng)輸入修改后的商品價(jià)格(大于0):); scanf(%f,&p1-jiage); while(p1-jiagejiage); printf(修改后的商品信息為:);printf(n商品編號(hào)t商品名稱t商品類別t進(jìn)貨數(shù)量t商品價(jià)格n);printf(%ldtt%stt%stt%dtt%.2fn,p1-number,p1-name,p1-leibie,p1-kucun,p1-jiage);printf(確認(rèn)請(qǐng)按(1)!重新請(qǐng)按(2)!n);scanf(%d,&t);if(t=1)system(cls);return(head);else goto rt;else system(cls);return(head); else printf(%d不存在此商品!n,num); printf(請(qǐng)輸入要查詢的商品的編號(hào)(按0退出):); goto pp;end:return(head);3.7 del函數(shù)information *del(information *head)/*函數(shù)del,功能:刪除商品信息*/information *p1,*p2;int a;long num;system(c

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論