Программа тестирования - реализовать правильные/неправильные ответы - 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;
}

Объяснение кода листинга программы

  1. Объявлены переменные:
    • answer (переменная для хранения ответа пользователя)
    • i (переменная для управления циклом)
    • question1, question2, question3, question4, question5 (массивы строк с вопросами)
  2. В функции main() происходит следующее:
    • Установка локали на русскую с помощью setlocale(0,``)
    • Запуск цикла for для обработки каждого вопроса
    • Внутри цикла выводится вопрос с помощью printf()
    • Затем пользователю предлагается ввести ответ с помощью scanf()
    • Если ответ не равен ожидаемому, выводится сообщение об ошибке
    • Если ответ правильный, выводится сообщение о правильном ответе
    • После обработки всех вопросов выводится сообщение о прохождении теста
    • Возвращается 0, что означает успешное завершение программы
  3. При вводе неправильного ответа на любой из вопросов, программа выведет сообщение Увы, это неправильный ответ!.
    • Это происходит потому что в условии if (answer!=1) проверяется, не равен ли ответ 1 (ожидаемому значению). Если это так, выводится сообщение об ошибке.
  4. При вводе правильного ответа на любой из вопросов, программа выведет сообщение Это правильный ответ!.
    • Это происходит потому что в условии if (answer==1) проверяется, равен ли ответ 1 (ожидаемому значению). Если это так, выводится сообщение о правильном ответе.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.643 из 5
Похожие ответы