@The_Beginer

Как добавить в структуру массив char из 2 и более слов?

Собственно проблема с добавлением в структуру...Если добавлю в Введите производителя одно слово, например Ford, то всё отобразит без проблем
Но если введу Lamborgini Diablo то после нажатия Enter программа завершается.
Пробовал cin.getline(kolcar->namecar), getline(cin,kolcar->namecar) но ошибка не исчезла

#include "stdafx.h"
#include <iostream>
#include <string>
#include <conio.h>

struct car 
{
	char namecar[80];
	int godvipuska;
};

using namespace std;

int main()
{
	setlocale(LC_ALL, "Russian");
	
	int kolvoavt = 0;
	string str1;
	cout << "Сколько автомобилей поместить в каталог ?: ";
	cin >> kolvoavt;
	car *kolcar = new car[kolvoavt];
	for (int it = 0; it < kolvoavt; it++)
	{
		cout << "Автомобиль #" << it + 1 << endl;
		cout << "Введите производителя: "<<endl;
		cin>>kolcar->namecar;
		cout << "Укажите год выпуска: "<<endl;
		cin >> (*kolcar).godvipuska;
		kolcar++;
	}
	cout << "Вот ваша коллекция :" << endl;
	for (int it = 0; it < kolvoavt; it++)
	{
		kolcar--;
		cout << kolcar->godvipuska <<" "<< kolcar->namecar<<endl;
	}
	delete kolcar;
	system("pause");
    return 0;
}


5ee76174a8632496408607.jpeg
5ee7617990592184451861.jpeg
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
@Flysink
Тебе нужно использовать getline, вместо char - string
getline(cin >> ws, kolcar->namecar);
И соответственно освободить память:
delete[] kolcar;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы