You are on page 1of 4

#ifndef PIZZA_H

#define PIZZA_H

#include<iostream>
#include<string>
using namespace std;

class Pizza
{

protected:
int iSize;
int iToppings;
double dPrice;

public:

void SetDetails(int sz, int tp);


virtual void CalculaePice()=0;
virtual void Dislay() =0;
};

#endif

#ifndef PIZZAMENU_H

#define PIZZAMENU_H

#include<iostream>
#include<string>
#include "Pizza.h"

using namespace std;

const double TOPPING_PRICE_MENU = 2;//RM2

class Pizzaomenu: public Pizza


{

private:

public:
void CalculaePice();
void Dislay() ;
};

#endif

#ifndef CUSTOMPIZZA_H

#define CUSTOMPIZZA_H

#include<iostream>
#include<string>
#include "Pizza.h"
using namespace std;

const double TOPPING_PRICE_CUSTOM = 4;//RM4

class Custmizepizza: public Pizza


{

private:

public:
void CalculaePice();
void Dislay();
};

#endif

#include "Pizza.h"

void Pizza::SetDetails(int sz, int tp)


{
iSize = sz;
iToppings = tp;
}

#include"Pizzaonmenu.h"

void Pizzaomenu::CalculaePice()
{

dPrice = (iSize * 1.5) + (TOPPING_PRICE_MENU * iToppings);//TOPPING_PRICE is RM2


for pizza on menu

void Pizzaomenu::Dislay()
{
cout<<"\tPizza on Menu"<<endl;
cout<<"\tSize of the piza:"<<iSize<<endl;
cout<<"\tNumber of Toppings:"<<iToppings<<endl;
cout<<"\tPrice:"<<dPrice<<endl<<endl;
}

#include"Customisepizza.h"

void Custmizepizza::CalculaePice()
{

dPrice = (iSize * 1.5) + (TOPPING_PRICE_CUSTOM * iToppings);//TOPPING_PRICE is


RM4.00 for custom pizza

}
void Custmizepizza::Dislay()
{
cout<<"\tCustomize Pizza"<<endl;
cout<<"\tPizza Size:"<<iSize<<endl;
cout<<"\tNumber of Toppings:"<<iToppings<<endl;
cout<<"\tPrice:"<<dPrice<<endl<<endl;
}

#include<iostream>
#include<string>
#include "Pizzaonmenu.h"
#include "Customisepizza.h"
#include "Pizza.h"

using namespace std;

int main()
{

int iSelection = 0;
int iSize = 0;
int iToppings = 0;
Pizza* P = NULL;

while(iSelection<1 || iSelection>3)
{

system("cls");

cout<<"Plese select pizza type:"<<endl<<endl;


cout<<"1- Pizza on menu"<<endl;
cout<<"2- Custom Pizza"<<endl;
cout<<"3- Exit"<<endl;

cin>>iSelection;

switch(iSelection)
{
case 1:
P = new Pizzaomenu();

cout<<"lese enter pizza size:";


cin>>iSize;
cout<<"lese enter nuber of toppings:";
cin>>iToppings;

P->SetDetails(iSize, iToppings);
P->CalculaePice();
cout<<endl<<"====================="<<endl;
P->Dislay();
cout<<"====================="<<endl<<endl;

cout<<"Please press ENTER to back to the menu ...";


cin.ignore();
cin.get();
break;
case 2:
P = new Custmizepizza();
cout<<"lese enter pizza size:";
cin>>iSize;
cout<<"lese enter nuber of toppings:";
cin>>iToppings;

P->SetDetails(iSize, iToppings);
P->CalculaePice();
cout<<endl<<"====================="<<endl;
P->Dislay();//Dislay total price and other info
cout<<"====================="<<endl<<endl;

cout<<"Please press ENTER to back to the menu ...";


cin.ignore();
cin.get();

break;
case 3:
exit(0);
break;
}

iSelection=0;//To back to he loop ad show menu again

return 0;
};

You might also like