Форум программистов, компьютерный форум CyberForum.ru

Ввод символьной строки. Подскажите что делаю не так? - C++

Восстановить пароль Регистрация
 
SerJer
0 / 0 / 0
Регистрация: 18.10.2015
Сообщений: 26
31.03.2016, 07:42     Ввод символьной строки. Подскажите что делаю не так? #1
Подскажите что делаю не так?

char model[15];
хочу что бы модель можно было ввести спробелами.
меняем на string mondel;
значит нужно поменять способ ввода cin >> x[i].model; на getline(cin, x[i].model), ну или оставить char model[15], а поменять способ ввода, скажеи так cin.getline(model, 15);

В любом случаи получаю ошибку: индекатор getline не определен ну или просто подчеркнуто красным.

В чем дело подскажите. Убил кучу время, а результата нуль
Большое спасибо.



Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
 
using namespace std;
 
struct Cars 
{                   
    char model[15];
    int price;  
};
 
 
void inputCars(Cars *x, int n)
{
    for (int i = 0; i < n; i++)
    {
        cout << "Input car #" << i+1 << " model: "; cin >> x[i].model;
        cout << "Input car #" << i+1 << " price: "; cin >> x[i].price;
    }
}
 
 
void OUTPUT_cars(Cars *x, int n)
{   
    cout << endl << "Model" << "   " << "Price" <<  endl;
 
    for (int i = 0; i < n; i++)
    {
        cout << x[i].model << "    " << x[i].price << endl;
    }
}
 
int main()
{       
    int n; 
    cout << "Input n: "; 
    cin >> n;
    
    Cars *Massive = new Cars[n];
    
    inputCars(Massive, n);
    OUTPUT_cars(Massive, n);
 
    delete [] Massive; 
    
    system("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MansMI
Нарушитель
1047 / 844 / 205
Регистрация: 08.01.2012
Сообщений: 3,032
31.03.2016, 08:07     Ввод символьной строки. Подскажите что делаю не так? #2
C++
1
cin.getline([x].model, 15);
TheCalligrapher
С чаем беда...
Эксперт С++
 Аватар для TheCalligrapher
2913 / 1449 / 398
Регистрация: 18.10.2014
Сообщений: 2,676
31.03.2016, 08:16     Ввод символьной строки. Подскажите что делаю не так? #3
Цитата Сообщение от SerJer Посмотреть сообщение
В любом случаи получаю ошибку: индекатор getline не определен ну или просто подчеркнуто красным.
Вы что-то выдумываете. Только что сделал в вашем коде

C++
1
cin.getline(x[i].model, 15);
и все прекрасно скомпилировалось.
zss
Модератор
Эксперт С++
 Аватар для zss
5956 / 5561 / 1788
Регистрация: 18.12.2011
Сообщений: 14,211
Завершенные тесты: 1
31.03.2016, 10:56     Ввод символьной строки. Подскажите что делаю не так? #4
C++
1
2
3
#include <iostream>
char x[15];
std::cin.getline(model, 15);
C++
1
2
3
4
#include <iostream>
#include <string>
std::string model;
std::getline(std::cin,model);
SerJer
0 / 0 / 0
Регистрация: 18.10.2015
Сообщений: 26
31.03.2016, 22:11  [ТС]     Ввод символьной строки. Подскажите что делаю не так? #5
Завтро попробую еще раз.
zss
Модератор
Эксперт С++
 Аватар для zss
5956 / 5561 / 1788
Регистрация: 18.12.2011
Сообщений: 14,211
Завершенные тесты: 1
01.04.2016, 07:02     Ввод символьной строки. Подскажите что делаю не так? #6
SerJer, Кстати
C++
1
2
3
4
5
6
7
8
9
10
void inputCars(Cars *x, int n)
{
    for (int i = 0; i < n; i++)
    {
        cout << "Input car #" << i+1 << " model: ";
        cin.getline(model, 15);
        cout << "Input car #" << i+1 << " price: "; 
        (cin >> x[i].price).get(); // get нужно для пропуска символа конца строки
    }
}
Yandex
Объявления
01.04.2016, 07:02     Ввод символьной строки. Подскажите что делаю не так?
Ответ Создать тему
Опции темы

Текущее время: 16:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru