餐厅管理程序c语言源代码,课内资源 - 基于C++的餐厅管理程序的设计与实现
摘 要
隨著計算機應用技術的快速發展和日益普及,網絡也遍及到我們生活的每個角落,為我們的學習和工作帶來極大的方便。很多人都使用過傳統的文字,紙張管理手段,與之不同的另外一種管理方式就是利用電腦程序管理餐廳。主要對追求工作高效、穩定、便捷的餐廳管理人員,電腦程序管理餐廳是一種很好的新型管理手段,它能提高工作效率和方便使用,餐廳管理程序就涉及到了文字、數字、項目信息的輸入、讀取、修改以及保存。
本程序針對真實餐廳工作狀況進行分析,討論工作平臺的環境影響,比較后采用在VS開發平臺下,調用文件讀寫函數以實現Windows系統下信息的更新和保存。通過同類型軟件測試比較可得:餐廳管理系統軟件的設計具有先進性,可靠性。
關鍵詞:餐廳管理;文件讀寫;數據更新、保存
第一章 設計內容
設計一個模擬實現餐廳管理系統的程序,輸入你需要的操作(選擇相對的括號里的阿拉伯數字)程序具體功能有:
查看菜單
新增菜單
刪除菜單
修改菜單(含名稱及價格)
查看座位剩余量
修改座位剩余量
查看預定情況
新增預定(含菜式預定)
查看顧客積分
顧客兌換積分
第二章 總體設計
2.1 模塊化設計
為實現系統功能,本程序主要分為八個模塊。它們分別為:查看菜單、新增菜單、刪除菜單、修改菜單、查看座位剩余量、修改座位剩余量、查看預定情況、新增預定。這八個函數再通過主函數調用分別得以實現。
主函數,首先提供了程序運行時的友好界面,提供客戶選擇的菜單。然后,通過執行多分支選擇語句——switch語句,分別實現其它各個函數的調用功能。
其它各個函數的功能分別如下:
check()// 查看菜單函數
add()// 新增菜單函數
decrease()// 刪除菜式函數
change()// 修改菜式函數
seat_check()// 查看座位剩余量函數
seat_change()// 修改座位剩余量函數
booking_check()// 查看預定情況函數
booking_add()// 新增預定座位函數
draw_check()// 查看顧客積分
draw_check2()// 查看禮品列表
draw_main()// 兌換功能
2.2 程序運行示意圖
第三章 詳細設計
3.1 數據結構設計
本程序中,運用了多種數據結構。首先進入了主界面,查看菜單、新增菜單、刪除菜單、修改菜單、查看座位剩余量、修改座位剩余量、查看預定情況、新增預定。在主函數中分別調用各項的函數。
對于主要數據結構的舉例如下:
//定義菜單類
classmenu
{
private:
//基本元素
intnum,price;//菜式序號、價格
charname[20];//菜式名稱
//用于功能實現的元素
intmealnum,delnum,changenum,changeprice;//菜式總數目、刪除序號、修改序號、修改菜式序號
charchangename[20];//修改菜式名字
public:
menu();
~menu();//析構函數
voidcheck();//查看菜單
voidadd();//新增菜單
voiddecrease();//刪除菜單
voidchange();//修改菜單,包括修改菜式名稱和菜式價格
voidchange_name();//修改菜式名稱
voidchange_price();//修改菜式價格
};
//座位類
classseat
{
private:
//基本元素
intnum,rest;//座位序號,座位剩余量
charsize[20];//座位大小
//用于功能實現的元素
intseatnum,changenum,rerest;//座位種類數目,修改序號,剩余量
public:
seat(int);
~seat();//析構函數
voidseat_check();//座位查看
voidseat_change();//座位剩余量修改
};
//預定類
classbooking:publicseat
{
private:
//基本元素
intbnum,phone,peoplenum;
charbname[20],bmeal[100];
//功能實現的元素
intbookingnum,cancelnum;//預約信息總數目、取消的序號
public:
booking();
~booking();//析構函數
voidbooking_check();//預約查看功能
voidbooking_add();//新增預約
};
//主菜單
voidworking()
{
cout<
cout<
cout<
cout<
cout<
}
//福利類
classdraw
{
private:
chardname[20];//名稱
intdnum,dphone,dpoint,total,dchange,duse;//序號,手機尾號,積分數目,記錄表的總人數,兌換人號碼,兌換禮品的序號
public:
draw();
~draw();
voiddraw_check();//查看積分
voiddraw_check2();//查看獎品
voiddraw_main();//使用積分
};
voidselect()
{
menu A;
seat B;
booking C;
intchiose;
while(1)
{
system("cls");
working();
cout<
cin>>chiose;
cout<
switch(chiose)
{
case0:
exit(0);
break;
case1:
A.check();
break;
case2:
A.add();
break;
case3:
A.decrease();
break;
case4:
A.change();
break;
case5:
B.seat_check();
break;
case6:
B.seat_change();
break;
case7:
C.booking_check();
break;
case8:
C.booking_add();
break;
default:
cout<
cout<
break;
}
getchar();
getchar();
}
}
3.2 程序模塊設計
本程序執行的入口是main函數,在main函數中首先調用了界面類中的各項操作的函數,在界面類中選擇所需要進行的操作,在switch語句進行界面顯示,實現對餐廳管理系統算法的操作。其中涉及到被調用的方法有:
voidworking()
{
cout<
cout<
cout<
cout<
cout<
}
voidselect()
{
menu A;
seat B;
booking C;
intchiose;
while(1)
{
system("cls");
working();
cout<
cin>>chiose;
cout<
switch(chiose)
{
case0:
exit(0);
break;
case1:
A.check();
break;
case2:
A.add();
break;
case3:
A.decrease();
break;
case4:
A.change();
break;
case5:
B.seat_check();
break;
case6:
B.seat_change();
break;
case7:
C.booking_check();
break;
case8:
C.booking_add();
break;
default:
cout<
cout<
break;
}
getchar();
getchar();
}
}
voidmain()
{
select();
system("pause");
}
3.3 流程圖
查看菜單
新增菜單
刪除菜單
修改菜單(價格和名稱)
查看座位剩余量
修改座位剩余量
查看預定信息
新增預定
查看積分
福利兌換
第四章 調試與測試
4.1 調試過程中的主要問題
本程序,即餐廳關系系統程序,是涉及到了有關文件的讀取、修改、清除、關閉等多個不同方面的操作,其中對文本文件的讀取并輸出到屏幕、修改最為棘手,同時這也是本程序的核心,關鍵內容。在開始的時候,我并無頭緒,后來在網絡上參考了網友的問題和解決方案后,找到了解決問題的思路,即打開文件-保存內容到數組中-清除文件內容-關閉文件-按需求修改數組內容-打開文件(已為空)-數組內容寫入文件-關閉文件。使用這思路,簡單明了,易于理解,便于操作,思路清晰,解決問題的相關代碼也隨之而出,復雜的核心問題得到解決,其他內容也就迎刃而解。
4.2 具體測試過程
主界面
顯示菜單
新增菜單
刪除菜單
修改菜單(價格)
修改菜單(價格)
查看座位剩余量
修改座位剩余量
查看預定情況
新增預定
查看積分
兌換功能
參考文獻
[1] 陳維興 林小茶,C++面向對象程序設計教程(第3版)。北京:清華大學出版社,2009年5月
[2] 嚴蔚敏 吳偉民,數據結構(C語言版)。北京:清華大學出版社,2011年5月
[3] Thomas H.Cormen Charles E.leiserson Ronald L.Rivest Clifford Stein, 算法導論。機械工業出版社,2010年11月
[4] 王曉東,計算機算法設計與分析(第4版)北京:電子工業出版社,2012年2月
總結
以上是生活随笔為你收集整理的餐厅管理程序c语言源代码,课内资源 - 基于C++的餐厅管理程序的设计与实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 18年石油大学c语言网考答案,石油大学华
- 下一篇: c++根据二叉树的层次遍历建立二叉树_L