Please help me in c++ would greatly apreciate it :) For this assignment you will
ID: 3697482 • Letter: P
Question
Please help me in c++ would greatly apreciate it :)
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 design are:
• The ParkedCar Class: This class should simulate a parked car. The class’s responsibilities are: -To know the cars 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: 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: -To report the make, model, color, and license number of the illegally parked car.
-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 part of 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:
-To know the police officer’s name and badge number
-To examine a ParkedCar object and a ParkingMeter object, and determine whether the car’s time has expired
- To issue a parking ticket (generate a ParkingTicket object) if the cars time has expired
Write a program that demonstrates how these classes collaborat
Explanation / Answer
Here is the code:
#include<iostream>
#include<cmath>
#include<string>
using namespace std;
class parking
{
private:
string carMake;
string carModel;
string carColor;
string carLicenseNum;
int numMinutesParked;
public:
ParkedCar()
{
carMake = "";
carModel = "";
carColor = "";
carLicenseNum = "";
numMinutesParked = 0;
}
ParkedCar(string cMake, string cModel, string cColor, string cLicenseNum, int cNumMinParked)
{
carMake = cMake;
carModel = cModel;
carColor = cColor;
carLicenseNum = cLicenseNum;
numMinutesParked = cNumMinParked;
}
int getNumParkedMinutes() const
{
return numMinutesParked;
}
void print()
{
cout << "- Car - " << endl;
cout << "Make: " << carMake << endl;
cout << "Model: " << carModel << endl;
cout << "Color: " << carColor << endl;
cout << "License Number: " << carLicenseNum << endl;
}
};
Parket meter class:
class ParkingMeter
{
private:
int purchasedParkingMins;
public:
ParkingMeter()
{
purchasedParkingMins = 0;
}
ParkingMeter(int purchasedMinutes)
{
purchasedParkingMins = purchasedMinutes;
}
int getPurchasedParkingMins() const
{
return purchasedParkingMins;
}
void print()
{
cout << "- Meter - " << endl;
cout << "Number of minutes purchased : " << purchasedParkingMins << endl;
}
};
Policeofficer class:
class PoliceOfficer
{
private:
string lastName;
string firstName;
string badgeNum;
public:
PoliceOfficer()
{
lastName = "";
firstName = "";
badgeNum = "";
}
PoliceOfficer(string lName, string fName, string bNum)
{
lastName = lName;
firstName = fName;
badgeNum = bNum;
}
bool isTicketNeccessary(ParkedCar& c, ParkingMeter& m)
{
if ((m.getPurchasedParkingMins() - c.getNumParkedMinutes()) < 0)
{
return true;
}
else
{
return false;
}
}
void print()
{
cout << "- Police Officer - " << endl;
cout << "First Name: " << firstName << endl;
cout << "Last Name: " << lastName << endl;
cout << "Badge Number: " << badgeNum << endl;
}
};
Parkin ticket class:
class ParkingTicket
{
private:
ParkedCar car;
ParkingMeter meter;
PoliceOfficer officer;
int fineAmount;
public:
ParkingTicket(ParkedCar &carT, ParkingMeter &meterT, PoliceOfficer &officerT)
{
car = carT;
meter = meterT;
officer = officerT;
fineAmount = calcFineAmount();
}
int calcFineAmount()
{
return (25 + 10 * (ceil((car.getNumParkedMinutes()- meter.getPurchasedParkingMins())/60.0) - 1));
}
void print()
{
cout << " ***** TICKET INFORMATION *****" << endl;
cout << "-------------------------------------" << endl;
car.print();
cout << "-------------------------------------" << endl;
officer.print();
cout << "-------------------------------------" << endl;
cout << "- Fine - " << "Amount: $" << fineAmount << endl;
cout << "-------------------------------------" << endl;
}
};
int main()
{
string carMake;
string carModel;
string carColor;
string carLicenseNum;
int numMinutesParked;
int purchasedParkingMins;
string lastName;
string firstName;
string badgeNum;
cout << "Enter information for each object below. " << endl;
cout << "CAR: " << endl;
cout << "Make: ";
cin >> carMake;
cout << "Model: ";
cin >> carModel;
cout << "Color: ";
cin >> carColor;
cout << "License Number: ";
cin >> carLicenseNum;
do
{
cout << "Number of minutes car has been parked: ";
cin >> numMinutesParked;
}
while (numMinutesParked < 0);
ParkedCar car1(carMake, carModel, carColor, carLicenseNum, numMinutesParked);
cout << " METER: " << endl;
do
{
cout << "Number of minutes purchased: ";
cin >> purchasedParkingMins;
}
while (purchasedParkingMins < 0);
ParkingMeter meter1(purchasedParkingMins);
cout << " POLICE OFFICER: " << endl;
cout << "First Name: ";
cin >> firstName;
cout << "Last Name: ";
cin >> lastName;
cout << "Badge Number: ";
cin >> badgeNum;
PoliceOfficer officer1(lastName, firstName, badgeNum);
if (officer1.isTicketNeccessary(car1, meter1) == true)
{
ParkingTicket ticket1(car1, meter1, officer1);
ticket1.print();
}
else
{
cout << " * No ticket issued. *" << endl;
}
return 0;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.