this is the code i have for my c++ projet but it does not compile would you plea
ID: 3773048 • Letter: T
Question
this is the code i have for my c++ projet but it does not compile would you please check it why it does not run in visual studio. and the description for the problem is :
Design the following set of classes so that they work together to simulate a police officer issuing a parking ticket. · 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 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: 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 Write a program that demonstrates how these classes collaborate.
#include <iostream>
#include <cmath>
using namespace std;
class ParkedCar
{
string make;
string model;
string color;
string licenseNumber;
int minutesParked;
public:
ParkedCar()
{
make = "Ford";
model = "Figo";
color = "Red";
licenseNumber = "TX041234";
minutesParked = 0;
}
void setMake(string m) { make = m; }
void setModel(string m) { model = m; }
void setColor(string c) { color = c; }
void setLicenseNumber(string l) { licenseNumber = l; }
void setMinutesParked(int n) { minutesParked = n; }
string getMake() { return make; }
string getModel() { return model; }
string getColor() { return color; }
string getLicenseNumber() { return licenseNumber; }
int getMinutesParked() { return minutesParked; }
};
class ParkingMeter
{
ParkedCar pc;
int minutesPurchased;
public:
ParkingMeter(ParkedCar car, int minutes)
{
pc = car;
minutesPurchased = minutes;
}
void setMinutesPurchased(int m) { minutesPurchased = m; }
int getMinutesPurchased() { return minutesPurchased; }
void setParkedCar(ParkedCar p) { pc = p; }
ParkedCar getParkedCar() { return pc; }
};
class PoliceOfficer
{
string policeName;
int badgeNumber;
public:
PoliceOfficer(string name, int num)
{
policeName = name;
badgeNumber = num;
}
void setPoliceName(string name) { policeName = name; }
void setBadgeNumber(int num) { badgeNumber = num; }
string getPoliceName() { return policeName; }
int getBadgeNumber() {return badgeNumber; }
ParkingTicket examineCarMeter(ParkingMeter parkingMeter)
{
ParkedCar pc = parkingMeter.getParkedCar();
int x = parkingMeter.pc.getMinutesParked() - parkingMeter.getMinutesPurchased();
if(x > 0)
{
ParkingTicket pTicket (pc, this, x);
}
else
{
cout<<"Parking Ticket not required."<<endl;
}
}
};
class ParkingTicket
{
ParkedCar car;
PoliceOfficer police;
int fineMinutes;
public:
ParkingTicket(ParkedCar pc, PoliceOfficer po, int min)
{
car = pc;
police = po;
fineMinutes = min;
}
int calculateFineAmount()
{
if(fineMinutes <= 60)
return 25;
else
{
return 25 + ceil((fineMinutes - 60)/60.0) * 10;
}
}
};
int main()
{
ParkedCar p;
ParkingMeter pm (p, 10);
PoliceOfficer po ("Kumar", 222);
po.examineCarMeter (pm);
}
Explanation / Answer
Answer:
Program code to copy:
#include <iostream>
#include <cmath>
#include <string>
using namespace std;
class ParkedCar
{
string make;
string model;
string color;
string licenseNumber;
int minutesParked;
public:
ParkedCar()
{
make = "Ford";
model = "Figo";
color = "Red";
licenseNumber = "TX041234";
minutesParked = 5;
}
void setMake(string m) { make = m; }
void setModel(string m) { model = m; }
void setColor(string c) { color = c; }
void setLicenseNumber(string l) { licenseNumber = l; }
void setMinutesParked(int n) { minutesParked = n; }
string getMake() { return make; }
string getModel() { return model; }
string getColor() { return color; }
string getLicenseNumber() { return licenseNumber; }
int getMinutesParked() { return minutesParked; }
void print()
{
cout<<"Car Make: "<<make<<endl;
cout<<"Car Mode: "<<model<<endl;
cout<<"Car Color: "<<color<<endl;
cout<<"Car licenseNumber: "<<licenseNumber<<endl;
cout<<"Car Minutes parked: "<<minutesParked<<endl;
}
};
class ParkingMeter
{
ParkedCar pc;
int minutesPurchased;
public:
ParkingMeter(ParkedCar car, int minutes)
{
pc = car;
minutesPurchased = minutes;
}
void setMinutesPurchased(int m) { minutesPurchased = m; }
int getMinutesPurchased() { return minutesPurchased; }
void setParkedCar(ParkedCar p) { pc = p; }
ParkedCar getParkedCar() { return pc; }
void print()
{
cout<<"Number of minutes the car purchased: "<<minutesPurchased <<endl;
}
};
class ParkingTicket
{
int fineMinutes;
public:
ParkingTicket(int min)
{
fineMinutes = min;
}
int calculateFineAmount()
{
if(fineMinutes <= 60)
return 25;
else
{
return (25 + ceil((fineMinutes - 60)/60.0) * 10);
}
}
};
class PoliceOfficer
{
string policeName;
int badgeNumber;
public:
PoliceOfficer(string name, int num)
{
policeName = name;
badgeNumber = num;
}
void setPoliceName(string name) { policeName = name; }
void setBadgeNumber(int num) { badgeNumber = num; }
string getPoliceName() { return policeName; }
int getBadgeNumber() {return badgeNumber; }
void examineCarMeter(ParkingMeter parkingMeter)
{
ParkedCar pc = parkingMeter.getParkedCar();
int x = pc.getMinutesParked() - parkingMeter.getMinutesPurchased();
ParkingTicket pTicket(x);
if(x > 0)
{
cout<<"Need to pay fine of "<<pTicket.calculateFineAmount()<<endl;
}
else
{
cout<<"Parking Ticket not required."<<endl;
}
}
void print()
{
cout<<"Police officer name: "<<policeName<<endl;
cout<<"Badge number: "<<badgeNumber<<endl;
}
};
int main()
{
ParkedCar p;
ParkingMeter pm (p, 10);
p.print();
pm.print();
PoliceOfficer po ("Kumar", 222);
po.print();
po.examineCarMeter (pm);
system("pause");
return 0;
}
Sample Output:
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.