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

Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
Закрыто
Аватара пользователя

Автор темы
ravial555
Сообщения: 108
Зарегистрирован: 09 ноя 2016, 21:15
Решено: 1
Откуда: МО, Кубинка-Наро-Фоминск
Благодарил (а): 16 раз
Поблагодарили: 15 раз
Контактная информация:

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

#1

17 сен 2017, 23: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, то всё работает... Проблему я эту обошёл, но интересно таки почему код не работает как хочется? Глупая ошибка? Или какая то особенность в работе с переменными...
Последний раз редактировалось пользователем 1 Dja; всего редактировалось раз: 15

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

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

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

#2

18 сен 2017, 00: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
Сообщения: 938
Зарегистрирован: 16 фев 2017, 20:03
Решено: 5
Откуда: г. Хабаровск
Благодарил (а): 268 раз
Поблагодарили: 262 раза
Контактная информация:

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

#3

18 сен 2017, 01:14

zinks, для временных переменных сие неудобно.
ravial555, вроде бы #include <iostream> в GNU/Linux даром не нужен (но это не точно). getline, вроде бы, вводится в таком формате getline (cin, name1, '\n'). А вообще могу посоветовать как начинающему - https://www.youtube.com/watch?v=MOpF5lk ... gs&index=1
Вы не готовы! :pc2:
Изображение

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

rogoznik
Сообщения: 10015
Зарегистрирован: 27 июн 2017, 13:36
Решено: 128
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1950 раз
Контактная информация:

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

#4

18 сен 2017, 06:00

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

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

FliXis
Сообщения: 363
Зарегистрирован: 31 авг 2016, 14:01
Решено: 8
Благодарил (а): 89 раз
Поблагодарили: 21 раз
Контактная информация:

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

#5

18 сен 2017, 06:24

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

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

FliXis
Сообщения: 363
Зарегистрирован: 31 авг 2016, 14:01
Решено: 8
Благодарил (а): 89 раз
Поблагодарили: 21 раз
Контактная информация:

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

#6

18 сен 2017, 06:27

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

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

root
Сообщения: 938
Зарегистрирован: 16 фев 2017, 20:03
Решено: 5
Откуда: г. Хабаровск
Благодарил (а): 268 раз
Поблагодарили: 262 раза
Контактная информация:

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

#7

18 сен 2017, 08:09

FliXis, если уж спутал, точно не с этим.
darkfenix, обычно дабы ввести строку с пробелами без проблем.
Вы не готовы! :pc2:
Изображение

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

Автор темы
ravial555
Сообщения: 108
Зарегистрирован: 09 ноя 2016, 21:15
Решено: 1
Откуда: МО, Кубинка-Наро-Фоминск
Благодарил (а): 16 раз
Поблагодарили: 15 раз
Контактная информация:

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

#8

18 сен 2017, 08:26

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

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

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

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

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

rogoznik
Сообщения: 10015
Зарегистрирован: 27 июн 2017, 13:36
Решено: 128
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1950 раз
Контактная информация:

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

#9

18 сен 2017, 08:32

ИзображениеИзображение

no avatar

Dima26RUS
Сообщения: 8
Зарегистрирован: 14 дек 2017, 21:23
Контактная информация:

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

#10

14 дек 2017, 21:31

Попробуй заменить "getline" на "gets" или "get" и там уже дальше смотри, но смотри на VS по крайней мере нужно было библиотеки подключать, хз как у тебя

Закрыто

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя