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

Философия программирования на C++ Выпуск 10. Клавиатура.


Добрый день, уважаемые читатели!

Сегодня мы научимся читать данные с клавиатуры! Программирование не имело бы смысла, если бы программа не умела что-либо спрашивать у пользователя.

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

#include <iostream>

using namespace std;

int main() {
    int a = 0;  // Первая переменная, в ней мы будем хранить первое введенное число
    int b = 0;  // Здесь будет храниться второе число (не забываем ее обнулить)
    // Выводим пользователю информацию, чтобы он не видел просто черный экран
    // Можно обойтись и без этого, но мы же пишем программы, удобные для пользователя!
    cout << "Enter first number: ";
    cin >> a;  // Вводим первое число с клавиатуры!
    cout << "Enter second number: ";
    cin >> b;  // Вводим второе число!
    cout << "Sum: " << a + b << endl;
}

Итак, здесь для нас из нового только слово cin и оператор ">>".

cin - это поток ввода из консоли (Console IN). Через него можно осуществлять ввод любого введенного текста. он преобразует введенный пользователем текст в тот тип, в который нам необходимо. В данном случае - в целое число (int), в переменную a.

Синтаксис очень похож на вывод строк через cout, только "стрелочки" (оператор >>) направлены в другую сторону (они как бы показывают направление потока данных из консоли в переменную).

Кстати, мы специально в двух первых cout не ставили в конце endl - переход на новую строку. Так пользователь будет вводить число в той же строке, в которой мы вывели текущую строчку. Вы можете делать, как вам удобнее - мы здесь просто отметили, что такое возможно.

На самом деле можно вводить числа сразу одной строкой, как это делается в cout при выводе:

#include <iostream>

using namespace std;

int main() {
    int a = 0;  // Первая переменная, в ней мы будем хранить первое введенное число
    int b = 0;  // Здесь будет храниться второе число (не забываем ее обнулить)
    cout << "Enter two numbers: " << endl;
    cin >> a >> b;
    /*  Многострочнцый комментарий - надеюсь вы о таких еще не забыли? :)
      Здесь нет смысла ставить переход на новую строку endl, поскольку пользователь
      введет число и в конце нажмет Enter, что автоматически добавит переход на следующую
      строку. Пока он не нажмет Enter, число не введется и программа будет продолжать ждать.
    */
    cout << "Sum: " << a + b << endl;
}

Вводить числа можно будет через пробел или вводить по одному, после каждого нажимая Enter.

Вот пожалуй и все - теперь вы умеете вводить числа от пользователя! Что же мы будем делать дальше? Будем спрашивать что-то у пользователя и в зависимости от его ответа - делать какое-либо действие! Для этого нам понадобятся условия! О них - в следующем выпуске.

До встречи! 


В избранное