Форум программистов, компьютерный форум, киберфорум
С++ под Linux
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 01.09.2017
Сообщений: 1
1

Разница между cin >> x и getline(cin, x)

01.09.2017, 19:43. Просмотров 603. Ответов 1
Метки нет (Все метки)


Собственно код, на который я опираюсь:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
int main()
{
    string key;
    string name = "ivan";
    string female = "ivanov";
    cout << "write your name" << endl;
    getline(cin, name);
    cout << "write your female " << endl;
    getline(cin, female);
    cout << "write your key" << endl;
    getline(cin, key);
    if (name == "ivan" && female == "ivanov" && key == "1" && name.length() != 0) {
        cout << "gg" << endl;
    }
    else
    {
        cout << "not gg" << endl;
    }
    return 0;
}
Он как есть сейчас работает, но изначально тип данных у key был int (т.к значения цифра).
И это всё дело не заводилось, решением было поменять тип данных на string, либо выводить через cin >> x
В вики сказано, что стринг - для строк(буквы), а инт для цифр?
Подсказали, что цифра тоже может быть строкой, и тут меня ударил вопрос. А зачем вообще cin >> x , если все цифры и буквы могут являться строкой, и их можно записывать в переменные через тип string?
Я конечно понимаю, что вопрос глупый, но это мой ЯП.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.09.2017, 19:43
Ответы с готовыми решениями:

Какая разница между cin и getline?
1) Какая разница между cin и getline? 2) Почему будет работать &quot;string s=a+&quot; &quot;+b&quot; (где а и b...

Продемонстрировать различие между вводом с помощью cin.Get и cin.Getline с тремя параметрами
Нужна помощь. Задача продемонстрировать различие между вводом с помощью cin.get и cin.getline с...

Метод getline(cin, m) не срабатывает без cin.ignore() / Ревью кода
Почему в моем случае getline(cin, m) не срабатывает без cin.ignore() ? Если по коду есть...

Объясните работу методов cin.getline и cin.ignore
Фрагмент программы ниже. Что делают cin.getline и cin.ignore (12-13 строки) void...

1
90 / 90 / 20
Регистрация: 16.08.2017
Сообщений: 182
Записей в блоге: 1
03.09.2017, 15:47 2
Здравствуйте!
Типы данных не просто так существуют. Можно, конечно, числа получать в виде символьной строки (иногда это даже необходимо, например для реализации проверки формата числа). Но в большинстве случаев это приведет к дополнительной операции конвертирования типов данных (строки в число), ведь вычисления со строкой не выполняют)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.09.2017, 15:47

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Отличие функции cin.get и cin.getline
Добрый день! Изучаю функции get и getline, сказано, что они отличаются тем, что функция get...

Как работает cin.peek, cin,get, cin.ignore, cin.clear?
Здравствуйте, товарищи и не товарищи!:) Я только начал изучать C++, а уже использую вещи, которые...

Cin вместо cin.getline
#include &lt;stdlib.h&gt; #include &lt;string.h&gt; #include &lt;fstream&gt; using namespace std; int...

Не работает ни cin.Get(), ни cin.Getline()
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &quot;conio.h&quot; #include &quot;windows.h&quot; #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.