Sie sind auf Seite 1von 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 the loop ad show menu again


}

};

return 0;

Das könnte Ihnen auch gefallen