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

Поменять местами calc и yesno

Calc:

нет

да

printf( OUTMSG, g, g*g )

Finish:

printf

5. Тестовые наборы данных и реакции

5.1. Таблица тест-реакция для чисел

теста

Начальное число

Количество чисел

Ожидаемая реакция

Реакция

1

-200

5

Вывод пяти строк начиная с -181

совпадает

2

-181

5

Вывод пяти строк начиная с -181

совпадает

3

0

6

Вывод шести строк начиная с 0

совпадает

4

181

6

Вывод одной строки квадрат 181

совпадает

5

200

7

Вывод одной строки квадрат 181

совпадает

6

10

-10

Вывод одной строки квадрат 10

совпадает

7

10

1

Вывод одной строки квадрат 10

совпадает

8

20

18

Вывод 18 строк начиная с 20

совпадает

9

20

22

Вывод 20 строк начиная с 20

совпадает

10

W

6

Вывод шести строк начиная с 0

совпадает

11

142

Н

Вывод 10 строк начиная с 142

совпадает

12

12а

Хх

Вывод 10 строк начиная с 12

совпадает

13

Gh

Zz

Вывод 10 строк начиная с -181

совпадает

14

“1”

“ ”

Программа не реагирует

совпадает

“ “

См. ожидаемую реакцию

5.2. Таблица тест-реакция для управления

с

Ожидаемая реакция

Реакция

1

Y

Вывод сообщения «» и запроса «»

совпадает

2

y

Вывод сообщения «» и запроса «»

совпадает

3

3хх

Выход

совпадает

  1. Исходный текст программы

Содержание файла проекта sq2.prj:

main2.c

myio2.c

calc.c

text.c

/****

Файл: main2.c

Содержание: основная функция программы «Квадраты

целых чисел»

Компилятор: Turbo C, v.2.1

Автор: Столяров В.О. группа А1-04

Версия: 1.3

Дата: .11

****/

#include “myfuncs.h”

extern char *SQUARES, *QUERY, *FINAL

void main( void )

{

do {

Title( SQUARES );

GetPar();

Calc();

} while(YesNo( QUERY ));

Finish( FINAL );

}

/****

файл: myio2.c

Содержание: Функции ввода/вывода программы

«Квадраты целых чисел»

Компилятор: Turbo C, v.2.1

Автор: Столяров В.О. группа А1–04

Версия: 1.3

Дата: 20.11.2011

****/

#include <STDIO.H>

#include “const.h”

extern char *STARTNUM, *NUMBERS;

int Begnum, /*Начальное обрабатываемое число , вводимое пользователем */

Maxnum; /*Количество обрабатываемых чисел , указываемое пользователем */

/*вывод заголовка*/

void Title( char *text )

{

printf( “\n%s”, text );

}

/*получение входных параметров*/

void GetPar( void )

{

Begnum = GetNum( STARTNUM, MINNUM, MAXNUM );

Maxnum = GetNum( NUMBERS, MINLINES, MAXLINES );

if(Begnum + Maxnum > MAXNUM + 1)

Maxnum = MAXNUM – Begnum + 1;

}

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

Вход: query – указатель на текст запроса;

minnum – минимально допустимое значение числа;

maxnum – максимально допустимое значение числа;

Выход: целое число в заданном диапазоне;*/

int GetNum( char* query, int minnum, int maxnum )

{

int n;

printf( "\n%s = ", query );

fflush( stdin );

if( scanf( "%d", &n ) != 1 )

n = ( minnum + maxnum ) / 2;

else if( n < minnum )

n = minnum;

else if( n > maxnum )

n = maxnum;

return n;

}

/*запрос типа Да/Нет

Вход: text – указатель текста запроса;

Выход: признак продолжения работы – 1 или

признак завершения работы - 0;*/

int YesNo( char* text )

{

int c;

printf( “\n%s [Y/N]? ”, text );

fflush( stdin );

c = getchar( );

if ( (c == ’y’) || (c == ’Y’) )

return 1;

else

return 0;

}

/*действия по завершению программы

Вход: final – указатель текста сообщения;*/

void Finish( char *final )

{

printf( “\n%s”, final );

}

/****

файл: calc2.c

Содержание: Функция вычисления квадратов

и вывод результатов программы «Квадраты целых

чисел»

Компилятор: Turbo C, v.2.1

Автор: Столяров В.О. группа А1–04

Версия: 1.3

Дата: .11

****/

#include <STDIO.H>

extern char *OUTMSG;

extern int Begnum, Maxnum;

/*вычисление квадратов чисел*/

void Calc( void )

{

int i, n;

for( i = 0; i < Maxnum; i++)

{

n = Begnum + i;

printf( OUTMSG, n, n * n );

}

}

/****

файл: text2.с

Содержание: тексты выводимых сообщений программы «Квадраты

целых чисел»

Компилятор: Turbo C, v.2.1

Автор: Столяров В.О.группа А1–04

Версия: 1.0

Дата: .11

****/

#include “version.h”

#ifdef ENGLISH

char *SQUARES = “Integer squares output”;

char *STARTNUM = “First number”;

char *NUMBERS = “Quantity of numbers”;

char *FINAL = “Done!”;

char *QUERY = “Again”;

char *OUTMSG = “\nNumber = %5d, its square = %6d”;

#else

char *SQUARES = “Вывод квадратов целых чисел”;

char *STARTNUM = “Начальное число”;

char *NUMBERS = “Количество чисел”;

char *FINAL = “Работа закончена!”;

char *QUERY = “Повторить”;

char *OUTMSG = “\nчисло = %5d, квадрат = %6d”;

#endif

/****

файл: const.h

Содержание: константы – числа программы «Квадраты целых чисел»

Компилятор: Turbo C, v.2.1

Автор: Столяров В.О. группа А1–04

Версия: 1.1

Дата: .11

****/

#define MINNUM -181 /*минимальное обрабатываемое число*/

#define MAXNUM 1 81 /*максимальное обрабатываемое число*/

#define MINLINES 1 /* мин. количество обрабатываемых чисел*/

#define MAXLINES 20 /* макс. количество выводимых строк */

/****

файл: myfuncs.h

Содержание: прототипы функций программы «Квадраты целых чисел»

Компилятор: Turbo C, v.2.1

Автор: Столяров В.О. группа А1–04

Версия: 1.1

Дата: 11

****/

void Title( char *text );

void GetPar( void );

int GetNum( char* query, int minnum, int maxnum );

int YesNo( char* text );

void Finish( char *final );

void Calc( void );

/****

файл: version.h

Содержание: управление версией генерируемой программы «Квадраты

целых чисел»

Компилятор: Turbo C, v.2.1

Автор: Столяров В.О. группа А1–04

Версия: 1.1

Дата: 11

****/

/* определение языка сообщений */

#define ENGLISH1 /* ENGLISH1 – диалог на русском языке

ENGLISH 1­ – диалог на английском

*/