Sie sind auf Seite 1von 7

Factory - Example

============================================
#include <conio.h>
#include <iostream.h>
#include <string.h>
#include <process.h>
#include <stdio.h>
#include "list.h"
enum Status {Sold,ForSale};

class Car {
public:
Car() { }
Car(int sr,char *t,Status s)
{
SrNo=sr;
strcpy(Title,t);
st=s;
}

void SetTitle(char *t)


{
strcpy(Title,t);
}
char *GetTitle()
{
return Title;
}
void SetSrNo(int sr)
{
SrNo=sr;
}
int GetSrNo()
{
return SrNo;
}
void SetStatus(Status s)
{
st=s;
}
Status GetStatus()
{
return st;
}
private:
int SrNo;
char Title[20];
Status st;
};

class Bike {
public:
Bike() { }
Bike(int sr,char *t,Status s)
{
SrNo=sr;
strcpy(Title,t);
st=s;
}

void SetTitle(char *t)


{
strcpy(Title,t);
}
char *GetTitle()
{
return Title;
}
void SetSrNo(int sr)
{
SrNo=sr;
}
int GetSrNo()
{
return SrNo;
}
void SetStatus(Status s)
{
st=s;
}
Status GetStatus()
{
return st;
}

private:
int SrNo;
char Title[20];
Status st;
};

class Factory {
public:
Factory():c(100),b(100)
{
LastCar=-1;
LastBike=-1;
ForSaleCar=0;
ForSaleBike=0;
}

bool built(char *t,int sr,char *p)


{
if(!strcmpi(p,"Car"))
{
Car temp(sr,t,ForSale);
if(c.addlist(temp))
{
ForSaleCar++;
return true;
}
else
return false;
}
else if(!strcmpi(p,"Bike"))
{
Bike temp(sr,t,ForSale);
if(b.addlist(temp))
{
ForSaleBike++;
return true;
}
else
return false;
}
else
return false;
}

bool Sellit(char *p,int sr)


{
if(!strcmpi(p,"Car"))
{
Car temp;
for (int i=0;i<c.getused();i++)
{
c.getlist(i,temp);

if(temp.GetSrNo()==sr&&temp.GetStatus()==ForSale)
{
temp.SetStatus(Sold);
c.setlist(i,temp);
LastCar=i;
ForSaleCar--;
return true;
}
}
return false;
}
else if(!strcmpi(p,"Bike"))
{
Bike temp;
for (int i=0;i<b.getused();i++)
{
b.getlist(i,temp);

if(temp.GetSrNo()==sr&&temp.GetStatus()==ForSale)
{
temp.SetStatus(Sold);
b.setlist(i,temp);
LastBike=i;
ForSaleBike--;
return true;
}
}
return false;
}
else
return false;
}

void Info()
{
cout<<"Total No. of Available Cars:
"<<ForSaleCar<<endl;
cout<<"Total No. of Available Bikes:
"<<ForSaleBike<<endl;
}

void LastCarSold()
{
if(LastCar!=-1)
{
Car temp;
c.getlist(LastCar,temp);
cout<<"Serial No: "<<temp.GetSrNo()<<endl;
cout<<"Title: "<<temp.GetTitle()<<endl;
}
else
cout<<"\n\nNo Car is Sold Yet...";
}
void LastBikeSold()
{
if(LastBike!=-1)
{
Bike temp;
b.getlist(LastBike,temp);
cout<<"Serial No: "<<temp.GetSrNo()<<endl;
cout<<"Title: "<<temp.GetTitle()<<endl;
}
else
cout<<"\n\nNo Bike Sold Yet...";
}

void menu()
{
int option;
int sr;
char title[20];
char type[10];
do {
cout<<"1-Add Vehicle\n2-Sold Vehicle\n3-Get No of
Available Vehicles\n4-Info about Last Car Sold\n5-Info about Last
Bike Sold\n6-Quit";
cout<<"\nEnter Your Option: ";
cin>>option;
switch(option)
{
case 1:
cout<<"\n\nEnter Vehicle Type[Car/Bike]: ";
cin>>type;
cout<<"Enter "<<type<<" Serial No: ";
cin>>sr;
cout<<"Enter "<<type<<" Title: ";
cout.flush();
gets(title);
if(built(title,sr,type))
cout<<"Record Entered Successfully...";
else
cout<<"Record Not Entered...";
break;
case 2:
if(ForSaleCar!=0||ForSaleBike!=0)
{
cout<<"\n\nEnter Vehicle Type[Car/Bike]: ";
cin>>type;
cout<<"Enter "<<type<<" Serial No: ";
cin>>sr;
if(Sellit(type,sr))
cout<<type<<" Sold Successfully...";
else
cout<<type<<" Not Sold...";
}
else
cout<<"\nNo Vehicle is Added Yet...";
break;
case 3:
cout<<"\n\n";
Info();
break;
case 4:
cout<<"\n\n";
LastCarSold();
break;
case 5:
cout<<"\n\n";
LastBikeSold();
break;
case 6:
exit(0);
break;
default:
cout<<"\n\nInvalid Option...";
break;
}

cout.flush();
getch();
system("cls");

}while(option!=6);
}

private:
List <Car> c;
List <Bike> b;
int LastCar;
int LastBike;
int ForSaleCar;
int ForSaleBike;
};

void main()
{
Factory fact;
fact.menu();
}

http://www.ravianeducation.blogspot.com
FARHAN: 03008855006

Das könnte Ihnen auch gefallen