русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Цикл do-while


Дата добавления: 2013-12-23; просмотров: 799; Нарушение авторских прав


 

Цикл do-while отличается от циклов for и while тем, что это — цикл с постусловием. Другими словами: цикл всегда выполняется хотя бы один раз, после чего в конце первого прохода проверяется условие продолжения цикла. В отличие от этого циклы for и while могут не выполняться вообще, или выполняться множество раз в зависимости от значения переменной управления циклом. Поскольку циклы do-while выполняются по меньшей мере один раз, их лучше использовать тогда, когда нет сомнений о вхождении в определенный цикл. Например, если программа должна выводить пользовательское меню, то даже если пользователь захочет тут же выйти из программы, он должен увидеть это меню, чтобы определить, по какой клавише выходить из приложения.

Синтаксис цикла do-while:

Do

действие;

while (проверка_условия) ;

При множестве действий в операторе de-while необходимы фигурные скобки:

do {

действие1;

действие2;

действие3;

действиеN;

} while (проверка условия) ;

Пример: цикл do-while используется для печати меню и получения правильного ответа пользователя. Это приложение работает только под DOS.


#include <iostream.h>

#include <conio.h>

#include <graph.h>

#include <stdlib.h>

main()

{

int iuser response;

struct rccoord rcorig_coords;

struct videoconfig svideo config;

if (!_setvideomode (_MAXRESMODE))

exit;

_getvideoconfig(&svideo config);

_settextcolor(9); // ярко-синий

do {

_clearscreen (_GCLEARSCREEN);

_settextposition (3,23);

_outtext(">>> Welcome to Metro-Teller <<<\n\n");

_settextposition (5,29);

_outtext ("Instructions 1\n"); // Команды

_settextposition(6,29);

_outtext ("IRA Balance 2\n"); // Баланс

_settextposition(7,29);

_outtext("Loan Rates 3\n"); // Ссуды



_settextposition(8,29);

_outtext("VISA Transaction 4\n"); // Работа с "VISA-картами

_settextposition(9,29);

_outtext("Ready-Reserve 5\n"); // "Горячий" резерв

_settextposition(10,29);

_outtext ("Deposit 6\n"); // Депозит

_settextposition(11,29);

_outtext ("Withdrawal 7\n"); // Отмена операции

_settextposition(12,29);

_outtext("Quit 8\n"); // Выход

_settextposition(14,25);

_outtext("Enter your selection: "); // Ваш выбор:

rcorig_coords = _gettextposition();

cin >> iuser_response;

while(iuser response < 1 || iuser response > 8) {

_settextposition(rcorig_coords. row, rcorig_coords. col);

_outtext(" ");

_settextposition(rcorig_coords.row,rcorig_coords.col);

_cin >> iuser_response;

}

} while(iuser_response != 8);

_setvideomode(_DEFAULTMODE);

return(0);

}

 

Цикл do-while используется в программе для печати опций меню и выводит их всякий раз заново до тех пор, пока пользователь не выберет опцию 8 для выхода.

В программе имеется вложенный внутренний цикл while. Этот цикл обеспечивает правильность значения, введенного пользователем (числа от 1 до 8, включительно). Так как нежелательно, чтобы ошибочный ввод привел к обновлению экрана, во внутреннем цикле используется оператор _settextposition() для фиксирования курсора на той же строке, где был предыдущий ответ. Для этого в программе запоминается первоначальное положение курсора после вывода сообщения "Enter your selection:" ("Ваш выбор:"). Именно для этой цели использована функция _gettextposition().

Если пользователь вводит некоторое значение, то координаты х и у курсора меняются; поэтому для повторного обращения их начальные значения запоминаются в элементах структуры rcorig_coords.royv и rcorig_coords,col. Если произошел вход во внутренний цикл while, первый оператор _outtext() стирает все ранее введенные значения, а затем происходит ввод следующего числа. Этот процесс повторяется до тех пор, пока будет получено допустимое значение переменной iuser_response. После выхода из внутреннего цикла while управление возвращается внешнему циклу do-while, в котором меню выводится снова и снова до тех пор, пока пользователь введет для выхода число 8.



<== предыдущая лекция | следующая лекция ==>
Цикл while | Оператор do-while


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.681 сек.