C++餐廳管理系統(tǒng).doc_第1頁
C++餐廳管理系統(tǒng).doc_第2頁
C++餐廳管理系統(tǒng).doc_第3頁
C++餐廳管理系統(tǒng).doc_第4頁
C++餐廳管理系統(tǒng).doc_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

北華大學(xué)C+課程實習(xí)報告餐廳點菜系統(tǒng) 學(xué) 院:電氣信息工程學(xué)院 專 業(yè):電子信息工程 班 級: 學(xué) 號: 姓 名: 指導(dǎo)教師: 餐廳點菜系統(tǒng)一、 需求分析1、 該程序?qū)τ诓蛷d菜單進行管理,顯示所有菜,顧客可以點餐廳的所有菜,也可以按類查找,自動生成菜單,自動計算消費金額,可以使用優(yōu)惠劵2、 顯示菜的編號、菜名、類別和單價3、 菜可以按類查找:炒菜、炒飯和面類4、 點菜a)增加點菜b)刪除一個點菜c)輸出點菜信息并保存d)計算消費金額 優(yōu)惠卷 1)金額優(yōu)惠 2)打折優(yōu)惠二、 設(shè)計實現(xiàn)該餐廳點菜系統(tǒng)共有兩個類和一個構(gòu)造函數(shù),Cmenu 類(菜的屬性)和array類 (菜的數(shù)組),與函數(shù)youhui(計算有優(yōu)惠卷時的價格)在Cmenu類中,定義:name 菜的編號,name 菜名,price 菜的單價,kind 菜的種類,sort 菜的數(shù)量,函數(shù)getnum 錄入菜的編號函數(shù)實現(xiàn):函數(shù) getname 實現(xiàn):錄入菜的名字,函數(shù) getprice 實現(xiàn):錄入菜的單價,函數(shù) getkind 實現(xiàn):錄入菜的類別,函數(shù) getsort 實現(xiàn):錄入所點菜的數(shù)量,函數(shù) menudisplay 實現(xiàn):菜譜顯示, 函數(shù)selectdisplay 實現(xiàn):對所點的菜進行輸出,函數(shù) returnnum 實現(xiàn):返回菜的編號,函數(shù) returnname 實現(xiàn):返回菜名,函數(shù) returnprice 實現(xiàn):返回菜的單價,函數(shù) returnkind 實現(xiàn):返回菜的類別,函數(shù) returnsort 實現(xiàn):返回菜的數(shù)量。在array類中,定義:sort 菜的類別,num 菜的數(shù)量函數(shù)實現(xiàn):函數(shù) getnum 實現(xiàn):初始化num,函數(shù) getsort 實現(xiàn):初始化sort,函數(shù) returnnum 實現(xiàn):返回num,函數(shù) returnsort 實現(xiàn):返回sort主函數(shù)main的運行流程圖:退出界面getnum( )getsort( )returnnum( )returnsort( )selectdisplay( )file(“select.txt”)returnprice( )returnsort( )returnkind( )youhui( )點菜array類菜單顯示menudisplay()()按類查找returnkind()201顯示界面選擇操作定義變量:Int sort,geshu,NUMString NAME,KIND文件輸入菜單信息f1(“menu.txt”)開始三、 測試結(jié)果首頁:菜的信息:按類查找:炒菜炒飯面類點菜菜的信息:增加點菜:刪除點菜:計算消費金額:1、沒有擁有優(yōu)惠卷2、 擁有優(yōu)惠卷:a)20元的優(yōu)惠卷b) 0.85折優(yōu)惠卷退出系統(tǒng):四、 結(jié)論及需改進的問題餐廳點菜系統(tǒng)是在圖書管理系統(tǒng)的基礎(chǔ)上,慢慢自己改進的,其中增加點菜,刪除點菜,輸出菜單,按類查詢都是按照圖書管理系統(tǒng)中增加圖書,刪除圖書,顯示圖書,按類查詢中改進的,其中最重要的是菜單的錄用,自己想了很多方法,最后用文本輸入函數(shù)做的,把菜單完全的輸入進去,還有一點新穎的地方,源于優(yōu)惠劵的使用,不僅可以使用金額的優(yōu)惠,并且還會使用打折卷的優(yōu)惠,雖然這里面的算法很簡單,但是增加的程序的實用性。我感覺不足的是,應(yīng)該有一個會進人后臺的功能,進去可以增加菜單里的菜,刪除菜,更改類別和金額,更方便餐廳的管理者,當(dāng)然進人的時候,加入管理員密碼。餐廳點菜系統(tǒng)C+代碼#include #include #include#include using namespace std;class Cmenu /創(chuàng)建Cmenu類 菜的屬性 int num; /菜的編號 string name; /菜名 float price; /菜的單價 string kind; /菜的種類 int sort; /菜的數(shù)量public: void getnum(int i); /錄入菜的編號 void getname(string Name); /錄入菜的名字 void getprice(float Price); /錄入菜的單價 void getkind(string Kind); /錄入菜的類別 void getsort(int SORT); /錄入所點菜的數(shù)量 void menudisplay(); /菜譜顯示 void selectdisplay(); /對所點的菜進行輸出 float returnnum() /返回菜的編號 return num; string returnname() /返回菜名 return name; float returnprice() /返回菜的單價 return price; string returnkind() /返回菜的類別 return kind; int returnsort() /返回菜的數(shù)量 return sort; ;void Cmenu:getnum(int i) /錄入菜的編號函數(shù) num=i;void Cmenu:getname(string Name) /錄入菜的名字 name=Name;void Cmenu:getprice(float Price) /錄入菜的單價 price=Price;void Cmenu:getkind(string Kind) /錄入菜的類別 kind=Kind; void Cmenu:getsort(int SORT) / 錄入所點菜的數(shù)量 sort=SORT; void Cmenu:menudisplay() /菜單的信息顯示coutsetw(3)numsetw(22)namesetw(16)kindsetw(16)priceendl; void Cmenu:selectdisplay() /對所點的菜進行輸出coutsetw(3)numsetw(24)namesetw(16)kindsetw(16)pricesetw(19)sort1.0) sum=sum-point;if(point=1.0)sum=sum*point; return sum;class array /創(chuàng)建一個array數(shù)組 public:void getnum(int NUM); /初始化num的函數(shù) void getsort(int SORT); /初始化sort的函數(shù) int returnnum() /返回num的函數(shù) return num; int returnsort() /返回sort的函數(shù) return sort; private: int sort,num;void array:getnum(int NUM) /初始化num的函數(shù)體 num=NUM;void array:getsort(int SORT) /初始化sort的函數(shù)體sort=SORT;void main() /主函數(shù)int i,id,m,q,z,sort,b;char j; int geshu;int NUM; string NAME,KIND;float PRICE,POINT,sum=0;Cmenu food40; /創(chuàng)建Cmenu類的對象數(shù)組 ifstream f1(menu.txt); /文件輸入菜單信息 for(j=0;jNUM;f1KIND;f1NAME;f1PRICE; foodj.getnum(NUM);foodj.getkind(KIND); foodj.getname(NAME); foodj.getprice(PRICE);food0.getnum(1);food0.getkind(炒菜); food0.getname(麻辣豆腐); food0.getprice(8);food1.getnum(2);food1.getkind(炒菜); food1.getname(燒茄子); food1.getprice(10);food2.getnum(3);food2.getkind(炒菜); food2.getname(香辣肉絲); food2.getprice(15);food3.getnum(4);food3.getkind(炒菜); food3.getname(鍋包肉); food3.getprice(15);food4.getnum(5);food4.getkind(炒飯); food4.getname(蛋炒飯); food4.getprice(5);food5.getnum(6);food5.getkind(炒飯); food5.getname(揚州炒飯); food5.getprice(6);food6.getnum(7);food6.getkind(炒飯); food6.getname(火腿炒飯); food6.getprice(6);food7.getnum(8);food7.getkind(炒飯); food7.getname(魷魚炒飯); food7.getprice(7);food8.getnum(9);food8.getkind(面類); food8.getname(刀削面); food8.getprice(5);food9.getnum(10);food9.getkind(面類); food9.getname(羊肉面); food9.getprice(8);food10.getnum(11);food10.getkind(面類); food10.getname(熱干面); food10.getprice(5);food11.getnum(12);food11.getkind(面類); food11.getname(手搟面); food11.getprice(6);f1.close(); cout*歡迎光臨本店*endl; /菜單 while(1) cout*endl;coutendl; cout endl; cout endl; cout endl; cout 0-顯示菜單里所有的菜的信息 endl;cout 1-在菜單里按類查找。 endl;cout 2-點菜。 endl; cout endl; cout endl; coutendl; cout*q; if(q=0) /顯示菜單里所有的菜名 cout-菜單-endl; cout菜的編號 菜名 類別 單價/元 endl; for(j=0;j12;j+) foodj.menudisplay(); cout-endl; if(q=1) / 在菜單里按類查找 cout1-炒菜endl; cout2-炒飯endl; cout3-面類z; if(z3) system(cls);cout請輸入正確序號endl; switch(z) case 1: /輸出炒菜類 for(j=0;j40;j+) if(foodj.returnkind()=炒菜) foodj.menudisplay(); break; case 2: /輸出炒飯類 for(j=0;j40;j+) if(foodj.returnkind()=炒飯) foodj.menudisplay();break; case 3: /輸出面類 for(j=0;j2) system(cls); cout請輸入正確序號endl; if(q=2) break; /退出進入點菜環(huán)節(jié) cout你要點多少個菜?i; array *a=new arrayi ; /動態(tài)創(chuàng)建i個array類的數(shù)組來儲存菜的編號和數(shù)量 for(j=0;ji;j+) cout請選擇第j+1個菜的編號:id; /輸入每個菜的編號 cout請輸入數(shù)量:sort; /輸入每個菜的數(shù)量 aj.getnum(id); aj.getsort(sort); for(;) /對定的菜進行操作 cout endl; cout endl; cout endl; cout endl; cout endl; cout 1-增加點菜 endl; cout 2-刪除一個菜 endl; cout 3-輸出點菜信息并保存 endl; cout 4-計算消費金額 endl; cout 0-退出系統(tǒng) endl; cout endl; cout endl; cout b; if(b=1) cout你要增加多少個菜?geshu; array *p=new arrayi; for(j=0;ji;j+) pj.getnum(aj.returnnum(); pj.getsort(aj.returnsort(); delete a;i=i+geshu;a=new arrayi;for(j=0;ji-geshu;j+) aj.getnum(pj.returnnum(); aj.getsort(pj.returnsort(); delete p; for(j=i-geshu;ji;j+) cout請輸入增加的一個菜的編號和數(shù)量:id; cinsort; aj.getnum(id); aj.getsort(sort); cout增加點菜成功。endl; if(b=2) cout請輸入要刪除的菜的編號:id; for(j=0;ji;j+) if(aj.returnnum()=id) m=j; for(j=m;ji;j+) aj=aj+1; i-; cout刪除點菜成功。endl;break; if(j=i) cout你沒有點這個菜!錯誤。endl; if(b=3) /輸出所點菜的信息 char baocun; cout菜的編號 菜名 類別 單價/元 數(shù)量endl; for(m=0;mi;m+) for(j=0;j40;j+) if(am.returnnum()=foodj.returnnum() foodj.getsort(am.returnsort(); foodj.selectdisplay(); cout是否保存并退出?endl; cout請按y(是)或n(否)baocun; if(baocun=y) ofstream file(select.txt); file菜的編號 菜名 類別 單價/元 數(shù)量endl; for(m=0;mi;m+) for(j=0;j40;j+) if(am.returnnum()=foodj.returnnum() filefoodj.returnnum() foodj.returnname() foodj.returnkind() foodj.returnprice() foodj.returnsort()endl; file.close();cout已成功保存!endl;break; if(b=4) sum=0; cout你是否擁有優(yōu)惠券?endl; /優(yōu)惠券的操作 cout0-是endl; cout1-否q; for(m=0;mi;m+) for(j=0;j1) system(cls);cout請輸入正確序號endl; /清屏函數(shù) if(q=0) cout請輸入優(yōu)惠券的優(yōu)惠金額(大于1)或者是優(yōu)惠的折扣比:POINT; cout打折后的總的金額是:youhui(sum,POINT)元endl; if(q=1) cout總的金額是:sum元endl; if(b=0)system(cls); /退出coutendl;coutendl;coutendl; cout*謝謝使用*謝謝使用*謝謝使用*endl; coutendl; cout4) system(cls);cout請輸入正確序號endl; 實習(xí)心得通過這次實習(xí),我確實學(xué)到了許多方面的知識,不僅僅包含課本上現(xiàn)有的基礎(chǔ)知識點,更重要的是親自實踐,動手操作編寫程序以及程序的調(diào)試。在這期間鍛煉了我的動手能力,開拓了思維,更培養(yǎng)了獨立思考問題的能力。因此我才有了以下六點心得和體會:第一:不管做任何事都要有勇氣,不要對不可預(yù)知的事說不,要知道只有不恐懼才會有收獲。程序編寫的時候比較復(fù)雜,而且內(nèi)容也比較多,所以我們不應(yīng)該被這種問題嚇到,只要我們認真思考,就可以發(fā)現(xiàn)他其實并不是我們想象的那么難!第二:要記得做任何事都要認真,粗心可真是吃大虧。尤其是在做C+實驗的時候,敲錯一個字母甚至是一個標點符號,就難以建立,難以運行。那可真是慘狀??!老師早已做下一步,可能你還停留在原地,跟不上老師的進程,耽誤實習(xí)任務(wù),所以要記得認真,這樣可以接近成功!第三:要多思考,雖然老師已將代碼原本托出,但我們也要思考,寫這一步的作用,能實現(xiàn)什么功能,在哪個

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論