Организация диалогового режима ввода значений переменных – один из методов улучшения дружественности. При этом происходит некоторое усложнение программного продукта дополнительными блоками в алгоритме и операторами в программе.
Идея диалога заключается в формировании дополнительного запроса с организацией последующего ответа на него.
Запрос осуществляется установкой дополнительного блока в алгоритме (оператора в программе), организующего вывод на экран соответствующего сообщения.
Ответ на запрос выполняется уже существующим в алгоритме (программе) блоком (оператором) ввода. При этом блок (оператор) запроса должен располагаться перед блоком (оператором) ввода.
Диалоговый режим организацией запроса позволяет конкретно обозначить момент ввода численных значений переменных.
При необходимости ввода нескольких переменных возможны два варианта запроса:
· общий на все переменные;
· конкретный по каждой переменной.
Фрагменты алгоритмов и программ ввода переменных, например a, b, c, x могут иметь вид:
· общий на все переменные:
алгоритм
| программа
printf("Введите значения a, b, c, x \n");
scanf("%f %f %f %f", &a, &b, &c, &x);
Указание символа \n (перевод строки) в конце запроса организует ввод численных значений указанных переменных отдельной, следующей после запроса, строкой.
|
· конкретный по каждой переменной:
алгоритм
| программа
printf("Введите значение a: ");
scanf("%f ", &a);
printf("Введите значение b: ");
scanf("%f ", &b);
printf("Введите значение c: ");
scanf("%f ", &c);
printf("Введите значение x: ");
scanf("%f ", &x);
Отсутствие символа \n в конце каждого запроса организует ввод численных значений каждой переменной в конце соответствующей строки. Следовательно, значения вводимых переменных должны быть записаны под программой не строкой, а столбцом.
|
Реализация рассмотренных фрагментов программ выполняется диалогами:
· для общего запроса
Введите значения a, b, c, x (общий запрос программы)
5.7 3.8 -7.89 0.004 <Enter> (ввод данных)
· для запроса по каждой переменной
Введите значение a: 5.7 <Enter> (конкретный запрос-ввод)
Введите значение b: 3.8 <Enter> (конкретный запрос-ввод)
Введите значение c: -7.89 <Enter> (конкретный запрос-ввод)
Введите значение x: 0.004 <Enter> (конкретный запрос-ввод)