Теоретическая часть



бет4/8
Дата10.04.2023
өлшемі0,52 Mb.
#81020
түріПрактическая работа
1   2   3   4   5   6   7   8
int a, b, c, V;
cout << "Vvedite a: ";

Таким образом были объявлены необходимые сущности и запрошено первое значение у пользователя. Теперь необходимо получить значение, введенное с клавиатуры. Ранее уже было сказано, что для этого используется поток (очередь) cin. Аналогично оператору вывода «<>» (два знака больше), слева от которого должен стоять поток («cin»), а справа имя переменной, в которую будет записано вводимое значение.


Например, «cin >> a;».
Аналогично тому, как оператор «<>» возвращает «cin».
Соответственно можно описывать ввод нескольких значений за 1 команду:
«cin >> a >> b >> c;».
Также стоит описать как происходит ввод из консоли в соответствии с данным оператором. При первом вызове команды вида «cin >> имя_переменной» выполнение программы переходит в режим ожидания, а консоль в режим ввода (пользователь может печатать в ней текст). Выход из этого режима происходит после нажатия на клавиатуре «enter».
Всё что ввел пользователь (строка) помещается в поток ввода («cin»). Далее срабатывает оператор «>>» (назовем этот набор действий cin1):
1. Если в начале строки есть пробелы, они все удаляются;
2. Все символы с начала строки до пробела удаляются из строки (оставшиеся символы в виде строки также остаются в потоке ввода) и сохраняются в отдельную строку (назовем ее temp);
3. Набор символов из строки temp приводятся к типу переменной, которая стоит справа от оператора «>>» (пусть это будет «a»);
4. Полученное значение сохраняется в переменную «a».
При повторном вызове команды вида «cin >> имя_переменной»:
1. Действие 1 из набора действий cin1
2. В зависимости от условий:
2.1. Если строка в потоке ввода не пуста, то действия 2-4 из набора действий cin1 (не происходит переход в режим ожидания и ввода).
2.2. Если строка в потоке ввода пуста, то полное повторение действий как при первом вызове команды вида «cin …» (происходит переход в режим ожидания и ввода).
Для понимания работы команды с цепочкой ввода вида «cin >> a >> b;», можно привести ее к отдельным командам «(cin >> a) >>b» -> «cin >> a; cin >>b;».
Исходная команда работает полностью аналогично получившимся отдельным командам.
Доделаем реализацию варианта с рис. 3б


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет