

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p> 第一章 設(shè)計(jì)的目的及要求1</p><p> 第二章 課程設(shè)計(jì)任務(wù)內(nèi)容2</p><p> 2.1課程設(shè)計(jì)題目2</p><p> 2.2課程設(shè)計(jì)任務(wù)內(nèi)容2</p><p> 第三章 詳細(xì)設(shè)計(jì)說明3</p&g
2、t;<p><b> 3.1模塊3</b></p><p> 3.1.1系統(tǒng)模塊圖3</p><p> 3.1.2模塊描述4</p><p> 3.2結(jié)構(gòu)體建立的語句4</p><p> 3.3主要函數(shù)定義5</p><p> 3.4編碼與調(diào)試16</p
3、><p> 3.5使用說明17</p><p> 3.5運(yùn)行界面19</p><p> 第四章 課程設(shè)計(jì)心得與體會(huì)21</p><p> 附錄一 參考文獻(xiàn)22</p><p> 附錄二 程序代碼23</p><p> 第一章 設(shè)計(jì)的目的及要求</p><p&
4、gt; 課程設(shè)計(jì)的主要目的是鍛煉學(xué)生綜合運(yùn)用所學(xué)的C語言程序設(shè)計(jì)知識(shí)的能力,獨(dú)自利用C語言知識(shí)編寫承訓(xùn)解決實(shí)際問題的能力,培養(yǎng)同學(xué)嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度和良好的程序設(shè)計(jì)習(xí)慣,讓同學(xué)們認(rèn)識(shí)到必須重視實(shí)踐環(huán)節(jié),多讀程序,多編寫程序,多上機(jī)實(shí)踐。進(jìn)一步培養(yǎng)結(jié)構(gòu)化程序設(shè)計(jì)的思想,加深對(duì)高級(jí)語言要素和控制結(jié)構(gòu)的理解。通過課程設(shè)計(jì)的訓(xùn)練,學(xué)生能夠了解程序設(shè)計(jì)的基本開發(fā)過程,掌握編寫、調(diào)試和測試C語言程序的基本過程,掌握程序設(shè)計(jì)的技巧的大體流程。</
5、p><p> 本次程序設(shè)計(jì)主要側(cè)重于知識(shí)的運(yùn)用,把平時(shí)學(xué)到的運(yùn)用到實(shí)踐中去,對(duì)我們所學(xué)的理論知識(shí)進(jìn)一步深化。其次程序設(shè)計(jì)也是要求學(xué)生遵循軟件開發(fā)過程的基本規(guī)范,按要求獨(dú)立自主完成課程設(shè)計(jì)任務(wù)。 </p><p><b> 本課程設(shè)計(jì)的目標(biāo):</b></p><p> 鍛煉學(xué)生綜合運(yùn)用所學(xué)的C語言程序設(shè)計(jì)知識(shí)的能力</p><
6、;p> 掌握分析、設(shè)計(jì)、編寫、調(diào)試和測試C語言程序及編寫設(shè)計(jì)報(bào)告的能力。</p><p> 了解程序設(shè)計(jì)的基本開發(fā)過程,掌握利用C語言進(jìn)行軟件設(shè)計(jì)的方法。</p><p> 提高書寫程序設(shè)計(jì)說明文檔的能力。</p><p> 培養(yǎng)運(yùn)用C語言解決實(shí)際問題的能力。</p><p><b> 基本要求:</b>
7、</p><p> 分析超市購物管理系統(tǒng)的要求;</p><p> 對(duì)程序函數(shù)功能模塊進(jìn)行分析,寫出詳細(xì)設(shè)計(jì)說明文檔;</p><p> 編寫程序代碼,代碼量要求不少于300行。調(diào)試程序使其能正確運(yùn)行;</p><p> 設(shè)計(jì)完成的軟件要便于操作和使用;</p><p> 設(shè)計(jì)完成后提交課程設(shè)計(jì)報(bào)告。<
8、/p><p> 第二章 課程設(shè)計(jì)任務(wù)內(nèi)容</p><p><b> 2.1課程設(shè)計(jì)題目</b></p><p><b> 超市購物管理系統(tǒng)</b></p><p> 2.2課程設(shè)計(jì)任務(wù)內(nèi)容</p><p> 用C語言制作一個(gè)超市購物系統(tǒng),為顧客提供一個(gè)查詢商品,快捷購物
9、的平臺(tái)。該系統(tǒng)主要有以下功能:</p><p> 購物包括會(huì)員購物和普通顧客購物;</p><p> 系統(tǒng)需存儲(chǔ)會(huì)員的一般信息:卡號(hào),姓名,密碼,卡上余額,已消費(fèi)總額等信息,會(huì)員購物享受九折優(yōu)惠;</p><p> 非會(huì)員顧客消費(fèi)滿200元即可免費(fèi)成為會(huì)員,如果需要可獲會(huì)員卡一張,即可享受會(huì)員服務(wù);</p><p> 對(duì)于商品查詢,系
10、統(tǒng)存儲(chǔ)商品的一些基本信息:商品代碼,商品名,存放位置,剩余量,單價(jià)等,輸入商品名即可調(diào)出商品的所有信息。</p><p> 第三章 詳細(xì)設(shè)計(jì)說明</p><p><b> 3.1模塊</b></p><p> 3.1.1系統(tǒng)模塊圖</p><p> 圖3-1函數(shù)功能模塊圖</p><p>
11、<b> 3.1.2模塊描述</b></p><p><b> 主函數(shù)</b></p><p> 主函數(shù)為無返回值空類型函數(shù),主要功能是實(shí)現(xiàn)執(zhí)行購物和查詢功能。</p><p><b> 購物主函數(shù)</b></p><p> 此函數(shù)為無返回值空類型函數(shù),主要功能是為顧
12、客構(gòu)造一個(gè)購物平臺(tái)。</p><p><b> 會(huì)員購物函數(shù)</b></p><p> 此函數(shù)為無返回值的空類型函數(shù),實(shí)現(xiàn)會(huì)員購物的優(yōu)惠服務(wù)。</p><p><b> 一般顧客購物函數(shù)</b></p><p> 此函數(shù)為無返回值的空類型函數(shù),為一般顧客提供購物環(huán)境,滿足條件享受其他待遇等。
13、</p><p><b> 免費(fèi)注冊會(huì)員函數(shù)</b></p><p> 此函數(shù)為無返回值的空類型函數(shù),為消費(fèi)滿足條件的一般顧客提供免費(fèi)注冊會(huì)員的平臺(tái),通過輸入Y/N選擇相應(yīng)操作。</p><p><b> 查詢商品函數(shù)</b></p><p> 此函數(shù)為有返回值的函數(shù),為顧客提供查詢商品信息
14、的平臺(tái)。</p><p> 3.2結(jié)構(gòu)體建立的語句</p><p><b> 會(huì)員系統(tǒng)信息</b></p><p> struct VIP/*會(huì)員信息*/</p><p><b> { </b></p><p> int num;/*卡號(hào)*/</p>
15、<p> int code;/*密碼*/</p><p> char name[20];/*姓名*/</p><p> float balance;/*卡上余額*/</p><p> float consume;/*以消費(fèi)總額*/</p><p><b> };</b></p><
16、;p> struct VIP mem[]={{1001,1001,"Feng Wen Hui",1000.00,0.00},{1002,1002,"Zhou Cheng Hui",1000.00,0.00},{1003,1003,"Xu Hong Yuan",1000.00,0.00},{1004,1004,"Xie Yu Lin",1000.00,
17、0.00},{1005,1005,"Zhang Fu Qiang",1000.00,0.00},{1006,1006,"He Han Lin",1000.00,0.00},{1007,1007,"Zhang Fan",1000.00,0.00},{1008,1008,"Li Ji Yan",1000.00,0.00},{1009,1009,"Zha
18、o Liang Wei",1000.00,0.00},{1010,1010,"Qi Jun",1000.00,0.00}};</p><p><b> 商品系統(tǒng)信息</b></p><p> struct Goods/*商品信息*/</p><p><b> {</b></p>
19、;<p> int num;/*商品代碼*/</p><p> char name[50];/*商品名*/</p><p> int sale;/*數(shù)量*/</p><p> float price;/*單價(jià)*/</p><p> int location;/*位置*/</p><p><
20、b> };</b></p><p> struct Goods ware[]={{101,"HuiYuanGuoZhi",34,3.50,10103},{102,"KeBiKe",34,4.50,10203},{103,"KangShiFuTea",34,2.50,20103},{104,"DiaoPaiwashing-p
21、owder",34,3.50,10113},{105,"LuoJImouse",34,110.50,20203},{106,"YUJIeshampoo",34,13.50,10703},{107,"Zhonghuajianchibaitoothpaste",34,3.50,10503},{108,"TheromsBottle",34,13.50,1
22、0123},{109,"YingYangKuaiXian",314,3.50,10108},{110,"Farewellquickservednoodle",134,1.50,30106}};</p><p><b> 3.3主要函數(shù)定義</b></p><p><b> 主函數(shù)部分程序代碼</b>&l
23、t;/p><p> scanf("\n%c",&k);</p><p><b> switch(k)</b></p><p> {case 'p':</p><p> printf("請輸入您所選商品的序號(hào)和數(shù)目,并以“,”隔開。請輸入“-1,-1”結(jié)束\n&qu
24、ot;);</p><p> purchase();break;</p><p><b> case 's':</b></p><p> printf("請輸入所要查詢商品的名稱\n");</p><p> search();break;</p><p>
25、; case 'e': exit(0);</p><p><b> default:</b></p><p> printf("輸入信息錯(cuò)誤!\n請輸入字母p或s或e.\n");break;}</p><p><b> 函數(shù)流程圖</b></p><p>
26、 圖3-2 主函數(shù)流程圖</p><p><b> 購物主函數(shù)</b></p><p> void purchase()/*購物主函數(shù)*/</p><p><b> {</b></p><p> int num;/*商品代碼*/</p><p> int n;/*
27、所購數(shù)目*/</p><p><b> int i=0;</b></p><p><b> char l;</b></p><p><b> price1=0;</b></p><p> scanf("%ld,%d",&num,&x)
28、;/*輸入商品代碼和所購數(shù)量*/</p><p> while(i>=0&&i<=9)</p><p><b> {</b></p><p> if(num==ware[i].num)/*找到這種商品*/</p><p> printf("商品名:%s\n,單價(jià):%4.2f\
29、n,所購數(shù)目:%d\n",ware[i].name,ware[i].price,x);</p><p> totalprice=ware[i].price*x;/*計(jì)算單種商品的總價(jià)*/</p><p> ware[i].sale=ware[i].sale-x;</p><p> printf("總價(jià):%4.2f\n",total
30、price);</p><p> price1=price1+totalprice;</p><p> totalprice=0.00;</p><p> scanf("%ld,%d",&num,&x);</p><p><b> n++;</b></p><
31、;p><b> i++;</b></p><p> if(num==-1 && x==-1)</p><p><b> break;</b></p><p><b> }</b></p><p> printf("合計(jì):%4.2f\n&
32、quot;,price1);</p><p> printf("請輸入您要進(jìn)行的購物模式:\n");</p><p> printf(" v : 刷卡服務(wù)\n o : 現(xiàn)金交易\n");</p><p> scanf("%s",&l);/*輸入字母,選擇購物方式*/</p>
33、<p><b> switch(l)</b></p><p><b> {</b></p><p> case'v':printf("會(huì)員購物,享受9折優(yōu)惠\n");VIPSH();break;</p><p> case'o':OSH();break;
34、</p><p> default:printf("輸入信息錯(cuò)誤!\n請輸入字母v或o并注意大小寫。\n");wrong();break;/*和下面的wrong函數(shù)構(gòu)成循環(huán)調(diào)用*/</p><p><b> }</b></p><p> void wrong()/*和上面的switch(l)構(gòu)成循環(huán)調(diào)用*/</p
35、><p><b> {</b></p><p><b> char l;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> scanf("%s&quo
36、t;,&l);</p><p><b> switch(l)</b></p><p><b> {</b></p><p> case'v':printf("會(huì)員購物,享受9折優(yōu)惠\n");VIPSH();break;</p><p> case&
37、#39;o':OSH();break;</p><p> default:printf("輸入信息錯(cuò)誤!\n請輸入字母v或p并注意大小寫。\n");break;</p><p><b> }</b></p><p><b> }</b></p><p><b&
38、gt; }</b></p><p><b> 函數(shù)流程圖</b></p><p> 圖3-3 購物主函數(shù)流程圖</p><p><b> 會(huì)員購物函數(shù)</b></p><p> void VIPSH()/*會(huì)員購物函數(shù)*/</p><p><b&g
39、t; {</b></p><p> int num;/*卡號(hào)*/</p><p><b> int i=0;</b></p><p><b> int code;</b></p><p> printf("請輸入您的卡號(hào):\n");</p>&
40、lt;p> scanf("%ld",&num);</p><p><b> while(1)</b></p><p><b> {</b></p><p> if(num<=100||num>topnum)/*卡號(hào)合法性*/</p><p>&l
41、t;b> {</b></p><p> printf("此卡不存在,請核對(duì)后再次輸入!\n");</p><p> scanf("%ld",&num);</p><p><b> }</b></p><p> else break;</p&
42、gt;<p><b> }</b></p><p> while(i>=0&&i<=9)</p><p><b> {</b></p><p> if(mem[i].num==num)/*查找會(huì)員*/</p><p><b> {<
43、/b></p><p> printf("請輸入密碼:\n");</p><p> scanf("%d",&code);/*鍵入密碼*/</p><p><b> while(1)</b></p><p><b> {</b></p
44、><p> if(code==mem[i].code)/*密碼正確*/</p><p><b> {</b></p><p> money=(float)(price1*0.9);/*會(huì)員價(jià),9折*/</p><p> printf("姓名:%s\n,已消費(fèi)總額:%4.2f\n,卡上余額:%4.2f\n應(yīng)收
45、:%4.2f\n",mem[i].name,mem[i].consume,mem[i].balance,money);</p><p> if(money>mem[i].balance)</p><p> printf("卡上余額不足,請及時(shí)充值\n\n\n");</p><p><b> else {</b
46、></p><p> mem[i].balance=mem[i].balance-money;/*購物成功后,卡上余額修改*/</p><p> mem[i].consume=mem[i].consume+money;/*購物成功后,會(huì)員歷史購物總額修改*/</p><p> printf("刷卡成功,謝謝惠顧\n\n\n");bre
47、ak;/*修改會(huì)員的已消費(fèi)額,卡上余額信息*/</p><p><b> }break;</b></p><p><b> }</b></p><p><b> else {</b></p><p> printf("密碼錯(cuò)誤\n請重新輸入密碼\n\n&quo
48、t;);</p><p> scanf("%d",&code);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b>
49、i++;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 函數(shù)流程圖</b></p><p> 圖3-4 會(huì)員購物函數(shù)流程圖</p><p><b> 一般顧客
50、購物函數(shù)</b></p><p> void OSH()/*一般顧客購物函數(shù)*/</p><p><b> {</b></p><p> if(price1>=200)/*購物金額滿200,調(diào)用提示是否注冊會(huì)員函數(shù)register1()*/</p><p> register1();</p
51、><p> else printf("謝謝惠顧,歡迎下次再來。\n");</p><p><b> }</b></p><p> void register1()/*提示是否注冊會(huì)員函數(shù)*/</p><p><b> {char w;</b></p><p
52、> printf("您的消費(fèi)已滿200元,可以免費(fèi)注冊會(huì)員,是否現(xiàn)在注冊?\n");</p><p> printf(" Y 現(xiàn)在注冊,馬上享受會(huì)員全場9折優(yōu)惠。\n N 暫不注冊。\n");</p><p> scanf("%s",&w);</p><p><b> sw
53、itch(w)</b></p><p> {case 'Y':ban();break;/*調(diào)用注冊會(huì)員函數(shù)*/</p><p> case 'N':printf("謝謝惠顧,歡迎下次再來。\n");;break;}</p><p><b> }</b></p>
54、<p> ban()/*注冊會(huì)員函數(shù)*/</p><p><b> {int i=0;</b></p><p> char vipname[16];</p><p> printf("請輸入您的姓名\n");</p><p> scanf("%s",vipnam
55、e);</p><p> while(mem[i].num!=0)</p><p> {mem[i+1].num=mem[i].num+1;/*增建會(huì)員庫*/</p><p> strcpy(mem[i+1].name,vipname);/*輸入姓名*/</p><p><b> while(1)</b><
56、/p><p> {int code,recode;</p><p> printf("請輸入密碼\n");/*創(chuàng)建密碼*/</p><p> scanf("%d",&code);</p><p> printf("請?jiān)佥斎朊艽a\n");</p><p&
57、gt; scanf("%d",&recode);</p><p> if(code==recode)</p><p> {mem[i+1].code=recode;</p><p> topnum=topnum+1;</p><p> printf("注冊成功!您已成為會(huì)員,即刻起可享受全場9折
58、優(yōu)惠\n");</p><p><b> return 1;</b></p><p><b> }</b></p><p><b> else </b></p><p><b> {</b></p><p> p
59、rintf("兩次輸入密碼不同,請重新輸入\n");</p><p><b> }</b></p><p><b> }</b></p><p><b> i++;</b></p><p> printf("謝謝惠顧,歡迎下次再來。\n&q
60、uot;);</p><p><b> }</b></p><p><b> return 0;</b></p><p><b> }</b></p><p><b> 函數(shù)流程圖</b></p><p> 圖3-5 一般
61、顧客購物流程圖</p><p><b> 查詢商品函數(shù)</b></p><p><b> search()</b></p><p><b> {int i=0;</b></p><p> char str[100];</p><p> scan
62、f("%s",str);</p><p> while(i>=0&&i<=9)</p><p> {if(strcmp(ware[i].name,str)==0)</p><p><b> {</b></p><p> printf("商品名:%s\n,單
63、價(jià):%4.2f\n,位置:%d\n,剩余量:%d\n\n\n", ware[i].name, ware[i].price, ware[i].location, ware[i].sale);return 0;</p><p><b> }</b></p><p><b> i++;</b></p><p>&l
64、t;b> }</b></p><p> printf("對(duì)不起,我們超市暫無此商品!\n\n\n");</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> 函數(shù)流程圖</
65、b></p><p> 圖3-7 商品查詢流程圖</p><p><b> 3.4編碼與調(diào)試</b></p><p> 根據(jù)主要的流程圖,函數(shù)功能,進(jìn)行錄入源代碼操作。在編碼時(shí),注意代碼的書寫規(guī)范,包括命名慣例、注釋、分隔和縮進(jìn)等,使程序?qū)哟吻逦?,增?qiáng)可讀性和維護(hù)性。編碼操作完成后,先靜態(tài)檢查一下有沒有語法錯(cuò)誤,然后進(jìn)行編譯,更深一
66、步檢查語法錯(cuò)誤。待編譯通過時(shí)運(yùn)行程序,觀察是否能夠正常運(yùn)行,若有問題,再去修改源程序,直到達(dá)到預(yù)期的效果。</p><p><b> 3.5使用說明</b></p><p> 顧客進(jìn)入購物系統(tǒng)主界面,通過輸入相應(yīng)字符選擇服務(wù)項(xiàng)目p:購物;s:查詢;e:退出。(如圖)</p><p> 圖3-8 進(jìn)入主界面</p><p
67、> 顧客進(jìn)入購物環(huán)境后,通過輸入商品名和所夠數(shù)目得到總價(jià),輸入(-1,-1)結(jié)束。如果是會(huì)員,輸入卡號(hào)和密碼,享受9折優(yōu)惠!(如圖)</p><p> 圖3-9 會(huì)員購物界面</p><p> 普通顧客若小費(fèi)滿200元可免費(fèi)注冊,通過鍵入Y/N選擇是否注冊。(如圖)</p><p> 圖3-10 普通顧客購物和注冊</p><p&g
68、t; 顧客進(jìn)入商品查詢環(huán)境后,通過鍵入商品名可以了解商品的基本信息,商品名,商品代碼,單價(jià),剩余數(shù)量,位置。(如圖)</p><p> 圖3-11 商品查詢</p><p><b> 3.5運(yùn)行界面 </b></p><p><b> 會(huì)員購物截圖如下:</b></p><p> 圖3-1
69、2 會(huì)員某次購物和查詢截圖</p><p> 一般顧客購物截圖如下:</p><p> 圖3-13 一般顧客某次購物和注冊截圖</p><p> 第四章 課程設(shè)計(jì)心得與體會(huì)</p><p> 通過這三周的課程設(shè)計(jì),我通過運(yùn)用自己過去所學(xué)的C語言只是,獨(dú)立自主完成了一個(gè)較大的C語言程序設(shè)計(jì),以及按照要求,認(rèn)真完成了課程設(shè)計(jì)的報(bào)告。<
70、;/p><p> 回憶著三周的自己動(dòng)手編寫,調(diào)試,修改,我的收獲,很大對(duì)C語言有了更進(jìn)一步的認(rèn)識(shí)和了解。首先,通過這次課程設(shè)計(jì),我熟練的掌握并運(yùn)用了所學(xué)的知識(shí)進(jìn)行了編程,而且取得了較大的成功,這大大激發(fā)了我對(duì)編程的興趣;其次,在涉及的過程中所遇到的困難,我都認(rèn)真的去思考,和同學(xué)以及老師交流,或者利用網(wǎng)上資源來獲取幫助,了解解決辦法。通過各種渠道,完善所學(xué)到的東西。最后,我了解到了軟件開發(fā)的答題過程和各個(gè)必要的步驟,
71、這對(duì)我將來的學(xué)習(xí)和應(yīng)用都是很有幫助的。也讓我了解到,要想學(xué)好C,重在實(shí)踐,要通過不斷的上機(jī)操作才能更好地學(xué)習(xí)它,通過實(shí)踐,我也發(fā)現(xiàn)我的好多不足之處,首先是自己在指法上還不行,經(jīng)常按錯(cuò)字母,通過學(xué)習(xí)也有所改進(jìn);再有對(duì)C語言的一些標(biāo)準(zhǔn)庫函數(shù)不太了解,還有對(duì)函數(shù)調(diào)用的正確使用不夠熟悉,還有對(duì)C語言中經(jīng)常出現(xiàn)的錯(cuò)誤也不了解,通過實(shí)踐,使我在這幾個(gè)方面的認(rèn)識(shí)有所提高。</p><p> 通過實(shí)踐的學(xué)習(xí),我認(rèn)到學(xué)好計(jì)算機(jī)要
72、重視實(shí)踐操作,不僅僅是學(xué)習(xí)C語言,還是其它的語言,以及其它的計(jì)算機(jī)方面的知識(shí)都要重在實(shí)踐,所以后在學(xué)習(xí)過程中,我會(huì)更加注視實(shí)踐操作,使自己便好地學(xué)好計(jì)算機(jī)。 </p><p> 對(duì)于計(jì)算機(jī)專業(yè)的大學(xué)生來說,積累實(shí)戰(zhàn)經(jīng)驗(yàn)是一項(xiàng)極其重要的內(nèi)容,很可能成為將來就業(yè)的敲門磚。而程序設(shè)計(jì)綜合課程設(shè)計(jì)就是積累實(shí)戰(zhàn)經(jīng)驗(yàn)的一個(gè)過程,雖然程序的規(guī)模不是很大,但是能夠讓我們盡早的認(rèn)識(shí)軟件開發(fā)的重要性和必要性,為將來的就業(yè)打下堅(jiān)實(shí)的
73、基礎(chǔ)。</p><p><b> 附錄一 參考文獻(xiàn)</b></p><p> [1].譚浩強(qiáng):《C程序設(shè)計(jì)》,清華大學(xué)出版社,2005年7月第三版</p><p> [2].譚浩強(qiáng):《C++程序設(shè)計(jì)》,清華大學(xué)出版社,2004年6月第一版</p><p> [3].高林 周海燕:《數(shù)據(jù)庫技術(shù)》,人民郵電出版社,2
74、004年1月第一版</p><p> [4].(美)戴特爾(Deitel,H.M.)等編著,張引等譯:《C++大學(xué)基礎(chǔ)教程(第五版)》,北京:電子工業(yè)出版社,2006年6月</p><p> [5].夏云慶:《Visual C++ 6.0數(shù)據(jù)庫高級(jí)編程》,北京希望電子出版社 2002年</p><p><b> 附錄二 程序代碼</b>&
75、lt;/p><p> #include<stdio.h></p><p> #include<process.h></p><p> #include<string.h></p><p> float price,money;</p><p> int topnum=1010;
76、</p><p><b> int x;</b></p><p> float price1=0.00;</p><p> float totalprice;/*單種商品總價(jià)*/</p><p> struct VIP/*會(huì)員信息*/</p><p> {int num;/*卡號(hào)*/&l
77、t;/p><p> int code;/*密碼*/</p><p> char name[20];/*姓名*/</p><p> float balance;/*卡上余額*/</p><p> float consume;/*以消費(fèi)總額*/</p><p><b> };</b></p
78、><p> struct VIP mem[]={{1001,1001,"Feng Wen Hui",1000.00,0.00},{1002,1002,"Zhou Cheng Hui",1000.00,0.00},{1003,1003,"Xu Hong Yuan",1000.00,0.00},{1004,1004,"Xie Yu Lin"
79、,1000.00,0.00},{1005,1005,"Zhang Fu Qiang",1000.00,0.00},{1006,1006,"He Han Lin",1000.00,0.00},{1007,1007,"Zhang Fan",1000.00,0.00},{1008,1008,"Li Ji Yan",1000.00,0.00},{1009,1009,
80、"Zhao Liang Wei",1000.00,0.00},{1010,1010,"Qi Jun",1000.00,0.00}};</p><p> struct Goods/*商品信息*/</p><p> {int num;/*商品代碼*/</p><p> char name[50];/*商品名*/</p&
81、gt;<p> int sale;/*數(shù)量*/</p><p> float price;/*單價(jià)*/</p><p> int location;/*位置*/</p><p><b> };</b></p><p> struct Goods ware[]={{101,"HuiYuan
82、GuoZhi",34,3.50,10103},{102,"KeBiKe",34,4.50,10203},{103,"KangShiFuTea",34,2.50,20103},{104,"DiaoPaiwashing-powder",34,3.50,10113},{105,"LuoJImouse",34,110.50,20203},{106,&quo
83、t;YUJIeshampoo",34,13.50,10703},{107,"Zhonghuajianchibaitoothpaste",34,3.50,10503},{108,"TheromsBottle",34,13.50,10123},{109,"YingYangKuaiXian",314,3.50,10108},{110,"Farewellquicks
84、ervednoodle",134,1.50,30106}};</p><p> float totalmoney;</p><p> void purchase();/*購物函數(shù)*/</p><p> search();/*查找函數(shù)*/</p><p> void VIPSH();/*會(huì)員購物*/</p>&l
85、t;p> void OSH(); /*普通購物*/</p><p> void wrong();</p><p> void register1();</p><p><b> ban();</b></p><p> void main()/*主函數(shù)*/</p><p><b
86、> {char k;</b></p><p> printf("**************************國際大超市,歡迎您的光臨************************\n\n\n");</p><p><b> while(1)</b></p><p><b> {&
87、lt;/b></p><p> printf(" *************************請選擇您所需要的服務(wù)*********************** \n\n p:購物\n s:查詢\n
88、 e:退出\n");</p><p> scanf("\n%c",&k);</p><p><b> switch(k)</b></p><p><b> {</b></p><p><b> case '
89、;p':</b></p><p> printf("請輸入您所選商品的序號(hào)和數(shù)目,并以“,”隔開。請輸入“-1,-1”結(jié)束\n");</p><p> purchase();</p><p><b> break;</b></p><p><b> case
90、39;s':</b></p><p> printf("請輸入所要查詢商品的名稱\n");</p><p><b> search();</b></p><p><b> break;</b></p><p><b> case 'e
91、':</b></p><p><b> exit(0);</b></p><p><b> default:</b></p><p> printf("輸入信息錯(cuò)誤!\n請輸入字母p或s或e.\n");break;</p><p><b>
92、}</b></p><p><b> }</b></p><p><b> }</b></p><p> void purchase()</p><p><b> {int num;</b></p><p><b> in
93、t n;</b></p><p><b> int i=0;</b></p><p><b> char l;</b></p><p><b> price1=0;</b></p><p> scanf("%ld,%d",&num
94、,&x);/*輸入商品代碼和所購數(shù)量*/</p><p> while(i>=0&&i<=9)</p><p><b> {</b></p><p> if(num==ware[i].num)/*找到這種商品*/</p><p> printf("商品名:%s\n,單
95、價(jià):%4.2f\n,所購數(shù)目:%d\n",ware[i].name,ware[i].price,x);</p><p> totalprice=ware[i].price*x;/*計(jì)算單種商品的總價(jià)*/</p><p> ware[i].sale=ware[i].sale-x;</p><p> printf("總價(jià):%4.2f\n&quo
96、t;,totalprice);</p><p> price1=price1+totalprice;</p><p> totalprice=0.00;</p><p> scanf("%ld,%d",&num,&x);</p><p><b> n++;</b></p&
97、gt;<p><b> i++;</b></p><p> if(num==-1 && x==-1)</p><p><b> break;</b></p><p><b> }</b></p><p> printf("合計(jì):
98、%4.2f\n",price1);</p><p> printf("請輸入您要進(jìn)行的購物模式:\n");</p><p> printf(" v : 刷卡服務(wù)\n o : 現(xiàn)金交易\n");</p><p> scanf("%s",&l);</p><p&g
99、t;<b> switch(l)</b></p><p><b> {</b></p><p> case'v':printf("會(huì)員購物,享受9折優(yōu)惠\n");VIPSH();break;</p><p> case'o':OSH();break;</p&
100、gt;<p> default:printf("輸入信息錯(cuò)誤!\n請輸入字母v或o并注意大小寫。\n");wrong();break;/*和下面的wrong函數(shù)構(gòu)成循環(huán)調(diào)用*/</p><p><b> }</b></p><p><b> }</b></p><p> void
101、wrong()</p><p><b> {char l;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> scanf("%s",&l);</p><p&
102、gt;<b> switch(l)</b></p><p><b> {</b></p><p> case'v':printf("會(huì)員購物,享受9折優(yōu)惠\n");VIPSH();break;</p><p> case'o':OSH();break;</p
103、><p> default:printf("輸入信息錯(cuò)誤!\n請輸入字母v或p并注意大小寫。\n");break;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p>&
104、lt;p> void VIPSH()/*會(huì)員購物函數(shù)*/</p><p><b> {</b></p><p><b> int num;</b></p><p><b> int i=0;</b></p><p><b> int code;<
105、/b></p><p> printf("請輸入您的卡號(hào):\n");</p><p> scanf("%ld",&num);</p><p><b> while(1)</b></p><p><b> {</b></p>
106、<p> if(num<=100||num>topnum)</p><p><b> {</b></p><p> printf("此卡不存在,請核對(duì)后再次輸入!\n");</p><p> scanf("%ld",&num);</p><p>
107、;<b> }</b></p><p> else break;</p><p><b> }</b></p><p> while(i>=0&&i<=9)</p><p><b> {</b></p><p>
108、if(mem[i].num==num)/*查找會(huì)員*/</p><p><b> {</b></p><p> printf("請輸入密碼:\n");</p><p> scanf("%d",&code);</p><p><b> while(1)<
109、;/b></p><p><b> {</b></p><p> if(code==mem[i].code)/*密碼正確*/</p><p><b> {</b></p><p> money=(float)(price1*0.9);/*會(huì)員價(jià),9折*/</p><
110、p> printf("姓名:%s\n,已消費(fèi)總額:%4.2f\n,卡上余額:%4.2f\n應(yīng)收:%4.2f\n",mem[i].name,mem[i].consume,mem[i].balance,money);</p><p> if(money>mem[i].balance)</p><p> printf("卡上余額不足,請及時(shí)充值\n
111、\n\n");</p><p><b> else {</b></p><p> mem[i].balance=mem[i].balance-money;</p><p> mem[i].consume=money;</p><p> printf("刷卡成功,謝謝惠顧\n\n\n"
112、);break;/*修改會(huì)員的已消費(fèi)額,卡上余額信息*/</p><p><b> }break;</b></p><p><b> }</b></p><p><b> else {</b></p><p> printf("密碼錯(cuò)誤\n請重新輸入密碼\n\
113、n");</p><p> scanf("%d",&code);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b&
114、gt; i++;</b></p><p><b> }</b></p><p><b> }</b></p><p> void OSH()</p><p><b> {</b></p><p> if(price1>=20
115、0)</p><p> register1();</p><p> else printf("謝謝惠顧,歡迎下次再來。\n");</p><p><b> }</b></p><p> void register1()</p><p><b> {</
116、b></p><p><b> char w;</b></p><p> printf("您的消費(fèi)已滿200元,可以免費(fèi)注冊會(huì)員,是否現(xiàn)在注冊?\n");</p><p> printf(" Y 現(xiàn)在注冊,馬上享受會(huì)員全場9折優(yōu)惠。\n N 暫不注冊。\n");</p><
117、;p> scanf("%s",&w);</p><p><b> switch(w)</b></p><p> {case 'Y':ban();break;</p><p> case 'N':printf("謝謝惠顧,歡迎下次再來。\n");;bre
118、ak;</p><p><b> }</b></p><p><b> }</b></p><p><b> ban()</b></p><p><b> {</b></p><p><b> int i=0;&
119、lt;/b></p><p> char vipname[16];</p><p> printf("請輸入您的姓名\n");</p><p> scanf("%s",vipname);</p><p> while(mem[i].num!=0)</p><p>&
120、lt;b> {</b></p><p> mem[i+1].num=mem[i].num+1;/*增建會(huì)員庫*/</p><p> strcpy(mem[i+1].name,vipname);/*輸入姓名*/</p><p><b> while(1)</b></p><p><b>
121、 {</b></p><p> int code,recode;</p><p> printf("請輸入密碼\n");</p><p> scanf("%d",&code);</p><p> printf("請?jiān)佥斎朊艽a\n");</p>
122、<p> scanf("%d",&recode);</p><p> if(code==recode)</p><p><b> {</b></p><p> mem[i+1].code=recode;</p><p> topnum=topnum+1;</p&g
123、t;<p> printf("注冊成功!您已成為會(huì)員,即刻起可享受全場9折優(yōu)惠\n");</p><p><b> return 1;</b></p><p><b> }</b></p><p><b> else </b></p><p
124、><b> {</b></p><p> printf("兩次輸入密碼不同,請重新輸入\n");</p><p><b> }</b></p><p><b> }</b></p><p><b> i++;</b>&l
125、t;/p><p> printf("謝謝惠顧,歡迎下次再來。\n");</p><p><b> }</b></p><p><b> return 0;</b></p><p><b> }</b></p><p><b&
126、gt; search()</b></p><p><b> {</b></p><p><b> int i=0;</b></p><p> char str[100];</p><p> scanf("%s",str);</p><p&
127、gt; while(i>=0&&i<=9)</p><p><b> {</b></p><p> if(strcmp(ware[i].name,str)==0)</p><p><b> {</b></p><p> printf("商品名:%s\n
128、,單價(jià):%4.2f\n,位置:%d\n,剩余量:%d\n\n\n", ware[i].name, ware[i].price, ware[i].location, ware[i].sale);return 0;</p><p><b> }</b></p><p><b> i++;</b></p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)--超市管理系統(tǒng)
- 超市管理系統(tǒng)課程設(shè)計(jì)
- 超市小型管理系統(tǒng)課程設(shè)計(jì)
- 超市收銀管理系統(tǒng)課程設(shè)計(jì)
- vbsql超市管理系統(tǒng)課程設(shè)計(jì)
- 超市管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)---超市收銀管理系統(tǒng)設(shè)計(jì)
- 超市收銀管理系統(tǒng)設(shè)計(jì)課程設(shè)計(jì)
- 超市管理系統(tǒng)開發(fā)課程設(shè)計(jì)
- 超市銷售管理系統(tǒng)--課程設(shè)計(jì)報(bào)告
- c課程設(shè)計(jì)報(bào)告-超市管理系統(tǒng)
- 超市會(huì)員管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告--超市購物小推車仿真分析
- 超市收銀系統(tǒng)課程設(shè)計(jì)
- 超市管理信息系統(tǒng)課程設(shè)計(jì)
- 軟件工程課程設(shè)計(jì)-超市管理系統(tǒng)
- 軟件工程課程設(shè)計(jì)---超市管理系統(tǒng)
- 課程設(shè)計(jì)--網(wǎng)上購物系統(tǒng)
- 管理信息系統(tǒng)課程設(shè)計(jì)--超市管理系統(tǒng)
- 管理信息系統(tǒng)課程設(shè)計(jì)---超市管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論