04. Cout, cin и endl
2019-04-06, 10:59 AM

std::cout

Как мы уже говорили в предыдущих уроках, объект std::cout (который находится в библиотеке iostream) используется для вывода данных на экран (в консольное окно). В качестве напоминания, вот наша программа «Hello, world!»:

1  #include <iostream>

2
3  int main()
4  {
5    std::cout << "Hello, world!";
6    return 0;
7  }
Для вывода нескольких предложений на одной строке оператор вывода << нужно использовать несколько раз. Например:

1  #include <iostream>

2

3  int main()
4  {
5   int a = 7;
6   std::cout << "a is " << a;
7   return 0;
8  }

Программа выведет:

a is 7

А какой результат выполнения следующей программы?

1  #include <iostream>

2

3  int main()
4  {
5   std::cout << "Hi!";
6   std::cout << "My name is Anton.";
7   return 0;
8  }

Возможно, вы удивитесь, но:

Hi!My name is Alexey.

std::endl

Если текст нужно вывести раздельно (на нескольких строках) – используйте std::endl. При использовании с std::cout, std::endl вставляет символ новой строки. Таким образом, мы перемещаемся к началу следующей строки.

Например:

1  #include <iostream>

2

3  int main()
4  {
5   std::cout << "Hi!" << std::endl;
6   std::cout << "My name is Alexey." << std::endl;
7   return 0;
8  }

Результат:

Hi!
My name is Alexey.

std::cin

std::cin является противоположностью std::cout. В то время как std::cout выводит данные в консоль с помощью оператора вывода <<, std::cin получает данные от пользователя с помощью оператора ввода >>. Используя std::cin мы можем получать и обрабатывать пользовательский ввод.

1  #include <iostream>

2

3  int main()
4  {
5   std::cout << "Enter a number: "; // просим пользователя ввести любое число
6   int a = 0;
7   std::cin >> a; // получаем пользовательское число и сохраняем его в переменную a
8   std::cout << "You entered " << a << std::endl;
9   return 0;
10  }

Попробуйте скомпилировать и запустить эту программу. При запуске вы увидите «Enter a number:», затем программа будет ждать, пока вы введёте число. Как только вы это сделаете и нажмёте Enter, программа выведет «You entered», а затем ваше число.

Например (я ввёл 7):

Enter a number: 7
You entered 7

Это самый простой способ получения данных от пользователя. Мы будем его использовать в дальнейших примерах.

Если ваше окно закрывается сразу после ввода числа – читайте Урок №7 (там есть решение этой проблемы).

Если же ввести действительно большое число, то вы получите переполнение, так как переменная а может содержать числа только определённого размера/диапазона. Если число больше/меньше допустимых максимумов/минимумов, то происходит переполнение. Мы ещё детальнее об этом поговорим в следующих уроках.

std::cin, std::cout, << и >>

Новички часто путают std::cin, std::cout, << и >>. Вот простые способы запомнить их различия:

  •    std::cin и std::cout всегда находятся в левой стороне стейтмента;
  •    std::cout используется для вывода значения (cOUT = вывод);
  •    std::cin используется для получения значения (cIN = ввод);
  •    оператор вывода << используется с std::cout и показывает направление, в котором данные движутся от r-value в консоль. std::cout << 7; (значение 7 перемещается в консоль);
  •    оператор ввода >> используется с std::cin и показывает направление, в котором данные движутся из консоли в переменную. std::cin >> a; (значение из консоли перемещается в переменную a).
Категория: C++ теория | Добавил: shadrinuro
Просмотров: 179 | Загрузок: 0 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar