Is there any way to solve it


Is there any way to solve it?

#include
#include
#include
using namespace std;

#define MAXTOPPING 10

class PizzaOrder
{
public:
static const string toppings_offered[MAXTOPPING];
double static const topping_base_cost;
double static const base_price;
static const int DEFAULTSIZE = 0;

private:
int size;
string toppings[MAXTOPPING];
int num_topping;

public:
PizzaOrder();
PizzaOrder(int size);

bool SetSize(int size);
int GetSize() {return size;}
bool AddTopping(string topping);
bool AddTopping(int n);
double GetPrice();
string StringizeSize();
string GetToppings();
void DisplayPizza();
};

const string PizzaOrder::toppings_offered[MAXTOPPING] =
{
"onions", "bell peppers", "olives", "pepperoni" 
};

double const PizzaOrder::topping_base_cost = 1.25;
double const PizzaOrder::base_price = 10;


int main()
{
string getsize;
int pizzasize, gettopping;
PizzaOrder Order;

while (true)
{
cout << "Welcome to LULU PIZZA!!n";
cout << "Please select the size or enter Q to quit:n";
cout << "Enter S for small.n";
cout << "Enter M for medium.n";
cout << "Enter L for large.n";
cin >> getsize;

if ( getsize[0] == 'Q' || getsize[0] == 'q')
break;

else if ( getsize[0] == 's' || getsize[0] == 'S')
pizzasize = 0;

else if ( getsize[0] == 'm' || getsize[0] == 'M')
pizzasize = 1;

else if ( getsize[0] == 'l' || getsize[0] == 'L')
pizzasize = 2;

Order.SetSize(pizzasize);

while(true)
{
cout << "You have chosen :n";
Order.DisplayPizza();

cout << "Select your toppings by number (0 when done)n";
cout << " 1. Onionsn";
cout << " 2. Bell Peppern";
cout << " 3. Pepperonin";
cout << " 4. Olivesn";

cin >> gettopping;

if ( gettopping != 0 && gettopping != 1 && gettopping != 2 )
{
cout << "Cannot read!!! Please enter 0,1,2,3,4 n";
continue;
}

else if ( gettopping = 0 )
{
cout << "Thank you!n";
break;
}

else
{
Order.AddTopping(PizzaOrder::toppings_offered[gettopping - 1]);

cout << "You chose : " << gettopping <}
}

cout <<" Size of next pizza or quit?";
}

cout << "Thank for shopping at LULU PIZZA";
return 0;
}


bool PizzaOrder::SetSize(int size)
{
if ( size != 0 && size != 1 && size != 2)
return false;

this -> size = size;
return true;
}


bool PizzaOrder::AddTopping(int n)
{
this -> toppings [this -> num_topping] = toppings_offered[n];
num_topping++;

if ( num_topping < MAXTOPPING )
return true;

return false;
}

bool PizzaOrder::AddTopping(string topping)
{
this-> toppings[ this-> num_topping ] = topping;
this -> num_topping++;

if ( num_topping < MAXTOPPING )
return true;

return false;

}
PizzaOrder::PizzaOrder()
{
size = DEFAULTSIZE;
}

PizzaOrder::PizzaOrder( int size )
{
if( !SetSize(size) )
size = DEFAULTSIZE;
}

double PizzaOrder::GetPrice()
{
double total_toppingprice, total_price;

total_toppingprice = num_topping * topping_base_cost;

if ( size == 0 )
{
total_price = total_toppingprice + base_price;
}

else if ( size == 1 )
{
total_price = total_toppingprice + base_price;
total_price = total_price * 1.15;
}

else if ( size == 2 )
{
total_price = total_toppingprice + base_price;
total_price = total_price * 1.25;
}

return total_price;
}

string PizzaOrder::StringizeSize()
{
string sizestring;

if ( size == 0 )
sizestring = "small";
else if ( size == 1)
sizestring = "medium";
else if ( size == 2)
sizestring = "large";

return sizestring;
}

string PizzaOrder::GetToppings()
{
int k;
string alltopping;
for ( k = 0; k < num_topping ; k++ )
alltopping = " + " + this -> toppings[k];

return alltopping;
}

void PizzaOrder::DisplayPizza()
{
string info;

info = this -> PizzaOrder::StringizeSize() + PizzaOrder::GetToppings();

cout << info << endl << endl;

Request for Solution File

Ask an Expert for Answer!!
Programming Languages: Is there any way to solve it
Reference No:- TGS0106124

Expected delivery within 24 Hours