Справочное руководство по языку Ада-83

Пример ввода-вывода


В примере показано использование некоторых средств ввода-вывода текстов в режиме диалога. Пользователю предлагается выбрать цвет; программа в соответствии с описью выдает число предметов этого цвета на складе. Используются файлы ввода и вывода по умолчанию. Для простоты все необходимые конкретизации настройки заданы в одной подпрограмме;

на практике для этого мог бы использоваться самостоятельный пакет.

with TEXT_IO; use TEXT_IO; procedure DIALOGUE is

type COLOR is (WHITE, RED, ORANGE, YELLOW, GREEN, BLUE, BROWN); package COLOR_IO is new ENUMERATION_10(ENUM => COLOR); package NUMBER_IO is new INTEGER_IO(INTEGER);

use COLOR_IO, NUMBER_IO;

INVENTORY : array (COLOR) of INTEGER := (20, 17, 43, 10, 28, 173, 87); CHOICE : COLOR;

procedure ENTER_COLOR (SELECTION : out COLOR) is begin

loop

begin

PUT ("Color selected: "); -— обращение к пользователю GET (SELECTION); -— вводит набранный цвет или возбуждает исключение return;

exception

when DATA_ERROR => PUT("lnvalid color, try again. ");-- пользователь должен набрать новую строчку NEW_LINE(2); -- завершение выполнения оператора блока end;

end loop;



-— повторение оператора блока, пока не будет получен правильнй цвет end;

begin -- операторы процедуры DIALOGUE;

NUMBERJO.DEFAULT_WIDTH := 5; loop

ENTER_COLOR(CHOICE); -- пользователь набирает цвет и -— начинает новую строчку SET_COL(5); PUT(CHOICE); PUT(" items available:"); SET_COL(40); PUT(INVENTORY(CHOICE)); -— ширина по умолчанию равна 5 NEW_LINE; end loop;

end DIALOGUE;

Пример диалога (набранное пользователем выделено курсивом):

ВЫБРАННЫЙ ЦВЕТ: Black

ОШИБОЧНЫЙ ЦВЕТ, ПОВТОРИТЕ НАБОР

ВЫБРАННЫЙ ЦВЕТ: Blue

BLUE ВСЕГО ПРЕДМЕТОВ: 173 ВЫБРАННЫЙ ЦВЕТ: Yellow

YELLOW ВСЕГО ПРЕДМЕТОВ: 10

Пред.  Уровень выше  След.

14.6. ВВОД-ВЫВОД НИЗКОГО УРОВНЯ

 

Содержание  Приложение A.

АТРИБУТЫ, ПРЕДОПРЕДЕЛЕННЫЕ В ЯЗЫКЕ



Содержание раздела