Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет по squares.doc
Скачиваний:
2
Добавлен:
26.11.2018
Размер:
336 Кб
Скачать
☆

3. Описание функций программы

3.1. Иерархическая схема

main - основная функция

Title - вывод заголовка программы

printf - стандартный форматный вывод

GetPar - получение входных данных с ОДЗ

GetNum - получение целого числа в заданном диапазоне

printf

fflush – опорожнение буфера клавиатуры

scanf - стандартный форматный ввод

Calc - вычисления и вывод результатов

printf

YesNo - запрос на повторный прогон и ожидание ответа “Да/Нет”

printf

fflush

getchar - стандартный ввод символа

Finish - вывод сообщения при завершении работы программы

printf

3.2. Прототипы функций

void Title ( char *text )

/*****

Вход:

Текст для вывода на экран.

Действие:

С новой строки выводит текст сообщения на экран.

Выход:

Нет.

*****/

;

void GetPar ( void )

/*****

Вход:

Нет.

Действие:

Получает входные данные Begnum и Maxnum с контролем на ОДЗ и совместимость и корректирует значение Maxnum при необходимости.

Выход:

Нет.

*****/

;

int GetNum ( char *query, /* текст запроса целого числа */

int minnum, /* нижняя граница числа */

int maxnum /* верхняя граница числа */

)

/*****

Вход:

См. аргументы. Считается, что minnum < = maxnum.

Действие:

С новой строки выводит текст запроса query, затем выводит " = " , опорожняет буфер входного потока и ожидает ввода пользователем целого числа.

Выход:

Возвращает число в указанном диапазоне.

ПРИМЕЧАНИЕ:

При выходе за диапазон возвращается значение ближайшей границы при попытке ввода не числа, нарушении правил набора целого числа возвращает значения середины диапазона.

/*****

;

void Calc ( void )

/*****

Вход:

Нет.

Действие:

Исходя из значений Begnum и Maxnum, вычисляет квадраты заданных чисел и выводит строки результата вида:

"Число = ххх, его квадрат = ууууу".

Выход:

Нет.

*****/

;

int YesNo ( char *query )

/*****

Вход:

Текст запроса query типа "Да/Нет".

Действие:

С новой строки выводит текст запроса, выводит " [Y/N]? ", опорожняет буфер входного потока и ожидает реакцию пользователя.

Выход:

Возвращает 1 при нажатии клавиши 'Y' или 'y', иначе 0.

*****/

;

void Finish ( void )

/*****

Вход: Нет.

Действие: Дважды переводит строку и выводит текст FINAL.

Выход: Нет.

*****/

;