|
#include <iomanip> #include <cmath> using namespace std; void printMenu(float value_meal[4][3]); void getType(int& num_meal); void getSize(char& size_type,int num_meal); void getQty(int& meal_qty,int& num_meal,char size_type); void assignArrayNum(char size_type,int& size_num,int& num_meal); void priceMeal(int& num_meal,int& size_num,float value_meal[4][3],int& meal_qty,float& total_price); void printSideDish(float& side_dish1,float& side_dish2,float& side_dish3); void getSideDishType(int& sd_num); void getSideDishQty(int& sd_qty,int& sd_num); void priceSideDish(int& sd_num,int& sd_qty,float& side_dish1,float& side_dish2,float& side_dish3,float& total_sdPrice); void calcGrossPrice(double& sum_meal,double& sum_sd,double& gross_price); void calcDiscount(char& member,double& gross_price); void calcTax(float& final_price,double& gross_price); void calcPayment(float& money_paid,float& final_price,float& money_change); void printReceipt(int iteration_meal,float num_total_price[],double sum_meal,int iteration_sd,float num_total_sdPrice[], double sum_sd,char member,double gross_price,float final_price,float money_paid,float money_change); int main() { float value_meal[4][3]={{5,5.5,6}, {6.5,7,7.5}, {8,8.5,9}, {9.3,9.6,9.8}}; float side_dish1=2.5; float side_dish2=1.5; float side_dish3=3.0; int num_meal; char size_type; int meal_qty; int size_num; float total_price; int sd_num; int sd_qty; float total_sdPrice; double gross_price; char member; float final_price; int addorder; int iteration_meal=0; int iteration_sd=0; float num_total_price[iteration_meal]; float num_total_sdPrice[iteration_sd]; double sum_meal; double sum_sd; float money_paid; float money_change; printMenu(value_meal); do { getType(num_meal); getSize(size_type,num_meal); getQty(meal_qty,num_meal,size_type); assignArrayNum(size_type,size_num,num_meal); priceMeal(num_meal,size_num,value_meal,meal_qty,total_price); num_total_price[iteration_meal]=total_price; cout<<endl; cout<<"Enter 1 to add order and 0 to proceed"<<endl; cin>>addorder; iteration_meal++; }while(addorder==1); for(int i=0;i<iteration_meal;i++) { sum_meal=sum_meal+num_total_price[i]; } cout<<setprecision(2)<<fixed; printSideDish(side_dish1,side_dish2,side_dish3); do { getSideDishType(sd_num); getSideDishQty(sd_qty,sd_num); priceSideDish(sd_num,sd_qty,side_dish1,side_dish2,side_dish3,total_sdPrice); num_total_sdPrice[iteration_sd]=total_sdPrice; cout<<endl; cout<<"Enter 1 to add order and 0 to proceed"<<endl; cin>>addorder; iteration_sd++; }while(addorder==1); for(int i=0;i<iteration_sd;i++) { sum_sd=sum_sd+num_total_sdPrice[i]; } cout<<setprecision(2)<<fixed; calcGrossPrice(sum_meal,sum_sd,gross_price); calcDiscount(member,gross_price); calcTax(final_price,gross_price); calcPayment(money_paid,final_price,money_change); printReceipt(iteration_meal,num_total_price,sum_meal,iteration_sd,num_total_sdPrice,sum_sd,member,gross_price,final_price, money_paid,money_change); system("pause"); return 0; } void printMenu(float value_meal[4][3]) { cout<<setprecision(2)<<fixed; cout<<"The Menu that we offer and its price is \n"<<endl; cout<<"Menu Name Size(S) Size(M) Size(L)"<<endl; for(int i=0;i<4;i++) { cout<<"Mc Value "<<i+1<<" "; for(int j=0;j<3;j++) { cout<<value_meal[i][j]<<" "; } cout<<" \n"; } } void getType(int& num_meal) { cout<<"-------------------------------------------------------------------------------"<<endl; cout<<endl; cout<<"Which number of Mc Value you want to order?"<<endl; cin>>num_meal; while(num_meal!=1&&num_meal!=2&&num_meal!=3&&num_meal!=4) { cout<<"The number of value meal you want is not available.Please re-enter: "<<endl; cin>>num_meal; } } void getSize(char& size_type,int num_meal) { cout<<endl; cout<<"Which size type you want to order for McValue number "<<num_meal<<" ?"<<endl; cin>>size_type; while(size_type!='s'&&size_type!='S'&&size_type!='m'&&size_type!='M'&&size_type!='l'&&size_type!='L') { cout<<"The size of value meal is not available.Please re-enter(s,m or l only): "<<endl; cin>>size_type; } } void getQty(int& meal_qty,int& num_meal,char size_type) { cout<<endl; cout<<"How many Mc Value number "<<num_meal<<"("<<size_type<<" size) did you want to order?"<<endl; cin>>meal_qty; } void assignArrayNum(char size_type,int& size_num,int& num_meal) { if(size_type=='s') size_num=0; else if(size_type=='m') size_num=1; else if(size_type=='l') size_num=2; num_meal=num_meal-1; } void priceMeal(int& num_meal,int& size_num,float value_meal[4][3],int& meal_qty,float& total_price) { cout<<endl; total_price=(value_meal[num_meal][size_num])*meal_qty; cout<<"Your total meal price is: "<<value_meal[num_meal][size_num]<<" x "<<meal_qty<<" = "<<total_price<<endl; cout<<"-------------------------------------------------------------------------------"<<endl; } void printSideDish(float& side_dish1,float& side_dish2,float& side_dish3) { cout<<"-------------------------------------------------------------------------------"<<endl; cout<<endl; cout<<"The menu of side dishes that we offer and its price \n"<<endl; cout<<"Side Dish Name Price"<<endl; cout<<"1)Coleslaw "<<side_dish1<<endl; cout<<"2)Ice Cream "<<side_dish2<<endl; cout<<"3)Potato Chip "<<side_dish3<<endl; } void getSideDishType(int& sd_num) { cout<<"-------------------------------------------------------------------------------"<<endl; cout<<endl; cout<<"Which number of side dish did you want to order?"<<endl; cin>>sd_num; while(sd_num!=1&&sd_num!=2&&sd_num!=3) { cout<<"The number of side dish you want is not available.Please re-enter: "<<endl; cin>>sd_num; } } void getSideDishQty(int& sd_qty,int& sd_num) { cout<<endl; cout<<"How many side dish num "<<sd_num<<" did you want to order?"<<endl; cin>>sd_qty; } void priceSideDish(int& sd_num,int& sd_qty,float& side_dish1,float& side_dish2,float& side_dish3,float& total_sdPrice) { if(sd_num==1) { total_sdPrice=side_dish1*sd_qty; cout<<endl; cout<<"Your total side dish price is: "<<side_dish1<<" x "<<sd_qty<<" = "<<total_sdPrice<<endl; cout<<"-------------------------------------------------------------------------------"<<endl; } else if(sd_num==2) { total_sdPrice=side_dish2*sd_qty; cout<<endl; cout<<"Your total side dish price is: "<<side_dish2<<" x "<<sd_qty<<" = "<<total_sdPrice<<endl; cout<<"-------------------------------------------------------------------------------"<<endl; } else if(sd_num==3) { total_sdPrice=side_dish3*sd_qty; cout<<endl; cout<<"Your total side dish price is: "<<side_dish3<<" x "<<sd_qty<<" = "<<total_sdPrice<<endl; cout<<"-------------------------------------------------------------------------------"<<endl; } } void calcGrossPrice(double& sum_meal,double& sum_sd,double& gross_price) { gross_price=sum_meal+sum_sd; cout<<endl; cout<<"-------------------------------------------------------------------------------"<<endl; cout<<"Total value meal price is : "<<sum_meal<<endl; cout<<"Total side dish price is : "<<sum_sd<<endl; cout<<"Your Gross price is : "<<gross_price<<endl; cout<<"-------------------------------------------------------------------------------"<<endl; } void calcDiscount(char& member,double& gross_price) { cout<<endl; cout<<"Are you the member of McDonals?Enter y for yes and n for no: "<<endl; cin>>member; cout<<endl; if(member=='y') { gross_price=gross_price*0.8; cout<<"Your gross price after discount 20% is: "<<gross_price<<endl; } } void calcTax(float& final_price,double& gross_price) { final_price=(gross_price*0.03)+gross_price; cout<<"Your final price after tax of 3% is : "<<final_price<<endl; cout<<"-------------------------------------------------------------------------------"<<endl; } void calcPayment(float& money_paid,float& final_price,float& money_change) { cout<<"Your final price after tax of 3% is : "<<final_price<<endl; cout<<"Your payment is \t\t : "; cin>>money_paid; while(money_paid<final_price) { cout<<"You pay less than the final price.Please add another "<<abs(money_paid-final_price)<<endl; cout<<"Your payment is \t\t : "; cin>>money_paid; } money_change; money_change=money_paid-final_price; cout<<"Your change is \t\t\t : "<<money_change<<endl; cout<<"-------------------------------------------------------------------------------"<<endl; } void printReceipt(int iteration_meal,float num_total_price[],double sum_meal,int iteration_sd,float num_total_sdPrice[],double sum_sd,char member,double gross_price,float final_price, float money_paid,float money_change) { cout<<endl; cout<<"Your receipt: "<<endl; cout<<"Value meal price: "<<endl; for(int i=0;i<iteration_meal;i++) { cout<<"\t\t "<<i+1<<".Order "<<num_total_price[i]<<endl; } cout<<setprecision(2)<<fixed; cout<<"\t\t Total="<<sum_meal<<endl; cout<<"Side dish price: "<<endl; for(int i=0;i<iteration_sd;i++) { cout<<"\t\t "<<i+1<<".Order "<<num_total_sdPrice[i]<<endl; } cout<<setprecision(2)<<fixed; cout<<"\t\t Total="<<sum_sd<<endl; if(member=='y') { cout<<"Gross price after discount 20% is = "<<gross_price<<endl; } else { cout<<"Gross price is = "<<gross_price<<endl; } cout<<"Final price after tax of 3% is = "<<final_price<<endl; cout<<"Your payment is \t\t = "<<money_paid<<endl; cout<<"Your change is \t\t\t = "<<money_change<<endl; cout<<"-------------------------------------------------------------------------------"<<endl; cout<<" THANK YOU AND COME AGAIN "<<endl; cout<<"-------------------------------------------------------------------------------"<<endl; } |
| Leave a Comment: |