Files
CSCI-1200/hws/ride_sharing/Driver.cpp
2025-01-23 06:14:30 -05:00

73 lines
2.6 KiB
C++

#include "Driver.h"
#include <sstream>
Driver::Driver() : age(0), rating(0.0), latitude(0.0), longitude(0.0) {}
Driver::Driver(const std::string &fName, const std::string &lName,
const std::string &gen, int a, const std::string &phone,
double r, double lat, double lon,
const std::string &vehType, const std::string &state,
const std::string &rF, const std::string &rL,
const std::string &rP)
: firstName(fName), lastName(lName), gender(gen), age(a),
phoneNumber(phone), rating(r), latitude(lat), longitude(lon),
vehicleType(vehType), currentState(state),
riderFirstName(rF), riderLastName(rL), riderPhoneNumber(rP) {}
//getters
const std::string& Driver::getFirstName() const { return firstName; }
const std::string& Driver::getLastName() const { return lastName; }
const std::string& Driver::getGender() const { return gender; }
int Driver::getAge() const { return age; }
const std::string& Driver::getPhoneNumber() const { return phoneNumber; }
double Driver::getRating() const { return rating; }
double Driver::getLatitude() const { return latitude; }
double Driver::getLongitude() const { return longitude; }
const std::string& Driver::getVehicleType() const { return vehicleType; }
const std::string& Driver::getCurrentState() const { return currentState; }
const std::string& Driver::getRiderFirstName() const { return riderFirstName; }
const std::string& Driver::getRiderLastName() const { return riderLastName; }
const std::string& Driver::getRiderPhoneNumber() const { return riderPhoneNumber; }
//setters
void Driver::setCurrentState(const std::string &state) {
currentState = state;
}
void Driver::setRiderInfo(const std::string &rf, const std::string &rl, const std::string &rp) {
riderFirstName = rf;
riderLastName = rl;
riderPhoneNumber = rp;
}
std::string Driver::toFileString() const {
//Sandra
//Huang
//Female
//25
//853-977-5304
//3.1
//40.4269
//-73.0753
//Standard
//On_the_way_to_pickup
//Michael
//Richard
//445-915-1645
std::ostringstream oss;
oss << firstName << " "
<< lastName << " "
<< gender << " "
<< age << " "
<< phoneNumber << " "
<< rating << " "
<< latitude << " "
<< longitude << " "
<< vehicleType << " "
<< currentState << " "
<< (riderFirstName.empty() ? "null" : riderFirstName) << " "
<< (riderLastName.empty() ? "null" : riderLastName) << " "
<< (riderPhoneNumber.empty() ? "null" : riderPhoneNumber);
return oss.str();
}