Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Философия программирования на C++: поток ввода


Поток ввода cin.


Здравствуйте, уважаемые подписчики. Сегодня будет первый из мини-выпусков, посвященный потоку ввода. Это ознакомительный выпуск, просто рассказывающий как можно использовать поток ввода в простых приложениях без подробностей.

Немного слов о том, что мы планируем делать дальше. Теперь выпуски будут выходить в среднем 2 раза в неделю. В следующих выпусках так же кратко мы планируем рассказать об указателях, массивах и прочих мелких вещах, унаследованных С++ от С. После рассказа обо всех этих основах мы планируем уже начать выпускать собственно темы, ближе соответствующие названию рассылки (то есть чуть более углубленное понимание С++).

А пока что введение в поток ввода.

В прошлых выпусках мы постоянно использовали поток вывода cout, с помощью которого было довольно просто отображать на консоль все стандартные типы данных. Поток ввода аналогично позволяет с той же легкостью производить ввод с консоли всех этих типов данных. Переменная для этого потока называется cin. Все выглядит очень похоже на cout. Из примера все должно стать понятно.

#include "iostream"
using namespace std;

int main() {
  int a = 10;
  cout << "a = " << a << endl;  //Вывод a = 10
  cin >> a;  //Ввод целого числа
  cout << "a = " << a << endl;
}


После запуска программа выведет a = 10 и будет ожидать ввода пользователем числа. После того как пользователь его введет, дальше в переменной a будет это число, которое будет выведено в следующей строке. Все очень просто и понятно.

Однако если пользователь введт вместо числа что-нибудь другое вроде "asdada", то в переменную a ничего не будет записано, сохранится значение 10. Поэкспериментируйте с вводом (например, можно попытаться ввести "100asdsd").

Так же, как и с потоком вывода, из потока ввода можно подряд получать несколько значений.

#include "iostream"
using namespace std;

int main() {
  int a = 10;
  int b = 100;
  cin >> a >> b;
  cout << "a = " << a << ", b = " << b << endl;
}


На этом все, советую попытаться использовать и другие типы данных (char, double) для ввода.
Любые вопросы и предложения присылайте на thinkingc@qt-prog.ru

В избранное