Parking Ticket Simulator C++ HELP PLEASE
The following solution is suggested to handle the subject “Parking Ticket Simulator C++ HELP PLEASE“. Let’s keep an eye on the content below!
Question “Parking Ticket Simulator C++ HELP PLEASE”
For this assignment you will design a set of classes that work together to simulate a police officer issuing a parking ticket. The classes you should designare:
• The ParkedCar Class: This class should simulate a parked car. The class’s responsibilities are:
o To know the car’s make, model, color, license number, and the number of minutes that the car has been parked
• The ParkingMeter Class: This class should simulate a parking meter. The class’s only responsibility is:
o To know the number of minutes of parking time that has been purchased
• The ParkingTicket Class: This class should simulate a parking ticket. The class’s responsibilities are:
o To report the make, model, color, and license number of the illegally parked car
o To report the amount of the fine, which is $25 for the first hour or part of an hour that the car is illegally parked, plus $10 for every additional hour or partof an hour that the car is illegally parked
o To report the name and badge number of the police officer issuing the ticket
• The PoliceOfficer Class: This class should simulate a police officer inspecting parked cars. The class’s responsibilities are:
o To know the police officer’s name and badge number
o To examine a ParkedCar object and a ParkingMeter object, and determine whether the car’s time has expired
o To issue a parking ticket (generate a ParkingTicket object) if the car’s time has expired
Demonstrate the class in a driver program, the Parking.cpp file, by completing the following:
1. Create a ParkingTicket pointer. Initialize the pointer to NULL because no ticket has been issued yet.
2. Create a ParkedCar object that is initialized with the following information:
a. Make = Ford
b. Model = Mustang
c. Color = Purple
d. License Number = JKL123
e. Number of parked minutes = 125
3. Create a ParkingMeter object. 60minutes were purchased.
4. Create PoliceOfficer object that is initialized with the following information:
a. Name = Susie May
b. Badge Number = 4788
5. Let the officer patrol and issue tickets if necessary. Issuing a ticket should be indicated by a display on the screen.
PLease help!
Answer
ParkedCar.h:
#pragma once
#include
#include
Use namespace std
Class ParkedCar
{
private:
String make;
String model
String color
string licensenumber
int parkedminutes;
public:
ParkedCar();
ParkedCar(string, string, string, string, int);
~ParkedCar();
void setmake(string);
void setmodel(string);
void setcolor(string);
void setlicensenumber(string);
void setparkedminutes(int);
void set(string, string, string, string, int);
string getmake() const;
string getmodel()const;
string getcolor()const;
string getlicensenumber()const;
int getparkedminutes()const;
void parkedcardisplay() const;
};
ParkedCar.cpp:
#include”ParkedCar.h”
ParkedCar::ParkedCar()
{
make=” “;
model = ” “;
color = ” “;
Licensenumber = “”;
parkedminutes = 0.
}
ParkedCar::ParkedCar(string amake, string amodel, string acolor, string alicensenumber, int aparkedminutes)
{
Make = amake
model = amodel ;
color = acolor;
Licensenumber = alicensenumber
aparkedminutes = parkingminutes
}
ParkedCar::~ParkedCar() {}
void ParkedCar::setmake(string amake)
{
Make = amake
}
void ParkedCar::setmodel(string amodel)
{
model = amodel;
}
void ParkedCar::setcolor(string acolor)
{
color = acolor;
}
void ParkedCar::setlicensenumber(string alicensenumber)
{
Licensenumber = alicensenumber
}
void ParkedCar::setparkedminutes(int aparkedminutes)
{
aparkedminutes = parkingminutes
}
void ParkedCar::set(string amake, string amodel, string acolor, string alicensenumber, int aparkedminutes)
{
Make = amake
model = amodel;
color = acolor;
Licensenumber = alicensenumber
aparkedminutes = parkingminutes
}
String ParkedCar
{
Return make
}
string ParkedCar::getmodel()const
{
Return model
}
string ParkedCar::getcolor()const
{
Return color
}
string ParkedCar::getlicensenumber()const
{
return licensenumber;
}
int ParkedCar::getparkedminutes()const
{
Return parkedminutes
}
void ParkedCar::parkedcardisplay() const
{
cout “Make:” make endl;
cout:
cout:
cout License Number: licensenumber endl
}
ParkingMeter.h:
#pragma once
//#include”ParkedCar.h”
//#include”ParkingTicket.h”
//#include”PoliceOfficer.h”
#include
Use namespace std
{ class ParkingMeter ParkingMeter class
private:
int minutespurchased;
public:
ParkingMeter();
ParkingMeter(int);
~ParkingMeter();
void setparkingmeter(int);
int getparkingmeter() const;
};
ParkingMeter.cpp:
#include”ParkingMeter.h”
ParkingMeter::ParkingMeter()
{
Minutes purchased = 0
}
ParkingMeter::ParkingMeter(int aminutespurchased)
{
Minutespurchased = minutespurchased
}
ParkingMeter::~ParkingMeter() {}
void ParkingMeter::setparkingmeter(int aminutespurchased)
{
Minutespurchased = minutespurchased
}
int ParkingMeter::getparkingmeter() const
{
return minutespurchased;
}
ParkingTicket.h:
#pragma once
#include
#include”ParkedCar.h”
#include”ParkingMeter.h”
#include”PoliceOfficer.h”
#include
Use namespace std
{ class ParkingTicket Class ParkingTicket
private:
Int fine
ParkingMeter PM
ParkedCar PC
PO;PoliceOfficer
public:
ParkingTicket();
ParkingTicket(string aname, string abadge, string amake, string amodel, string acolor, string alicensenumber, int aparkedminutes, int aminutespurchased);
~ParkingTicket();
int getfine() const;
void generateticket();
void reportCarInfo();
void reportfine();
void reportOfficer();
};
ParkingTicket.cpp:
#include”ParkingTicket.h”
ParkingTicket::ParkingTicket()
{
Fine = 0
}
ParkingTicket::ParkingTicket(string aname, string abadge, string amake, string amodel, string acolor, string alicensenumber, int aparkedminutes, int aminutespurchased)
{
PC.set(amake, amodel, acolor, alicensenumber, aparkedminutes);
PM.setparkingmeter(aminutespurchased);
PO.setOfficer(aname, abadge);
}
ParkingTicket::~ParkingTicket()
{
}
void ParkingTicket::reportCarInfo()
{
PC.parkedcardisplay();
}
void ParkingTicket::reportfine()
{
int illegaltime = PC.getparkedminutes() – PM.getparkingmeter();
{ if (illegaltime> 0 && illegaltime <= 60) If (illegaltime>0 && illegaltime >= 60),
Fine = 25
}
{ else Other information
If (illegaltime> 60)
{
int temp = illegaltime;
Fine = 25
{
fine += 10
temp -= 60
}
}
}
cout Fine: $ getfine()
}
void ParkingTicket::reportOfficer()
{
PO.displayofficer();
}
int ParkingTicket::getfine() const
{
Return fine
}
void ParkingTicket::generateticket()
{
cout = endl;
cout << "-----------------------------" << endl;
cout ” ILLEGAL PARKING TICKET?” endl
cout << "-----------------------------" << endl;
reportCarInfo();
reportfine();
reportOfficer();
cout = endl;
}
PoliceOfficer.h:
#pragma once
#include
#include”ParkingTicket.h”
#include”ParkingMeter.h”
#include”ParkedCar.h”
#include
Use namespace std
{class PoliceOfficer Class PoliceOfficer
private:
String name
String badge
ParkingMeter PM
ParkedCar PC
public:
PoliceOfficer();
PoliceOfficer(string aname, string abadge, string amake, string amodel, string acolor, string alicensenumber, int aparkedminutes, int aminutespurchased);
~PoliceOfficer();
void setname(string);
void setbadge(string);
void setOfficer(string, string);
string getname() const;
string getbadge() const;
void patrol();
void displayofficer() const;
};
PoliceOfficer.cpp:
#include”ParkedCar.h”
#include”ParkingMeter.h”
#include”ParkingTicket.h”
#include”PoliceOfficer.h”
#include
#include
Use namespace std
PoliceOfficer::PoliceOfficer()
{
badge = “”;
Name = “”;
}
PoliceOfficer::PoliceOfficer(string aname, string abadge, string amake, string amodel, string acolor, string alicensenumber, int aparkedminutes, int aminutespurchased)
{
PC.set(amake, amodel, acolor, alicensenumber, aparkedminutes);
PM.setparkingmeter(aminutespurchased);
setOfficer(aname, abadge);
}
PoliceOfficer::~PoliceOfficer()
{
}
void PoliceOfficer::setname(string aname)
{
name = aname
}
void PoliceOfficer::setbadge(string abadge)
{
Badge = an abadge
}
void PoliceOfficer::setOfficer(string aname, string abadge)
{
Badge = an abadge
name = aname
}
string PoliceOfficer::getname() const
{
Return name
}
string PoliceOfficer::getbadge() const
{
Return badge
}
void PoliceOfficer::displayofficer() const
{
cout: Name: getname() endl;
cout “Badge ID” getbadge()
}
void PoliceOfficer::patrol()
{
if (PC.getparkedminutes() > PM.getparkingmeter()) /*parked minutes >= minutes purchased*/
{
ParkingTicket PT
PT.generateticket();
}
Other
{
cout “No crime was committed.” << endl;
}
}
MainClass.cpp
#include
#include”ParkingTicket.cpp”
#include”ParkingMeter.cpp”
#include”ParkedCar.cpp”
#include”PoliceOfficer.cpp”
//#include
Use namespace std
Int main()
{
int option;
Officer of the PoliceOfficer
ParkedCar car
ParkingMeter Meter
do {
String aname, abrade, amake and alicensenumber
int aminutespurchased, aparkedminutes;
cout << "--------------------------------" << endl;
cout ” Parking Ticket Simulator” endl
cout << "--------------------------------" << endl;
cout = endl;
cout “Vehicle Information” endl
cout “Make:”;
getline(cin, amake);
cout Model:
getline(cin, amodel);
cout Color:
getline(cin, acolor);
cout License Number:
getline(cin, alicensenumber);
cout “Parked minutes:”;
cin>> aparkedminutes;
car.set(amake, amodel, acolor, alicensenumber, aparkedminutes);
cout Minutes Purchased:
cin >> aminutespurchased;
meter.setparkingmeter(aminutespurchased);
cout = endl;
cout “Officer Information”: endl
cout “Name”:
getline(cin, aname);
cout:
getline(cin, abadge);
officer.setOfficer(aname, abadge);
system(“cls”);
officer.patrol();
cout = endl;
cout
cin >> Option
while (option != 0);|while (option!= 0);}
system(“pause”);
Return 0
}
Conclusion
Above is the solution for “Parking Ticket Simulator C++ HELP PLEASE“. We hope that you find a good answer and gain the knowledge about this topic of engineering.