Программа тестирования - реализовать правильные/неправильные ответы - C (СИ)
Формулировка задачи:
Пишу приложение, в котором нужно вводить ответ с клавиатуры. Так вот, как мне реализовать правильные/неправильные ответы. Допустим, вводишь 0 и должна появиться надпись верно. Остальные варианты - неверно.
Решение задачи: «Программа тестирования - реализовать правильные/неправильные ответы»
textual
Листинг программы
#include <stdio.h> #include <locale.h> int answer,i; char question1[256]="Верно ли, что у человека 4-х камерное сердце?"; char question2[256]="В году 367 дней?"; char question3[256]="Фамилия Пушкина - Пушкин?"; char question4[256]="Умеют ли собаки плавать?"; char question5[256]="Мягкие игрушки мягкие?"; int main(int agrc,char *argv[]){ setlocale(0,""); for (i=1;i<=5;i++){ if (i==1){ printf("%s\n",question1); printf("Ответ: "); scanf("%d",&answer); if (answer!=1){ printf("\nУвы, это неправильный ответ!\n"); break; }else printf("\nЭто правильный ответ!\n\n"); }else if (i==2){ printf("%s\n",question2); printf("Ответ: "); scanf("%d",&answer); if (answer!=0){ printf("\nУвы, это неправильный ответ!\n\n"); break; }else printf("\nЭто правильный ответ!\n\n"); }else if (i==3){ printf("%s\n",question3); printf("Ответ: "); scanf("%d",&answer); if (answer!=1){ printf("\nУвы, это неправильный ответ!\n\n"); break; }else printf("\nЭто правильный ответ!\n\n"); }else if (i==4){ printf("%s\n",question4); printf("Ответ: "); scanf("%d",&answer); if (answer!=1){ printf("\nУвы, это неправильный ответ!\n\n"); break; }else printf("\nЭто правильный ответ!\n\n"); }else if (i==5){ printf("%s\n",question5); printf("Ответ: "); scanf("%d",&answer); if (answer!=1){ printf("\nУвы, это неправильный ответ!\n\n"); break; }else printf("\nЭто правильный ответ!\n\n"); } } printf("Поздравляем, вы прошли тест!"); return 0; }
Объяснение кода листинга программы
- Объявлены переменные:
- answer (переменная для хранения ответа пользователя)
- i (переменная для управления циклом)
- question1, question2, question3, question4, question5 (массивы строк с вопросами)
- В функции main() происходит следующее:
- Установка локали на русскую с помощью setlocale(0,``)
- Запуск цикла for для обработки каждого вопроса
- Внутри цикла выводится вопрос с помощью printf()
- Затем пользователю предлагается ввести ответ с помощью scanf()
- Если ответ не равен ожидаемому, выводится сообщение об ошибке
- Если ответ правильный, выводится сообщение о правильном ответе
- После обработки всех вопросов выводится сообщение о прохождении теста
- Возвращается 0, что означает успешное завершение программы
- При вводе неправильного ответа на любой из вопросов, программа выведет сообщение
Увы, это неправильный ответ!
.- Это происходит потому что в условии if (answer!=1) проверяется, не равен ли ответ 1 (ожидаемому значению). Если это так, выводится сообщение об ошибке.
- При вводе правильного ответа на любой из вопросов, программа выведет сообщение
Это правильный ответ!
.- Это происходит потому что в условии if (answer==1) проверяется, равен ли ответ 1 (ожидаемому значению). Если это так, выводится сообщение о правильном ответе.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д