음식주문
- menu_list.h -
#include <iostream>
#include <string>
using namespace std;
class Menu {
public:
int food_num = 0;
string food_name = "";
int price = 0;
void menu_list();
void print_order();
};
void Menu::menu_list()
{
cout << "\n######### 메뉴 리스트 #########" << endl;
cout << "# 번호" << "\t" << "이름" << "\t\t" << "가격 #" << endl;
for (int i = 0; i < 6; i++)
cout << "# " << this[i].food_num << "\t" << this[i].food_name << "\t" << this[i].price << " #" << endl;
cout << "###############################\n" << endl;
}
void Menu::print_order()
{
cout << "**** 대전 패밀리 레스토랑 ****" << endl;
cout << "\t1.주문입력" << endl;
cout << "\t5.주문결제" << endl;
cout << "\t6.주문종료" << endl;
cout << "******************************" << endl;
}
- 소스.cpp -
#include <iostream>
#include <string>
#include "menu_list.h"
using namespace std;
class Restaurant
{
int table_num;
string food_name[10];
int food_cnt;
int food_price[10];
int food_cnt_price;
int food_total_price;
bool isChecked;
public:
Restaurant();
void inputOrder(int num);
void calculateOrder();
void ShowTablenum();
void ShowTablenum_list();
void Table_payment(int t_num);
};
Restaurant::Restaurant()
{
isChecked = false;
food_cnt_price = 0;
food_total_price = 0;
}
void Restaurant::inputOrder(int num)
{
cout << num << "손님 : " << "테이블번호 입력 : ";
cin >> table_num;
cout << "주문수 입력(10이하) : ";
cin >> food_cnt;
for (int i = 0; i < food_cnt; i++)
{
//system("cls");
cout << "음식이름과 가격 입력 : ";
cin >> food_name[i] >> food_price[i];
}
cout << endl;
}
void Restaurant::calculateOrder()
{
for (int i = 0; i < food_cnt; i++)
food_total_price += food_price[i];
}
void Restaurant::ShowTablenum()
{
cout << "####### " << table_num << "번 테이블 #######" << endl;
cout << "음식이름" << "\t" << "가격" << endl;
for (int i = 0; i < food_cnt; i++)
{
cout << food_name[i] << "\t" << food_price[i] << endl;
}
cout << "총 합계 : " << food_total_price << endl;
}
void Restaurant::ShowTablenum_list()
{
cout << "####### " << table_num << "번 테이블 #######" << endl;
cout << "음식이름" << "\t" << "가격" << endl;
for (int i = 0; i < food_cnt; i++)
{
cout << food_name[i] << "\t" << food_price[i] << endl;
}
cout << "총 합계 : " << food_total_price << "\t" << "결제 : " << isChecked << endl;
}
void Restaurant::Table_payment(int t_num)
{
char money;
table_num = t_num;
ShowTablenum_list();
cout << "결제확인(Y/N) : ";
cin >> money;
if (money == 'Y' || money == 'y')
isChecked = true;
else
return;
ShowTablenum_list();
system("PAUSE");
}
int main()
{
Menu menulist[6] = { { 1,"그린샐러드",18000 },{ 2,"치킨샐러드",19000 },{ 3,"찹스테이크",32000 },
{ 4,"티본스테이크",30000 },{ 5,"치즈파스타",17000 },{ 6,"치즈피자",15000 } };
Menu* menusu;
menusu = menulist;
int i, selectMenu, num, tablenum, list_su;
Restaurant current[100]; //하루 최대주문수 100개
i = 0;
while (1)
{
system("cls");
menusu->menu_list(); //메뉴보기
menusu->print_order();
cout << "번호 입력 : ";
cin >> selectMenu;
if (selectMenu == 1)
{
i++;
while (1)
{
switch (selectMenu) {
case 1:
system("cls");
menusu->menu_list();
current[i].inputOrder(i);
current[i].calculateOrder();
break;
case 2:
current[i].ShowTablenum();
break;
}
if (selectMenu == 3)
{
cout << "주문이 완료";
break;
}
cout << "주문확인(2번)/주문환료(3번) 숫자입력 : ";
cin >> selectMenu;
}
}
else if (selectMenu == 5)
{
cout << "주문자 번호 : ";
cin >> list_su;
cout << "테이블 번호 : ";
cin >> tablenum;
current[list_su].Table_payment(tablenum);
}
else if (selectMenu == 6)
break;
else
cout << "잘못입력하였습니다.!!!!!" << endl;
}
system("cls");
cout << "일일 주문리스트 보기\n";
for (int j = 1; j <= i; j++)
{
current[j].ShowTablenum_list();
cout << "\n\n";
}
cout << "\n\n\n";
}
위에서 3번을 입력하면