с++ / cin не работает

Языки программирования, IDE, компиляторы, интерпретаторы, гипервизоры и виртуальные среды
Правила форума
Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа.
Аватара пользователя

Автор темы
ravial555
Сообщения: 81
Зарегистрирован: 09 ноя 2016, 18:15
Решено: 1
Откуда: МО, Кубинка
Благодарил (а): 13 раз
Поблагодарили: 6 раз

с++ / cin не работает

Сообщение ravial555 » 17 сен 2017, 20:52

Ребят, Минт работает и хобби ради решил позаниматься С++. Сразу говорю, я только только вхожу. Но возникла проблема, о которой не знаю где и почитать.

Код простейший.

#include <iostream>
#include <string>
using namespace std;
int main()
{
int man1;
int man2;
string name1;
cout <<"Как вас зовут?\n";
getline(cin, name1);
cout << "Сколько вам лет?\n";
cin >> man1;
string name2;
cout << "А как вас зовут?\n";
getline(cin, name2);
cout << "Сколько вам лет?\n";
cin >> man2;

return 0;
}

Редактирую в Джинни. Не могу понять почему я не могу присвоить переменной name2 значение. В ходе поисков заметил, что если закомментировать строку cin>>man1 и переменную man1, то всё работает... Проблему я эту обошёл, но интересно таки почему код не работает как хочется? Глупая ошибка? Или какая то особенность в работе с переменными...


zinks
Сообщения: 89
Зарегистрирован: 23 июл 2017, 08:02
Решено: 1
Благодарил (а): 4 раза
Поблагодарили: 9 раз

с++ / cin не работает

Сообщение zinks » 17 сен 2017, 21:18

я конечто не очень знаком с С++, но на С я бы переменые обявил сначала все, а не засовывал name2 кудато в код.
Linux Mint 18.2 x86_64
kernel: 4.12.3
DE: Cinamon
Asus SABERTOOTH 990FX rev 1.0 / FX-6200 / Radeon R7 260x

Аватара пользователя

root
Сообщения: 559
Зарегистрирован: 16 фев 2017, 17:03
Решено: 3
Откуда: г. Хабаровск
Благодарил (а): 171 раз
Поблагодарили: 116 раз

с++ / cin не работает

Сообщение root » 17 сен 2017, 22:14

zinks, для временных переменных сие неудобно.
ravial555, вроде бы #include <iostream> в GNU/Linux даром не нужен (но это не точно). getline, вроде бы, вводится в таком формате getline (cin, name1, '\n'). А вообще могу посоветовать как начинающему - https://www.youtube.com/watch?v=MOpF5lk ... gs&index=1
User: adminka
OS: Linux Mint 18.2 Sonya Cinnamon :thumbs:
Kernel: 4.11.0-14-generic
Processor: Intel Core i7-4510U, 2.00 GHz
Memory: 6 GB
Graphics card: GeForce 840M

Мой самый преданный фанат - x230 ^_^
Изображение

В сети
Аватара пользователя

darkfenix
Сообщения: 457
Зарегистрирован: 27 июн 2017, 10:36
Решено: 6
Благодарил (а): 29 раз
Поблагодарили: 76 раз

с++ / cin не работает

Сообщение darkfenix » 18 сен 2017, 03:00

ravial555 писал(а): getline(cin, name1);
Зачем? Прощеcin >> name1
Ну и для name2 точно так же. Ниразу не использовал getline(), поэтому про особенности работы с ним не могу ничего сказать.

Аватара пользователя

FliXis
Сообщения: 228
Зарегистрирован: 31 авг 2016, 11:01
Решено: 5
Благодарил (а): 57 раз
Поблагодарили: 14 раз

с++ / cin не работает

Сообщение FliXis » 18 сен 2017, 03:24

Для вопросов по программированию рекомендую форум - http://www.cyberforum.ru/
А так, рекомендую не заморачиваться со строками, там свои нюансы и это редко нужно на реальной работе.

Аватара пользователя

FliXis
Сообщения: 228
Зарегистрирован: 31 авг 2016, 11:01
Решено: 5
Благодарил (а): 57 раз
Поблагодарили: 14 раз

с++ / cin не работает

Сообщение FliXis » 18 сен 2017, 03:27

root писал(а):ravial555, вроде бы #include <iostream> в GNU/Linux даром не нужен (но это не точно)
Вы спутали наверно с #include <stdafx.h> :smile:

Аватара пользователя

root
Сообщения: 559
Зарегистрирован: 16 фев 2017, 17:03
Решено: 3
Откуда: г. Хабаровск
Благодарил (а): 171 раз
Поблагодарили: 116 раз

с++ / cin не работает

Сообщение root » 18 сен 2017, 05:09

FliXis, если уж спутал, точно не с этим.
darkfenix, обычно дабы ввести строку с пробелами без проблем.
User: adminka
OS: Linux Mint 18.2 Sonya Cinnamon :thumbs:
Kernel: 4.11.0-14-generic
Processor: Intel Core i7-4510U, 2.00 GHz
Memory: 6 GB
Graphics card: GeForce 840M

Мой самый преданный фанат - x230 ^_^
Изображение

Аватара пользователя

Автор темы
ravial555
Сообщения: 81
Зарегистрирован: 09 ноя 2016, 18:15
Решено: 1
Откуда: МО, Кубинка
Благодарил (а): 13 раз
Поблагодарили: 6 раз

с++ / cin не работает

Сообщение ravial555 » 18 сен 2017, 05:26

Ребят, я следую книге Эллайн А., С++ от ламера до программера, поэтому #include <iostream> . К тому же при ошибке в этой строке Джинни на меня ругается и отказывается компилировать.

Все переменные изначально я размещал в начале программы - результат тот же. Строка getline(cin, name2); не работает. :dash2:

И да я обошёл проблему используя cin >> name2. Но вопрос то остался. И пробел в понимании сути языка тоже.

На киберфоруме я лазил... были как будто похожие ситуации. Но ответа я пока не нашёл. Прежде чем лазить туда решил спросить у "своих" :smile:

В сети
Аватара пользователя

darkfenix
Сообщения: 457
Зарегистрирован: 27 июн 2017, 10:36
Решено: 6
Благодарил (а): 29 раз
Поблагодарили: 76 раз

с++ / cin не работает

Сообщение darkfenix » 18 сен 2017, 05:32


Вернуться в «Программирование, скриптинг, виртуализация»