Страница 1 из 1

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

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

Код простейший.
#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, то всё работает... Проблему я эту обошёл, но интересно таки почему код не работает как хочется? Глупая ошибка? Или какая то особенность в работе с переменными...

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

Добавлено: 18 сен 2017, 00:18
zinks
я конечто не очень знаком с С++, но на С я бы переменые обявил сначала все, а не засовывал name2 кудато в код.

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

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

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

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

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

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

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

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

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

Добавлено: 18 сен 2017, 08:09
root
FliXis, если уж спутал, точно не с этим.
darkfenix, обычно дабы ввести строку с пробелами без проблем.

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

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

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

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

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

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

Добавлено: 18 сен 2017, 08:32
rogoznik

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

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