版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> C語言課程設(shè)計(jì)</b></p><p><b> 課程設(shè)計(jì)報(bào)告</b></p><p><b> 小</b></p><p><b> 型</b></p><p><b> 商</b></p
2、><p><b> 品</b></p><p><b> 管</b></p><p><b> 理</b></p><p><b> 系</b></p><p><b> 統(tǒng)</b></p>
3、<p><b> 目錄</b></p><p> 0 題目和…………………………………………………………3</p><p> 1 設(shè)計(jì)目的………………………………………………………6</p><p> 2 功能描述………………………………………………………7</p><p> 3 總體設(shè)計(jì)……………
4、…………………………………………8 </p><p> 3.1 功能模塊設(shè)計(jì)………………………………………………8</p><p> 3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)………………………………………………9</p><p> 3.3 函數(shù)功能描述………………………………………………10 </p><p> 4 程序?qū)崿F(xiàn)………………………………………
5、………………11</p><p> 4.1 源碼分析……………………………………………………11 </p><p> 4.2 運(yùn)行結(jié)果……………………………………………………22</p><p> 5課程設(shè)計(jì)總結(jié)…………………………………………………28</p><p> 題目一 小型商品管理系統(tǒng) </p><p&
6、gt;<b> 設(shè)計(jì)要求</b></p><p><b> ?。?)基本功能:</b></p><p> a) 創(chuàng)建商品價(jià)格信息文件 </p><p> b) 增加商品價(jià)格信息 </p><p> c) 刪除商品價(jià)格信息 </p><p> d) 修改商品價(jià)格信息
7、</p><p> e) 查詢商品價(jià)格 </p><p> f) 商品價(jià)格排行瀏覽</p><p><b> ?。?)拓展功能:</b></p><p> a) 管理員對(duì)用戶的管理(權(quán)限管理): </p><p> 增加、刪除、修改、查詢用戶信息 </p><p>
8、<b> b) 用戶驗(yàn)證 </b></p><p> (3)創(chuàng)新(自擬)功能:</p><p> 程序?qū)崿F(xiàn)的其它功能由個(gè)人自擬。 </p><p> 2. 設(shè)計(jì)要求具體說明 </p><p><b> a)基本功能: </b></p><p>
9、; (1)創(chuàng)建商品價(jià)格信息文件:提示具有管理員權(quán)限的用戶輸入保存商品價(jià)格信息記錄的文件名,在磁盤上創(chuàng)建該文件。用戶根據(jù)提示輸入商品的序號(hào)、名稱、各項(xiàng)價(jià)格要素,如價(jià)格、折扣和會(huì)員價(jià)??梢淮涡暂斎攵鄺l商品的價(jià)格信息記錄。系統(tǒng)將商品價(jià)格信息記錄存儲(chǔ)在系統(tǒng)磁盤的文件中,以便進(jìn)行管理、查找和備份。 </p><p> (2)增加商品價(jià)格信息:在原有商品價(jià)格信息文件的基礎(chǔ)上增加新的商品價(jià)格信息記錄,并
10、繼續(xù)保存至磁盤。 </p><p> (3)刪除商品價(jià)格信息:提示輸入要進(jìn)行刪除操作的商品序號(hào),如果在文件中有該商品的價(jià)格信息存在,則將該序號(hào)所對(duì)應(yīng)的名稱、序號(hào)、各種價(jià)格要素等在對(duì)應(yīng)文件中加以刪除,并提示顧客選擇是否繼續(xù)進(jìn)行刪除操作。 </p><p> (4)修改商品價(jià)格信息:提示用戶輸入要進(jìn)行修改操作的商品序號(hào),如果在文件中有該商品的價(jià)格
11、信息存在,則提示顧客輸入要修改的選項(xiàng),并將結(jié)果存儲(chǔ)于文件。提示用戶是否需要繼續(xù)修改。 </p><p> (5)查詢商品價(jià)格:分為根據(jù)商品名稱和商品序號(hào)兩種查詢方式,分別提示客戶輸入要查詢商品信息的序號(hào)或名稱,如果在磁盤文件中有對(duì)應(yīng)得商品價(jià)格信息,則提示用戶已找到,并逐項(xiàng)列出對(duì)應(yīng)商品的價(jià)格狀況。在該功能中,也需提示用戶是否需要繼續(xù)查找,如不再繼續(xù)查詢,則返回主界面。 </p>
12、<p> (6)商品價(jià)格排行瀏覽:根據(jù)商品的折扣價(jià)格進(jìn)行排行,以便用戶對(duì)商品價(jià)格狀況有較為直觀方便的了解。</p><p><b> b)拓展功能: </b></p><p> (1)管理員對(duì)用戶的管理:管理員對(duì)用戶進(jìn)行創(chuàng)建、增加、刪除、修改和瀏覽。管理員創(chuàng)建的用戶登錄信息存儲(chǔ)在磁盤文件中,每當(dāng)有用戶登錄系
13、統(tǒng)時(shí),系統(tǒng)根據(jù)該文件中的用戶名和密碼進(jìn)行核實(shí)判斷。 </p><p> (2)用戶驗(yàn)證:用戶在使用系統(tǒng)治前要進(jìn)行登錄驗(yàn)證。提示輸入用戶名和密碼。并根據(jù)其權(quán)限提供不同操作界面。如未能通過驗(yàn)證則提示用戶重新登錄,超過三次則強(qiáng)制退出系統(tǒng)??蛻舻卿浀较到y(tǒng)后允許使用的系統(tǒng)功能和用戶權(quán)限有關(guān),普通用戶只能進(jìn)行查詢和瀏覽,具有管理員權(quán)限的用戶則可進(jìn)行對(duì)商品信息的增、刪、改和用戶登錄信息的管理。</
14、p><p><b> 圖1.程序的主界面</b></p><p><b> 1 設(shè)計(jì)目的 </b></p><p> 本課程設(shè)計(jì)是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)重要的實(shí)踐性環(huán)節(jié)之一,是在學(xué)生學(xué)習(xí)完《C程序設(shè)計(jì)語言現(xiàn)代算法》課程后進(jìn)行的一次全面的綜合練習(xí)。本課程設(shè)計(jì)的目的和任務(wù):</p><p> 1. 鞏
15、固和加深學(xué)生對(duì)C語言課程的基本知識(shí)的理解和掌握; </p><p> 2. 掌握C語言編程和程序調(diào)試的基本技能; </p><p> 3. 利用C語言進(jìn)行基本的軟件設(shè)計(jì); </p><p> 4. 掌握書寫程序設(shè)計(jì)說明文檔的能力 </p><p> 5. 提高運(yùn)用C語言解決實(shí)際問題的能力。 </p><p>&
16、lt;b> 2 功能描述 </b></p><p> 本程序主要是對(duì)小型商品的基礎(chǔ)操作</p><p><b> 基本功能: </b></p><p> a) 創(chuàng)建商品價(jià)格信息文件 </p><p> b) 增加商品價(jià)格信息 </p><p> c) 刪除商品價(jià)格信息
17、 </p><p> d) 修改商品價(jià)格信息 </p><p> e) 查詢商品價(jià)格 </p><p> f) 商品價(jià)格排行瀏覽 </p><p><b> 拓展功能: </b></p><p> a) 管理員對(duì)用戶的管理(權(quán)限管理): 增加、刪除、修改、查詢用戶信息 </p>
18、;<p><b> b) 用戶驗(yàn)證 </b></p><p><b> 創(chuàng)新(自擬)功能:</b></p><p> 程序?qū)崿F(xiàn)的其它功能由個(gè)人自擬。</p><p><b> 3 總體設(shè)計(jì) </b></p><p> 3.1 功能模塊設(shè)計(jì) </p&
19、gt;<p><b> 主要結(jié)構(gòu)</b></p><p><b> 、</b></p><p> 圖2.程序主要結(jié)構(gòu)圖</p><p> 3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) </p><p><b> 圖3.程序流程圖</b></p><p>
20、 函數(shù)1:創(chuàng)建商品價(jià)格信息文件 </p><p> 由主函數(shù)跳轉(zhuǎn)到該函數(shù)后</p><p> 提示管理員輸入商品名和價(jià)格,存儲(chǔ)在結(jié)構(gòu)體中。</p><p> 提示管理員是否繼續(xù)添加,若繼續(xù)添加,則循環(huán)該函數(shù),若選擇不再添加,則跳出該函數(shù)。</p><p> 函數(shù)2:增加商品價(jià)格信息 </p><p> 由主
21、函數(shù)跳轉(zhuǎn)到該函數(shù)后</p><p> (1)檢測(cè)是否有商品,若沒有商品,則提示管理員先創(chuàng)建商品價(jià)格信息;若有商品,則統(tǒng)計(jì)有多少個(gè)商品,然后提示用戶輸入新的商品名和價(jià)格。</p><p> ?。?)將輸入信息存儲(chǔ)在結(jié)構(gòu)體中,提示管理員是否繼續(xù)添加。</p><p> (3)若繼續(xù)添加,則循環(huán)該函數(shù),若選擇不再添加,則跳出該函數(shù)。</p><p&
22、gt; 函數(shù)3:刪除商品價(jià)格信息 </p><p> 由主函數(shù)跳轉(zhuǎn)到該函數(shù)后</p><p> ?。?)提示管理員是選擇性刪除還是全部清空,并檢測(cè)輸入的內(nèi)容是否符合要求,若符合要求,則執(zhí)行相應(yīng)操作;若不符合,則重新運(yùn)行該函數(shù)。</p><p> ?。?)若選擇的是全部清空,則直接刪除所有內(nèi)容;若選擇的是選擇性刪除,提示管理員輸入要?jiǎng)h除的商品名,并存儲(chǔ)在字符串中。
23、</p><p> (3)檢測(cè)是否有所輸入的商品名,若沒有,則提示沒有該商品;若有該商品,則將對(duì)應(yīng)結(jié)構(gòu)體的值清空,將其后的有商品的內(nèi)容全部前移一位,將最后前移的內(nèi)容原來的結(jié)構(gòu)體值清空。跳出函數(shù)。</p><p> 函數(shù)4:修改商品價(jià)格信息 </p><p> 由主函數(shù)跳轉(zhuǎn)到該函數(shù)后</p><p> ?。?)提示管理員輸入要?jiǎng)h除的商品名
24、并存儲(chǔ)在字符串中。</p><p> (2)用strcmp(str1,str2)搜索輸入的商品,若有,則提示管理員輸入新的商品名和價(jià)格,代替原來的內(nèi)容;若沒有該商品,則提示輸入錯(cuò)誤。</p><p><b> ?。?)跳出函數(shù)。</b></p><p> 函數(shù)5:查詢商品價(jià)格 </p><p> 由主函數(shù)跳轉(zhuǎn)到該函
25、數(shù)后</p><p> ?。?)提示管理員或用戶輸入要查詢的商品名并存儲(chǔ)在字符串中。</p><p> ?。?)用strcmp(str1,str2)搜索輸入的商品,若有,則顯示商品價(jià)格;若沒有該商品,則提示輸入錯(cuò)誤。 </p><p><b> ?。?)跳出函數(shù)。</b></p><p> 函數(shù)6: 商品價(jià)格排行
26、瀏覽</p><p> 由主函數(shù)跳轉(zhuǎn)到該函數(shù)后</p><p> ?。?)提示管理員或用戶輸選擇想要的排序方式(按價(jià)格升序或降序)。</p><p> ?。?)檢測(cè)輸入是否正確,若不正確,則重新提示,直至輸入內(nèi)容符合要求。</p><p> ?。?)分別用兩個(gè)for循環(huán)進(jìn)行相應(yīng)排序。</p><p> ?。?)按要求
27、輸出排序后內(nèi)容</p><p> 3.3 函數(shù)功能描述 </p><p><b> 1.輸入函數(shù)</b></p><p> 1)函數(shù)原形:scanf(“%d”,&*)</p><p> 2) 功 能: scanf()函數(shù)利用取地址符號(hào)&完成對(duì)程序中某個(gè)變量的賦值,進(jìn)而程序中判斷循環(huán)的功能。&
28、lt;/p><p><b> 2.輸出函數(shù)</b></p><p> 1)函數(shù)原型:printf(“ ”, );</p><p> 2) 功 能:printf( )用于在屏幕上輸出內(nèi)容.</p><p><b> 3.跳轉(zhuǎn)函數(shù)</b></p><p>
29、1)函數(shù)原型:goto 標(biāo)識(shí)符;</p><p><b> 2)用于無條件跳轉(zhuǎn)</b></p><p><b> 4.選擇函數(shù)</b></p><p> 1)函數(shù)原型:if(){}else{},for(; ; ){},switch(){case :break;case :break;default:break;}&l
30、t;/p><p> 2) 功 能:按條件進(jìn)行選擇。</p><p><b> 5.自定義函數(shù)</b></p><p> 1)函數(shù):(1)void establish(struct lable *p);</p><p> (2)void add(struct lable *p);</p><p
31、> ?。?)void dele(struct lable *p);</p><p> ?。?)void alter(struct lable *p);</p><p> ?。?)void search(struct lable *p);</p><p> ?。?)void chars(struct lable *p);</p><p>
32、 2) 功 能:執(zhí)行自定義的功能。</p><p><b> 4 程序?qū)崿F(xiàn) </b></p><p><b> 4.1 源碼分析 </b></p><p> /*小型商品管理系統(tǒng)/作者:尹永賢/2012-6-28*/</p><p> /*管理員口令為:999999/用戶口令:888
33、888*/</p><p> #include <stdio.h></p><p> #include <conio.h></p><p> #include <string.h></p><p> struct lable{</p><p> char name[20];
34、</p><p> int price;</p><p> } a[1000];</p><p> void establish(struct lable *p);</p><p> void add(struct lable *p);</p><p> void dele(struct lable *p);
35、</p><p> void alter(struct lable *p);</p><p> void search(struct lable *p);</p><p> void chars(struct lable *p); </p><p> int main(void)</p><p><b&g
36、t; {</b></p><p> int K,M=100,N,X,Y,Z;</p><p> /*start是用來顯示主界面并提示輸入對(duì)應(yīng)字符選擇操作*/</p><p><b> start:</b></p><p> printf(" ************
37、*******************\n\n");</p><p> printf(" * 小型商品管理系統(tǒng) *\n\n");</p><p> printf(" * 1.用戶登錄 *\n\n");</p><p
38、> printf(" * 2.商品信息管理 *\n\n");</p><p> printf(" * 3.權(quán)限管理 *\n\n");</p><p> printf(" * 0.退出
39、 *\n\n");</p><p> printf(" *******************************\n\n");</p><p> printf("請(qǐng)輸入對(duì)應(yīng)首字符選擇你要的操作!\n");</p><p> scanf("%d&q
40、uot;,&M);</p><p> if(M!=0&&M!=1&&M!=2&&M!=3||M==100)/*這個(gè)if語句用來檢驗(yàn)輸入的字符是否正確*/</p><p><b> {</b></p><p> printf("Error!\n輸入有誤!\n");&
41、lt;/p><p> getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p> goto start;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b> }</b></p><p> /*這個(gè)級(jí)聯(lián)式if語句用來驗(yàn)證用戶口令并選擇執(zhí)行相應(yīng)的操作*/</p><p><
42、;b> if(M==0)</b></p><p><b> {</b></p><p> goto exit;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b> }</b></p><p> else if(M==1)</p><p><b&
43、gt; {</b></p><p> printf("請(qǐng)輸入用戶口令:");</p><p> scanf("%d",&X);</p><p> if(X!=888888)</p><p><b> {</b></p><p>
44、 printf("Error!\n口令錯(cuò)誤!\n");</p><p> getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p> goto start;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b> } </b></p><p><b> user:&
45、lt;/b></p><p> printf(" **************************************\n\n");</p><p> printf(" * 5) 查詢商品價(jià)格 *\n\n");</p><p> pr
46、intf(" * 6) 商品價(jià)格排行瀏覽 *\n\n");</p><p> printf(" * 0) 退出 *\n\n");</p><p> printf(" *****************
47、*********************\n\n");</p><p> printf("請(qǐng)輸入對(duì)應(yīng)首字符選擇你要的操作!\n");</p><p> scanf("%d",&N);</p><p> if(N!=5&&N!=6&&N!=0)/*這個(gè)if語句用來檢驗(yàn)輸入
48、的字符是否正確*/</p><p><b> {</b></p><p> printf("Error!\n輸入錯(cuò)誤!\n");</p><p> getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p> goto user;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/ </p>
49、;<p><b> }</b></p><p><b> }</b></p><p> else if(M==2) </p><p><b> {</b></p><p> printf("請(qǐng)輸入管理員口令:");</p>
50、<p> scanf("%d",&Y);</p><p> if(Y!=999999)/*這個(gè)if語句用來檢驗(yàn)輸入的字符是否正確*/</p><p><b> {</b></p><p> printf("Error!\n口令錯(cuò)誤!\n");</p><p
51、> getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p> goto start;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b> } </b></p><p><b> manager:</b></p><p> printf("
52、 **************************************\n\n");</p><p> printf(" * 1) 創(chuàng)建商品價(jià)格信息文件 *\n\n");</p><p> printf(" * 2) 增加商品價(jià)格信息 *\n\n&
53、quot;);</p><p> printf(" * 3) 刪除商品價(jià)格信息 *\n\n");</p><p> printf(" * 4) 修改商品價(jià)格信息 *\n\n");</p><p> printf("
54、 * 5) 查詢商品價(jià)格 *\n\n");</p><p> printf(" * 6) 商品價(jià)格排行瀏覽 *\n\n");</p><p> printf(" * 7)返回主界面 *
55、\n\n");</p><p> printf(" * 0) 退出 *\n\n");</p><p> printf(" **************************************\n\n");</p><p&
56、gt; printf("請(qǐng)輸入對(duì)應(yīng)首字符選擇你要的操作!\n");</p><p> scanf("%d",&N);</p><p> if(N>7||N<0)</p><p><b> {</b></p><p> printf("Erro
57、r!\n輸入錯(cuò)誤!\n");</p><p> getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p> goto manager;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/ </p><p><b> }</b></p><p><b> } </b></p>
58、<p> else if(M==3)</p><p><b> {</b></p><p> printf("請(qǐng)輸入管理員口令:");</p><p> scanf("%d",&K);</p><p> if(K!=999999)/*這個(gè)if語句用來檢
59、驗(yàn)輸入的字符是否正確*/</p><p><b> {</b></p><p> printf("Error!\n口令錯(cuò)誤!\n");</p><p> getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p> goto start;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p
60、><p><b> }</b></p><p> printf("是否取消權(quán)限?\n是:請(qǐng)輸入1\n否:請(qǐng)輸入0\n");</p><p> scanf("%d",&Z);</p><p> if(Z!=0&&Z!=1)</p><p
61、><b> {</b></p><p> printf("Error!輸入有誤!\n");</p><p> getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p> goto start;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b> }<
62、;/b></p><p><b> if(Z==1)</b></p><p><b> {</b></p><p> printf(" **************************************\n\n");</p><p> p
63、rintf(" * 1) 創(chuàng)建商品價(jià)格信息文件 *\n\n");</p><p> printf(" * 2) 增加商品價(jià)格信息 *\n\n");</p><p> printf(" * 3) 刪除商品價(jià)格信息
64、 *\n\n");</p><p> printf(" * 4) 修改商品價(jià)格信息 *\n\n");</p><p> printf(" * 5) 查詢商品價(jià)格 *\n\n");</p><p> p
65、rintf(" * 6) 商品價(jià)格排行瀏覽 *\n\n");</p><p> printf(" * 7)返回主界面 *\n\n");</p><p> printf(" * 0) 退出
66、 *\n\n");</p><p> printf(" **************************************\n\n");</p><p> printf("請(qǐng)輸入對(duì)應(yīng)首字符選擇你要的操作!\n");</p><p> scanf(&quo
67、t;%d",&N);</p><p> if(N>7||N<0)/*這個(gè)if語句用來檢驗(yàn)輸入的字符是否正確*/</p><p><b> {</b></p><p> printf("Error!\n輸入錯(cuò)誤!\n");</p><p> getch();/*等待
68、你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p> goto manager;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/ </p><p><b> }</b></p><p><b> }</b></p><p> else if(Z==0)</p><p><b>
69、 {</b></p><p> goto start;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b> }</b></p><p><b> }</b></p><p> /*用switch語句選擇要執(zhí)行的操作,跳轉(zhuǎn)到最后的函數(shù)*/</p><p>&
70、lt;b> switch(N)</b></p><p><b> {</b></p><p><b> case 1:</b></p><p> establish(a);</p><p> goto manager;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><
71、p><b> break;</b></p><p><b> case 2:</b></p><p><b> add(a);</b></p><p> goto manager;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b> break;</
72、b></p><p><b> case 3:</b></p><p><b> dele(a);</b></p><p> goto manager;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b> break;</b></p><p>
73、<b> case 4:</b></p><p><b> alter(a);</b></p><p> goto manager;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b> break;</b></p><p><b> case 5:</b&
74、gt;</p><p> search(a);</p><p><b> if(M==1)</b></p><p><b> {</b></p><p> goto user;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b> }</b><
75、;/p><p> else if(M==2)</p><p><b> {</b></p><p> goto manager;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b> }</b></p><p><b> break;</b></p
76、><p><b> case 6:</b></p><p><b> chars(a);</b></p><p><b> if(M==1)</b></p><p><b> {</b></p><p> goto user;
77、/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b> }</b></p><p> else if(M==2)</p><p><b> {</b></p><p> goto manager;/*跳轉(zhuǎn)到對(duì)應(yīng)語句*/</p><p><b> }</b
78、></p><p><b> break;</b></p><p> case 0:/*執(zhí)行退出*/</p><p><b> exit:</b></p><p> printf(" *************************************
79、**\n");</p><p> printf(" * *\n");</p><p> printf(" * 謝謝惠顧! *\n");</p><p>
80、printf(" * 歡迎你的下次光臨! *\n");</p><p> printf(" * *\n");</p><p> printf(" ***************
81、************************\n");</p><p><b> break;</b></p><p><b> default:</b></p><p> printf("Error!\n");</p><p><b> bre
82、ak;</b></p><p><b> }</b></p><p><b> return 0;</b></p><p><b> }</b></p><p> /*這個(gè)函數(shù)用來新建商品的價(jià)格信息*/</p><p> void
83、 establish(struct lable *p)</p><p><b> {</b></p><p> int i=0,j;</p><p><b> do{</b></p><p> /*對(duì)商品名和價(jià)格進(jìn)行記錄*/</p><p> printf(&quo
84、t;goods%d\n",i+1);</p><p> printf("name:");</p><p> scanf("%s",p[i].name);</p><p> printf("price(¥):");</p><p> scanf("%d&qu
85、ot;,&p[i].price);</p><p><b> i+=1;</b></p><p> est:/*選擇是否繼續(xù)添加*/</p><p><b> j=100;</b></p><p> printf("是否繼續(xù)添加?\n是,請(qǐng)輸入1\n否,請(qǐng)輸入0\n&quo
86、t;);</p><p> scanf("%d",&j);</p><p> if(j!=0&&j!=1)</p><p><b> {</b></p><p> printf("Error!!!\n輸入有誤!\n");</p><
87、;p> getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p><b> goto est;</b></p><p><b> }</b></p><p> }while(j==1);</p><p> printf("共創(chuàng)建商品價(jià)格信息%d個(gè)
88、\n",i);</p><p><b> }</b></p><p> /*這個(gè)函數(shù)用來添加商品的價(jià)格信息*/</p><p> void add(struct lable *p)</p><p><b> {</b></p><p><b>
89、 int i,j;</b></p><p> if(p[0].price==0)/*判斷是否有商品*/</p><p><b> {</b></p><p> printf("還沒有任何商品!\n請(qǐng)先建立商品信息!\n"); </p><p><b> }</b&g
90、t;</p><p><b> else</b></p><p><b> {</b></p><p> for(i=1;p[i].price!=0;i++)/*統(tǒng)計(jì)已有商品數(shù)*/</p><p><b> {}</b></p><p><
91、b> /*添加商品*/</b></p><p><b> do{</b></p><p> printf("goods%d\n",i+1);</p><p> printf("name:");</p><p> scanf("%s",
92、&p[i]);</p><p> printf("price(¥):");</p><p> scanf("%d",&p[i].price);</p><p><b> i+=1;</b></p><p><b> ad:</b><
93、;/p><p> printf("是否繼續(xù)添加?\n是,請(qǐng)輸入1\n否,請(qǐng)輸入0\n");</p><p> scanf("%d",&j);</p><p> if(j!=0&j!=1)/*判斷輸入是否正確*/</p><p><b> {</b></p&
94、gt;<p> printf("Error!!!\n輸入有誤!\n");</p><p> getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p><b> goto ad;</b></p><p><b> }</b></p><
95、p> }while(j==1);</p><p> printf("共創(chuàng)建商品價(jià)格信息%d個(gè)\n",i);</p><p><b> }</b></p><p><b> }</b></p><p> /*這個(gè)函數(shù)用來刪除商品的價(jià)格信息*/</p&g
96、t;<p> void dele(struct lable *p)</p><p><b> {</b></p><p> int i,j=-1,X=-1;</p><p> char str[20];</p><p><b> del:</b></p><
97、;p> printf("請(qǐng)選擇是全部清空還是選擇性刪除!\n清空,請(qǐng)輸入:0\n選擇性刪除,請(qǐng)輸入1\n");</p><p> scanf("%d",&j);</p><p> /*按對(duì)應(yīng)方式刪除商品*/</p><p> if(j!=0&&j!=1)/*判斷輸入是否正確*/</p
98、><p><b> {</b></p><p> printf("Error!輸入有誤!\n");</p><p> getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p><b> goto del;</b></p><p>
99、;<b> }</b></p><p><b> if(j==0)</b></p><p><b> {</b></p><p> for(i=0;p[i].price!=0;i++)</p><p><b> {</b></p>
100、<p> strcpy(p[i].name, "0");/*把字符串?dāng)?shù)組清空*/</p><p> p[i].price=0;</p><p><b> }</b></p><p> printf("商品信息已清空!\n");</p><p><b>
101、 }</b></p><p> else if(j==1)</p><p><b> {</b></p><p> printf("請(qǐng)輸入你要?jiǎng)h除的商品名稱:");</p><p> scanf("%s",str);</p><p>
102、 for(i=0;p[i].price!=0;i++)</p><p><b> {</b></p><p> if(strcmp(p[i].name,str)==0)/*比較兩個(gè)字符串是否相等。*/</p><p><b> {</b></p><p> printf("商品%
103、s已刪除!\n",str);</p><p><b> X=i;</b></p><p><b> }</b></p><p><b> }</b></p><p> for(i=X;p[i+1].price!=0;i++)</p><p&
104、gt;<b> {</b></p><p><b> if(X==-1)</b></p><p><b> {</b></p><p> printf("搜索的商品不存在!\n");</p><p><b> break;</b&g
105、t;</p><p><b> }</b></p><p> p[i].name=p[i+1].name;</p><p> p[i].price=p[i+1].price;</p><p> strcpy(p[i+1].name, "0");/*把字符串?dāng)?shù)組清空*/</p>&
106、lt;p> p[i+1].price=0;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> /*這個(gè)函數(shù)用來改變商品的價(jià)格信息*/</p><p>
107、; void alter(struct lable *p)</p><p><b> {</b></p><p> char str[20],i,j=0;</p><p> printf("請(qǐng)輸入你要修改的商品名:");</p><p> scanf("%s",str)
108、;</p><p> /*選擇商品進(jìn)行修改*/</p><p> for(i=0;p[i].price!=0;i++)</p><p><b> {</b></p><p> if(strcmp(p[i].name,str)==0)/*判斷兩個(gè)字符串是否相等*/</p><p><
109、b> {</b></p><p> printf("goods%d\n",i+1);</p><p> printf("name:");</p><p> scanf("%s",p[i].name);</p><p> printf("price
110、(¥):");</p><p> scanf("%d",&p[i].price);</p><p><b> j=1;</b></p><p><b> }</b></p><p><b> }</b></p>&l
111、t;p><b> if(j==0)</b></p><p><b> {</b></p><p> printf("你搜索的商品不存在!\n");</p><p><b> }</b></p><p><b> }</b&g
112、t;</p><p> /*這個(gè)函數(shù)用來查看商品的價(jià)格信息*/</p><p> void search(struct lable *p)</p><p><b> {</b></p><p> char str[20],i,j=0,N;</p><p> if(p[0].price==
113、0)/*判斷是否有商品*/</p><p><b> {</b></p><p> printf("沒有任何商品?。?!\n");</p><p><b> }</b></p><p><b> else</b></p><p>
114、;<b> {</b></p><p> printf("請(qǐng)輸入你要查詢價(jià)格的商品名:");</p><p> scanf("%s",str);</p><p> for(i=0;p[i].price!=0;i++)/*對(duì)商品進(jìn)行搜索*/</p><p><b>
115、 {</b></p><p> if(strcmp(p[i].name,str)==0)/*比較兩個(gè)字符串是否相等。*/ </p><p><b> {</b></p><p> printf("price(¥):%d\n",p[i].price);</p><p><b&
116、gt; j=1;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> if(j==0)</b></p><p><b> {</b></p><p>
117、 printf("你搜索的商品不存在!\n");</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> /*這個(gè)函數(shù)用來按商品的價(jià)格進(jìn)行排序*/</p>
118、<p> void chars(struct lable *p)</p><p><b> {</b></p><p> int i,j,t=-1,min,max;</p><p> char str[20];</p><p><b> {</b></p><
119、p> cha:/*選擇排序方式*/</p><p> printf("請(qǐng)選擇排序方式!\n按升序排列請(qǐng)輸入:0\n按降序排列請(qǐng)輸入:1\n");</p><p> getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p> scanf("%d",&t);</p>&l
120、t;p> if(t!=0&&t!=1)</p><p><b> {</b></p><p> printf("Error!!!\n輸入有誤!\n");</p><p> getch();/*等待你按下任意鍵,再繼續(xù)執(zhí)行下面的語句!*/</p><p><b>
121、 goto cha;</b></p><p><b> }</b></p><p> if(t==0)/*按價(jià)格升序排列*/</p><p><b> {</b></p><p> printf("按價(jià)格升序排列\(zhòng)n");</p><p&
122、gt; min=p[0].price;</p><p> for(i=0;p[i].price!=0;i++)</p><p> for(j=i+1;p[j].price!=0;j++)</p><p><b> {</b></p><p> if(p[j].price<=p[i].price)</
123、p><p><b> {</b></p><p> min=p[j].price,p[j].price=p[i].price,p[i].price=min;</p><p> strcpy(str,p[j].name);/*將后面的字符數(shù)組賦值給前面的字符數(shù)組*/ </p><p> strcpy(p[j].name
124、,p[i].name);</p><p> strcpy(p[i].name,str);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> else/*按價(jià)格降序
125、排列*/</p><p><b> {</b></p><p> printf("按價(jià)格降序排列\(zhòng)n");</p><p> max=p[0].price;</p><p> for(i=0;p[i].price!=0;i++)</p><p> for(j=i+1;
126、p[j].price!=0;j++)</p><p><b> {</b></p><p> if(p[j].price>=p[i].price)</p><p><b> {</b></p><p> max=p[j].price,p[j].price=p[i].price,p[i]
127、.price=max;</p><p> strcpy(str,p[j].name);/*將后面的字符數(shù)組賦值給前面的字符數(shù)組*/ </p><p> strcpy(p[j].name,p[i].name);</p><p> strcpy(p[i].name,str);</p><p><b> }</b>&l
128、t;/p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> if(p[0].price==0)</p><p><b> {</b></p&g
129、t;<p> printf("沒有任何商品?。?!\n");</p><p><b> }</b></p><p> else/*輸出商品信息*/</p><p><b> {</b></p><p> printf("**************
130、***************************\n");</p><p> for(i=0;p[i].price!=0;i++)</p><p><b> {</b></p><p> printf("goods%d\n",i+1);</p><p> printf(&quo
131、t;name:%-20s\t",p[i].name);</p><p> printf("price:%d\n",p[i].price);</p><p><b> }</b></p><p> printf("*****************************************\n&
132、quot;);</p><p><b> }</b></p><p><b> }</b></p><p><b> 4.2 運(yùn)行結(jié)果 </b></p><p><b> 1. </b></p><p><b>
133、 2. </b></p><p><b> 3. </b></p><p><b> 4. </b></p><p><b> 5. </b></p><p><b> 6. </b></p><p><b
134、> 7. </b></p><p><b> 5課程設(shè)計(jì)總結(jié) </b></p><p> 本程序在做的過程中有許多錯(cuò)誤,但在我的努力及同學(xué)的幫助下都被一一克服,現(xiàn)在操作本程序時(shí)可根據(jù)提示進(jìn)行相關(guān)操作,能正確輸出結(jié)果。在剛開始的幾次調(diào)試中曾經(jīng)出現(xiàn)過不能運(yùn)行、經(jīng)過多次調(diào)試,這些問題得到克服,并且使程序的功能也得到了一定的完善。</p>
135、<p> 在這次設(shè)計(jì)過程中,不僅復(fù)習(xí)課本上所學(xué)知識(shí),還通過上網(wǎng)查資料、問同學(xué)學(xué)到了課本上沒有的知識(shí)。從而啟發(fā)我,要想寫好程序,在學(xué)好課本知識(shí)的同時(shí)還需要多讀和專業(yè)有關(guān)的一些書籍,同時(shí)還需要多動(dòng)腦子,盡量把所學(xué)的知識(shí)綜合起來應(yīng)用,力爭(zhēng)寫出完美的程序。除此之外,我還得到了一些有用的教訓(xùn):寫程序時(shí)必須要細(xì)心,不能輸錯(cuò)一個(gè)字符標(biāo)點(diǎn)。在修改時(shí)要有耐心,編譯出錯(cuò)后必須逐個(gè)錯(cuò)誤去改正,絕不能心急浮躁,否則修改之后還會(huì)有新的錯(cuò)誤。<
136、/p><p><b> 致謝</b></p><p> 能夠完成這次課程設(shè)計(jì)必須感謝C語言課程老師xx(是她教會(huì)了我C語言這門課程)、xx同學(xué)……。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] C程序設(shè)計(jì)語言現(xiàn)代算法</p><p><b
137、> 附件:源代碼:</b></p><p> /*小型商品管理系統(tǒng)/作者:尹永賢/2012-6-28*/</p><p> /*管理員口令為:999999/用戶口令:888888*/</p><p> #include <stdio.h></p><p> #include <conio.h>
138、;</p><p> #include <string.h></p><p> struct lable{</p><p> char name[20];</p><p> int price;</p><p> } a[1000];</p><p> void esta
139、blish(struct lable *p);</p><p> void add(struct lable *p);</p><p> void dele(struct lable *p);</p><p> void alter(struct lable *p);</p><p> void search(struct lable
140、 *p);</p><p> void chars(struct lable *p); </p><p> int main(void)</p><p><b> {</b></p><p> int K,M=100,N,X,Y,Z;</p><p><b> start:&l
141、t;/b></p><p> printf(" *******************************\n\n");</p><p> printf(" * 小型商品管理系統(tǒng) *\n\n");</p><p> printf("
142、 * 1.用戶登錄 *\n\n");</p><p> printf(" * 2.商品信息管理 *\n\n");</p><p> printf(" * 3.權(quán)限管理 *\n\n&q
143、uot;);</p><p> printf(" * 0.退出 *\n\n");</p><p> printf(" *******************************\n\n");</p><p> printf(&q
144、uot;請(qǐng)輸入對(duì)應(yīng)首字符選擇你要的操作!\n");</p><p> scanf("%d",&M);</p><p> if(M!=0&&M!=1&&M!=2&&M!=3||M==100)</p><p><b> {</b></p>&l
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計(jì)-商品管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告-商品管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告--超市商品管理系統(tǒng)
- vc++課程設(shè)計(jì)報(bào)告-小型超市商品管理系統(tǒng)
- vc++課程設(shè)計(jì)報(bào)告-小型超市商品管理系統(tǒng)
- 課程設(shè)計(jì)報(bào)告---商品管理系統(tǒng)
- c++選修課管理系統(tǒng)課程設(shè)計(jì)說明書
- 工廠管理系統(tǒng)課程設(shè)計(jì)說明書
- 學(xué)生管理系統(tǒng)課程設(shè)計(jì)說明書
- 醫(yī)院管理系統(tǒng)課程設(shè)計(jì)說明書
- c++選修課管理系統(tǒng)課程設(shè)計(jì)說明書
- c#學(xué)生成績(jī)管理系統(tǒng)課程設(shè)計(jì)說明書
- c語言課程設(shè)計(jì)說明書---生產(chǎn)信息管理系統(tǒng)
- 倉儲(chǔ)管理系統(tǒng)-課程設(shè)計(jì)說明書
- 采購管理系統(tǒng)課程設(shè)計(jì)說明書
- vfp課程設(shè)計(jì)--學(xué)生管理系統(tǒng)課程設(shè)計(jì)說明書
- 學(xué)生管理系統(tǒng)課程設(shè)計(jì)說明書 (2)
- 圖書管理系統(tǒng)課程設(shè)計(jì)說明書
- 醫(yī)院管理系統(tǒng)-醫(yī)院管理系統(tǒng)課程設(shè)計(jì)說明書
- 圖書管理系統(tǒng)課程設(shè)計(jì)說明書
評(píng)論
0/150
提交評(píng)論