自動(dòng)飲料售貨機(jī)(C語(yǔ)言程序設(shè)計(jì))_第1頁(yè)
自動(dòng)飲料售貨機(jī)(C語(yǔ)言程序設(shè)計(jì))_第2頁(yè)
自動(dòng)飲料售貨機(jī)(C語(yǔ)言程序設(shè)計(jì))_第3頁(yè)
自動(dòng)飲料售貨機(jī)(C語(yǔ)言程序設(shè)計(jì))_第4頁(yè)
自動(dòng)飲料售貨機(jī)(C語(yǔ)言程序設(shè)計(jì))_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

源碼在后面!一、需求分析形式記錄購(gòu)置數(shù)據(jù),能起到節(jié)約人力、削減本錢的目的。二、總體設(shè)計(jì)自動(dòng)飲料售貨機(jī)系統(tǒng)理系統(tǒng)查詢銷售額查詢剩余數(shù)量自動(dòng)飲料售貨機(jī)系統(tǒng)理系統(tǒng)查詢銷售額查詢剩余數(shù)量補(bǔ)貨選記登投擇找錄錄幣飲幣數(shù)界料據(jù)面圖一總體設(shè)計(jì)概念圖三、具體設(shè)計(jì)治理員模塊銷售界面幾大操作。治理員模塊的功能構(gòu)造圖,如下:治理員治理員輸入密碼選擇商品信息銷售額信息查貨物補(bǔ)充操作完畢顧客購(gòu)置模塊

3.1治理員操作流程圖用戶模塊主要是銷售商品的界面。銷售商品的整個(gè)過程是,用戶投入貨面來看一下用戶模塊的流程。用戶用戶投幣選擇...飲...飲飲料料料add飲料和零錢3.2顧客購(gòu)置飲料流程圖四、系統(tǒng)調(diào)試分析它的的任務(wù)是盡可能徹底地檢查出程序中的錯(cuò)誤,提高軟件系統(tǒng)的牢靠性,個(gè)模塊的程序是否有錯(cuò)誤;組裝測(cè)試,測(cè)試模塊之間的接口是否正確:確認(rèn)測(cè)試,合或與之沖突的地方。系統(tǒng)啟動(dòng)主界面如圖,由用戶選擇執(zhí)行某一個(gè)操作。4.1顧客購(gòu)置飲料操作測(cè)試在主界面下,輸入口令“1”,進(jìn)入購(gòu)置飲料模塊。4.2.1購(gòu)置操作菜單圖此后,由顧客投幣、選擇、退出找?guī)诺韧瓿少?gòu)置指定飲料的操作。4.2.2購(gòu)置操作完成圖治理員登錄界面“1”,進(jìn)入治理員登錄界面,正確輸入密碼后進(jìn)入治理員操作系統(tǒng)。銷售量查詢功能測(cè)試

圖4.3治理員登錄界面圖1飲料的剩余量及銷售量。4.4銷售量查詢例如圖銷售額查詢功能測(cè)試在治理員界面下,輸入口令“2此臺(tái)機(jī)器近期的總銷售額。補(bǔ)貨功能測(cè)試

4.5銷售額查詢例如圖在治理員界面下,輸入口令“2進(jìn)展補(bǔ)充機(jī)器內(nèi)飲料數(shù)量操作。完畢程序測(cè)試

4.6補(bǔ)貨操作例如圖3五、總結(jié)爭(zhēng)論過程接到爭(zhēng)論型學(xué)習(xí)任務(wù)后,我們四個(gè)同學(xué)組成了小組進(jìn)展探究。首先我們先具體分析爭(zhēng)論了整個(gè)系統(tǒng)需要完成的功能細(xì)節(jié),并考慮了實(shí)現(xiàn)的方法。一開頭我們的方法不夠優(yōu)化,我們通過查閱一些資料,得到了的方法,拓的程序。感悟平和專業(yè)技能的重要途徑。源代碼:#include<stdio.h>#include<string.h>#include<stdlib.h>#defineN6voidmenu //主界面{printf(“\n\t*************************************“);printf(“\n\t** 飲料自動(dòng)售貨機(jī) **“);printf(“\n\t*************************************“);printf(“\n\t*************************************“);printf(“\n\t** 操作1:購(gòu)置飲料 printf(“\n\t** 操作2:治理員操作系統(tǒng) printf(“\n\t** 操作3:退出主界面 printf(“\n\t*************************************“);printf(“\n\t請(qǐng)選擇您要進(jìn)展的操作:“);}structdrink //定義構(gòu)造體{charname[10]; //飲料名數(shù)組intnumber; //飲料庫(kù)存量intcount; //飲料銷售量//飲料價(jià)格}dr[N];voidReaddr //讀入文件,賦值構(gòu)造體變量數(shù)據(jù){inti;FILE*fp;fp=fopen(“d:\\飲料.txt“,“r“); //翻開文件if(fp==NULL){printf(“文件讀取失敗\n“);exit(0);}for(i=0;i<N;i++)fscanf(fp,“%s%d%d%f“,&dr[i].name,&dr[i].number,&dr[i].count,&dr[i].price);fclose(fp); //關(guān)閉文件}voidSavedr //程序完畢時(shí)寫入文件{inti;FILE*fp;fp=fopen(“d:\\飲料.txt“,“w“); //翻開文件if(fp==NULL){printf(“文件讀取失敗\n“);exit(0);}for(i=0;i<N;i++)fprintf(fp,“%s\t%d\t%d\t%.2f\n“,dr[i].name,dr[i].number,dr[i].count,dr[i].price);fclose(fp); //關(guān)閉文件}floatbuy //顧客購(gòu)置系統(tǒng){floatmoney;intn,op;inti,j;printf(“\n\t*************************************“);printf(“\n\t** 顧客,您好! **“);printf(“\n\t*************************************“);printf(“\n\t1.礦泉水〔2元〕\t2.冰紅茶〔3.5元〕\t3.脈動(dòng)〔4元〕“);printf(“\n\t4.可樂〔3元〕 \t5.雪碧〔3元) \t6.橙汁〔3.5元〕“);printf(“\n\t*************************************“);while(1){n〔只承受硬幣和50元紙幣scanf(“%f“,&money);if(money<=10&&money>0){do{printf(“\n請(qǐng)選擇您需要購(gòu)置的飲料編號(hào):“);scanf(“%d“,&n);switch(n){case1:if(dr[0].number<1||money<2.0){printf(“\n庫(kù)存或者投幣缺乏,購(gòu)置失??!“);break;}printf(“\n購(gòu)置成功!請(qǐng)取出您的飲料!“);money-=dr[0].price;dr[0].number--;dr[0].count++;printf(“剩余金額:%.2f元“,money);break;case2:if(dr[1].number<1||money<3.5){printf(“\n庫(kù)存或者投幣缺乏,購(gòu)置失??!“);break;}printf(“\n購(gòu)置成功!請(qǐng)取出您的飲料!“);money-=dr[1].price;dr[1].number--;dr[1].count++;printf(“剩余金額:%.2f元“,money);break;case3:if(dr[2].number<1||money<4.0){printf(“\n庫(kù)存或者投幣缺乏,購(gòu)置失??!“);break;}printf(“\n購(gòu)置成功!請(qǐng)取出您的飲料!“);money-=dr[2].price;dr[2].number--;dr[2].count++;printf(“剩余金額:%.2f元“,money);break;case4:if(dr[3].number<1||money<3.0){printf(“\n庫(kù)存或者投幣缺乏,購(gòu)置失?。 ?;break;}printf(“\n購(gòu)置成功!請(qǐng)取出您的飲料!“);money-=dr[3].price;dr[3].number--;dr[3].count++;printf(“剩余金額:%.2f元“,money);break;case5:if(dr[4].number<1||money<3.0){printf(“\n庫(kù)存或者投幣缺乏,購(gòu)置失??!“);break;}printf(“\n購(gòu)置成功!請(qǐng)取出您的飲料!“);money-=dr[4].price;dr[4].number--;dr[4].count++;printf(“剩余金額:%.2f元“,money);break;case6:if(dr[5].number<1||money<3.5){printf(“\n庫(kù)存或者投幣缺乏,購(gòu)置失?。 ?;break;}printf(“\n購(gòu)置成功!請(qǐng)取出您的飲料!“);money-=dr[5].price;dr[5].number--;dr[5].count++;printf(“剩余金額:%.2f元“,money);break;default:printf(“\n}printf(“\n是否連續(xù)購(gòu)置:1.連續(xù)購(gòu)置 2.退出\n“);scanf(“%d“,&op);}while(op!=2);break;}elseprintf(“\n投幣發(fā)生錯(cuò)誤,請(qǐng)重投幣!“);}if(op==2){i=money;j=(money-i)/0.5;printf(“\n找您%d枚1元硬幣,%d枚5角硬幣?!?i,j);printf(“\n\n\t*************************************“);printf(“\n\t** 歡送再次光臨! printf(“\n\t*************************************\n“);system(“pause“);system(“cls“); //清屏}returnmoney;}intenter //治理員登錄系統(tǒng){intcount=3,lock=0;chara[8],b[]={“aaa123“};printf(“\n\t*************************************“);printf(“\n\t** 治理員登錄頁(yè) printf(“\n\t*************************************“);while(count--){printf(“\n請(qǐng)輸入密碼:\n“);gets(a);if(strcmp(a,b0) //推斷密碼是否正確{}else{}}

lock1; //正確,lock等于1break;printf(“密碼錯(cuò)誤,請(qǐng)重輸入!“);continue;if(lock==0)printf(“您已輸錯(cuò)三次,將返回主界面!“);returnlock;}//補(bǔ)貨系統(tǒng){inti,addition;printf(“\n請(qǐng)依據(jù)飲料標(biāo)號(hào)輸入每種增加的數(shù)量:\n“);for(i0;i<N;i++){printf(“%s:“,dr[i].name);scanf(“%d“,&addition);dr[i].number+=addition;}printf(“\n現(xiàn)在設(shè)備內(nèi)飲料數(shù)分別為:“);for(i=0;i<N;i++)printf(“%s:%d瓶 “,dr[i].name,dr[i].number);}voidwork //治理員操作系統(tǒng){intop,i,n;floattotal=0,all_total=0;system(“cls“); //清屏printf(“\n您好,治理員!“);printf(“\n\t************************************************“);printf(“\n\t** 操作1.查詢所售飲料數(shù)量 **“);printf(“\n\t** 操作2.查詢銷售額 **“);printf(“\n\t** 操作3.補(bǔ)貨 **“);printf(“\n\t************************************************\n“);do{printf(“請(qǐng)選擇您要進(jìn)展的操作:“);scanf(“%d“,&op);switch(op){case1:printf(“\n以下為各飲料售出數(shù)量統(tǒng)計(jì):“);printf(“\n\t名稱\t\t銷售量〔瓶〕\t\t剩余量〔瓶〕“);for(i=0;i<N;i++)printf(“\n\t%-8s\t%d\t\t\t%d“,dr[i].name,dr[i].count,dr[i].number);break;case2:printf(“\n近日此臺(tái)機(jī)器的銷售總額為: “);for(i=0;i<N;i++){total=dr[i].count*dr[i].price;all_total+=total;}printf(“%.2f元“,all_total);break;case3:add;break;default:printf(“\n您輸入的編號(hào)錯(cuò)誤!“);}printf(“\n\n是否退回主界面:1.是\t2.否\n“);scanf(“%d“,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論