Может кто-нибудь сказать, почему моя программа печатает неправильные значения?Я в основном следил за видео на 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