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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mihail96d
0 / 0 / 0
Регистрация: 15.04.2016
Сообщений: 11
#1

Небольшое затруднение - C++

20.06.2016, 00:47. Просмотров 187. Ответов 3

Доброго времени суток, форумчане.

Почему этот код при введении значения yourword допустим "a b" выводит на экран не "a ba ba b", а "a a a"?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
using namespace std;
 
string trinity(string);
 
int main()
{
    cout << "Your word?" << endl;
    string yourword;
    cin >> yourword;
    cout << trinity(yourword) << endl;
    return 0;
}
 
string trinity(string userword)
{
    return (userword + userword + userword);
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2016, 00:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Небольшое затруднение (C++):

Затруднение в С++ - C++
Здравствуйте. Не подскажите, что означает знак &quot;-&gt;&quot; и &quot;NULL&quot; . В программе часто встречаются, никак не могу понять, что это...

Затруднение - C++
и так ребят,есть задание: Движение закрашенного треугольника в центре экрана по синусоиде сверху вниз. вот у меня возник вопрос,как...

затруднение в цикле - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;math.h&gt; #include &lt;ctime&gt; #include &lt;windows.h&gt; #include...

Затруднение со scanf - C++
Вот моя переписанная программа, затрудняюсь со scanf (как переделать на С++ ?) #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include...

это выражение вызвало затруднение - C++
помогите пожалуйста ksu465, пожалуйста, прочитайте правила форума и постарайтесь впредь их соблюдать: Если в Вашем задании...

Затруднение при использовании SYSTEMTIME - C++
Здравствуйте. У меня возникла проблема с данной простой программкой, ее суть - в изменении даты на некоторый срок и в последующем...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DUMP
57 / 31 / 7
Регистрация: 22.02.2015
Сообщений: 261
20.06.2016, 00:56 #2
mihail96d, считывай так :
C++
1
std::getline(std::cin, yourword);
Добавлено через 1 минуту
если просто std::cin ,то a и b за два слова считаются и помещается первое.
1
castaway
Эксперт С++
4884 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
20.06.2016, 00:56 #3
Цитата Сообщение от mihail96d Посмотреть сообщение
Почему
Так работает std::cin.
0
meJevin
155 / 147 / 58
Регистрация: 18.11.2015
Сообщений: 657
Завершенные тесты: 1
20.06.2016, 01:43 #4
mihail96d, ты когда используешь std::cin у тебя считывание в твою string yourword; происходит до того момента, пока std::cin не наткнется на пробел (или другой символ-разделитель, которые std::cin игнорит). Когда же он натыкается на пробел - считывание прекращается, а то, что он считывал до этого момента, помещается в yourword без пробела. И, когда ты вводишь что-то типа "a b", std::cin обнаруживает пробел и помещает предыдущие символы (в нашем случае - одна буква 'a') в твой yourword. Для того, чтобы считать в yourword целую строку, с пробелами там и т.п (aka символы-разделители), ты должен использовать, например, std::getline().

C++
1
std::getline(std::cin, yourword, '\n');
Он считывает данные до обнаружения символа, переданного в третий аргумент, во второй аргумент, которым является твоя std::string переменная. Таким образом, ты введешь "a b", нажмешь Enter, и данные, которые ты ввел, будут выглядеть так: "a b\n", где '\n' - символ перехода на новую строку (он там появился, потому что ты нажал на Enter). Таким образом std::getline() в твою переменную yourword поместит "a b" (заметь, без '\n').

Все, объяснил максимально подробно.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2016, 01:43
Привет! Вот еще темы с ответами:

Затруднение в составлении формулы математического уравнения в С++ - C++
Здравствуйте! Возникла проблема в адекватном написании в одну строку( уравнение выглядит таким образом: приложил фото для наглядности,...

Затруднение с решением задачи на одномерный массив - C++
Здравствуйте! Дано задание: Массив содержит 7 действительных чисел. Вычислить сумму квадратов тех чисел, абсолютная величина которых...

Затруднение в составлении математической формулы в С++ математического уравнения - C++
Здравствуйте, у меня есть затруднении в составлении формулы математического уравнения. Внешний вид его на бумаги я скинул ниже, записать...

Небольшое уточнение - C++
Дан массив. в нем выполняется поиск элемента последовательным или бинарным методами (в зависимости от заданных параметров). вот код полной...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.06.2016, 01:43
Ответ Создать тему
Опции темы

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