This program need run in c++ in visual studio please need step for step for file
ID: 3823516 • Letter: T
Question
This program need run in c++ in visual studio please need step for step for files in the main and each class thank.
Proble 14 page 889 book Starting Out With From Control Strcuctures Trought Objects Tony Gaddis Eighth Edition.
This is the third time I ask this same question and I have not solved the problem
14. Parking Ticket Simulator 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 respon- sibilities are: To know the car's make, model, color, license number, and the number of min- utes 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 a hour that the car is illegally parked, plus $10 for every additional hour or part of an hour that the car is illegally parked 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 a 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 car's time has expired. Write a program that demonstrates how these classes collaborate.Explanation / Answer
Here is the code for ParkedCar.h:
#pragma once
#include <iostream>
#include <cstring>
using 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;
};
And the code for 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;
parkedminutes = aparkedminutes;
}
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)
{
parkedminutes = aparkedminutes;
}
void ParkedCar::set(string amake, string amodel, string acolor, string alicensenumber, int aparkedminutes)
{
make = amake;
model = amodel;
color = acolor;
licensenumber = alicensenumber;
parkedminutes = aparkedminutes;
}
string ParkedCar::getmake() const
{
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 << "Model: " << model << endl;
cout << "Color: " << color << endl;
cout << "License Number: " << licensenumber << endl;
}
Here is ParkingMeter.h:
#pragma once
//#include"ParkedCar.h"
//#include"ParkingTicket.h"
//#include"PoliceOfficer.h"
#include <iostream>
using namespace std;
class ParkingMeter {
private:
int minutespurchased;
public:
ParkingMeter();
ParkingMeter(int);
~ParkingMeter();
void setparkingmeter(int);
int getparkingmeter() const;
};
And ParkingMeter.cpp:
#include"ParkingMeter.h"
ParkingMeter::ParkingMeter()
{
minutespurchased = 0;
}
ParkingMeter::ParkingMeter(int aminutespurchased)
{
minutespurchased = aminutespurchased;
}
ParkingMeter::~ParkingMeter() {}
void ParkingMeter::setparkingmeter(int aminutespurchased)
{
minutespurchased = aminutespurchased;
}
int ParkingMeter::getparkingmeter() const
{
return minutespurchased;
}
ParkingTicket.h:
#pragma once
#include <iostream>
#include"ParkedCar.h"
#include"ParkingMeter.h"
#include"PoliceOfficer.h"
#include <iostream>
using namespace std;
class ParkingTicket {
private:
int fine;
ParkingMeter PM;
ParkedCar PC;
PoliceOfficer PO;
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) {
fine = 25;
}
else {
if (illegaltime > 60)
{
int temp = illegaltime;
fine = 25;
while (temp > 0 || temp > 60)
{
fine += 10;
temp -= 60;
}
}
}
cout << "Fine: $" << getfine() << endl;
}
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 <iostream>
#include"ParkingTicket.h"
#include"ParkingMeter.h"
#include"ParkedCar.h"
#include <cstdlib>
using namespace std;
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 <iostream>
#include <cstring>
using 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 = abadge;
}
void PoliceOfficer::setOfficer(string aname, string abadge)
{
badge = 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() << endl;
}
void PoliceOfficer::patrol()
{
if (PC.getparkedminutes() > PM.getparkingmeter()) /*parked minutes >= minutes purchased*/
{
ParkingTicket PT;
PT.generateticket();
}
else
{
cout << "No crime has been commited." << endl;
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.