C/C++

Cи, модульное тестирование

Добрый вечер, не могли бы знающие люди помочь студенту. Я пытаюсь освоить модульное тестирование но не могу понять как сравнивать последовательные значения проходимые через scanf. в коде есть 3 последовательных перехода которые грубо говоря присваивают трем разным переменным подряд разные значения которые вводит сам пользователь а потом значение другой переменной увеличиваются в зависимости от трёх остальных. как сравнивать функцию такого типа ?
Создается строковой массив вопросов.
Создается массив правильных ответов (индекс соответствует номеру вопроса, значение по этому индексу - правильному ответу). Если правильных ответом может быть больше одного или разному ответу соответствуют разные баллы - то подойдет двумерный массив. где по индексу строки (номеру вопроса) и индексу столбца (полученному ответу) находится значение получаемого бала (помним что двумерный можно представить и в виде одномерного :)
Создается функция приема ответа на вопрос (для односимвольных значений лучше использовать функцию getchar или ее вариации т.е. ответ "1" воспринимать как char '1' с последующей конвертацией в значение int 1 Так легко исключить возможные ошибки из scanf связанные с неправильным вводом).
Функция принимает номер вопроса, массив ответов, массив вопросов возвращает балл, который суммируется в основной программе.
 #include  
#include

int ask(int num, const char* txt[], const int* val)
{
printf("%s\n", txt[num*5]);
for (int i = 0; i < 4; i++) printf("%d : %s\n", i + 1, txt[num*5 + i + 1]);
char ch;
do
{
ch = getch(); //или _getch для MSVS
} while (ch < '0' || ch>'4');
return val[num * 4 + ch - '1'];
}

int main()
{
const char* askstr[] = {
"How many money you need?","1 dollar","100 dollar","all money","nothing",
"What programming language do you learn now?","C++","C","Fortran","TurboBasic"};
const int values[] = {10,0,0,20,5,20,0,0};
int youvalue = 0;
for (int i = 0; i < 2; i++) youvalue += ask(i, askstr, values);
printf("You MIQ is:%d", youvalue);
}
А еще лучше вопросы и ответы хранить в виде структуры, чтобы не сбиваться какому вопросу какой ответ соответствует при наполнении базы.
Дима Каринченко
Дима Каринченко
51 417
Лучший ответ
ты уверен, что тебе нужно тестировать именно ввод данных с клавиатуры, а не механизм получения четвертого значения из трех имеющихся?
Амантур Эсеналиев Приложение выдаёт что-то вроде опросника где пользователь выбирает значения от 1 до 4 где предустановлены ответы на вопрос. условный ответ 2 на вопрос номер один добавляет потом 20 к переменной v так же различные значения добавляют и остальные вопросы. в итоге получается число которое подаётся уже в другую функцию и выводит ячейку массива со структурой, с номером который в итоге получила переменная во время опросника . Нужно проверить чтобы ввод данных с клавиатуры уже во время работы приложения корректно проверялся на то что были введены значения которые удовлетворяют условиям опросника.