Векторная печать неверных данных - PullRequest
0 голосов
/ 23 ноября 2018

Может кто-нибудь сказать, почему моя программа печатает неправильные значения?Я в основном следил за видео на YouTube, как использовать векторы.И программа, которая была написана, я смог запустить ее.Я попытался реализовать тот же метод для моей программы, который предназначен для автомобилей (видео было для студентов).Но у меня проблемы.Самое смешное, что студенческая программа работала хорошо, я не помню, чтобы что-то в ней менялось, и теперь она вообще ничего не печатает.

Итак, я пытаюсь создать программу, которая вводит марку автомобиля, год и цену в вектор класса, а затем распечатывает всю сохраненную информацию.Но в настоящее время я получаю смешанные результаты.Я либо получаю пробелы для результатов, либо какие-то огромные числа и пробелы для бренда (строка)

Когда я не использую ссылки и получаю пустые результаты, с & я получаю то, что написаланиже.

У кого-нибудь есть идея?

Когда я ввожу: бренд - Lambo год - 1997 цена 25000

Я получаю: Марка автомобиля: Год автомобиля: 2686588 Цена автомобиля: 6.95144e-308


main.cpp

#include <iostream>
#include <string>
#include "Car.h"
#include <vector>


using namespace std;

Car::Car(){

}
Car::Car(string brand, int year, double price){
brand;
year;
price;
}
Car::~Car(){

}
string Car::getBrand() const{
return brand;
}
int Car::getYear() const{
return year;
}
double Car::getPrice()const{
return price;
}

void Car::setBrand(string brand){
brand;
}
void Car::setYear(int year){
year;
}
void Car::setPrice(double price){
price;
}




void enterData(vector<Car>&);
void showData(const vector<Car>&);

int main(){

vector<Car> myGarage;
int chc;

cout << "-- M A I N  M E N U --\n\n";
do{
    cout << "Please make a choice\n\n";
    cout << "1. Enter car details" << endl;
    cout << "2. Show car details" << endl;
    cout << "3. Exit" << endl;

    cin >> chc;
    switch(chc){
        case 1:
            enterData(myGarage);
        break;
        case 2:
            showData(myGarage);
        break;
        case 3:
            cout << "Have a nice day!";
        break;
    }

}
while(chc != 3);

}

void enterData(vector<Car>& newMyGarage){
string brand;
int year;
double price;

cout << "How many cars are in your garage?";
int garageSize;
cin >> garageSize;

for(int i = 0; i < garageSize; i++){
    cout << "Car brand: ";
    cin >> brand;
    cout << "Car year: ";
    cin >> year;
    cout << "Car price: ";
    cin >> price;

    Car newCar(brand, year, price);
    newMyGarage.push_back(newCar);
    cout << endl;
}



}
void showData(const vector<Car>& newMyGarage){
  unsigned int size = newMyGarage.size();
   for(unsigned int s = 0; s < size; s++){
        cout << "Car brand: " << newMyGarage[s].getBrand() << endl;
        cout << "Car year: " << newMyGarage[s].getYear() << endl;
        cout << "Car price: " << newMyGarage[s].getPrice() << endl;
        cout << endl;
       }

}

заголовочный файл Car.h

#ifndef CAR_H_INCLUDED
#define CAR_H_INCLUDED
#include <iostream>
#include <string>

using namespace std;

class Car{
public:
    string brand;
    int year;
    double price;
    Car();
    Car(string, int, double);
    ~Car();
    string getBrand() const;
    int getYear() const;
    double getPrice() const;
    void setBrand(string);
    void setYear(int);
    void setPrice(double);


};
#endif // CAR_H_INCLUDED
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...