Написать программу тестирования по истории с отображение вопросов и трех правильных ответов - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Требуется написать программ тестирования по истории с отображение вопросов и трех правильных ответов. В конце должен выводиться общий результат и в зависимости от результата оценка. У меня все получилось кроме подсчета результата. Не знаю как сделать так чтобы после выбора ответа прога записывала 1-если правильно 0-если не правильно. Ниже привожу код, в котором работает все, кроме результата:
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main(void)
{
    
    char ch, A, B, C;
    int a, b, c, d, e, total;
    printf(" Zdravstvuite!\n Dobro pozhalovat' v programmu testirovaniya po ISTORII KAZAKHSTANA!\n");
        printf(" Vyberite pravel'nyj otvet ( A, B ili C)\n");
            printf(" 1. Data prinyatiya nezavisimosti Kazakhstana:\n A. 16.12.1990  B. 01.12.1991  C. 16.12.1991\n");
    
    ch = getchar();
    printf ("Otvet: %c\n", ch);
        {
            if(ch=='C' ||  ch=='c') 
                printf("Otvet vernyj!\n");
                //a==1;
                
            else
                printf("Izvinite, Vy dopustili oshibku :(\n");
                //a==0;
                
        }
            
    printf("2. Kak nazyvaetsya verhovnyj pravitel' uisunej:\n A. Gun'mo  B. Shakh  C. Kagan\n");
    
    ch = getchar();
    printf ("Otvet: %c\n", ch);
        {
            if(ch=='A' ||  ch=='a') 
                printf("Otvet vernyj!\n");
                //b==1;
            else
                printf("Izvinite, Vy dopustili oshibku :(\n");
                //b==0;
        }
    printf("3. Alexandr Makedonskiy voeval s sakami v:\n A. v 5 veke d.n.e  B. 4 veke d.n.e  C. v 7 veke d.n.e\n");
    
    ch = getchar();
    printf ("Otvet: %c\n", ch);
        {
            if(ch=='B' ||  ch=='b') 
                printf("Otvet vernyj!\n");
                //c==1;
            else
                printf("Izvinite, Vy dopustili oshibku :(\n");
                //c==0;
        }
        
    printf("4. Kogo iz persidskih zarei pobedili saki:\n A. Kserksa  B. Dariya  C. Kira\n");
    
    ch = getchar();
    printf ("Otvet: %c\n", ch);
        {
            if(ch=='C' ||  ch=='c') 
                printf("Otvet vernyj!\n");
                //d==1;
            else
                printf("Izvinite, Vy dopustili oshibku :(\n");
                //d==0;
        }
    
    printf("5. Pervyj prezident Respubliki Kazakhstan:\n A. Navarbaev  B. Kunaev  C. Andropov\n");
    
    ch = getchar();
    printf ("Otvet: %c\n", ch);
        {
            if(ch=='A' ||  ch=='a') 
                printf("Otvet vernyj!\n");
                //e==1;
            else
                printf("Izvinite, Vy dopustili oshibku :(\n");
                //e==0;
        }
 
        total=(a+b+c+d+e)/5*100;
            printf("Vash resul'tat: %d ballov", total);
 
        {   
            if(total >= 90)
                printf("Vasha ocenka A (5)\n");
            if(75 <= total && total <= 89)
                printf("Vasha ocenka B (4)\n");
            if(50 <= total && total <= 74)
                printf("Vasha ocenka C (3)\n");
            if(total <= 49)
                printf("Vy ne sdali test! U vas peresdacha! Vy mozhete peresdat' test 1 raz!\n");
        }
}

Решение задачи: «Написать программу тестирования по истории с отображение вопросов и трех правильных ответов»

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main(void)
{
    
    char ch, A, B, C;
    int a, b, c, d, e, total;
    printf(" Zdravstvuite!\n Dobro pozhalovat' v programmu testirovaniya po ISTORII KAZAKHSTANA!\n");
        printf(" Vyberite pravel'nyj otvet ( A, B ili C)\n");
            printf(" 1. Data prinyatiya nezavisimosti Kazakhstana:\n A. 16.12.1990  B. 01.12.1991  C. 16.12.1991\n");
    
    ch = getchar();
    printf ("Otvet: %c\n", ch);
        
            if(ch=='C' ||  ch=='c') 
                {
                printf("Otvet vernyj!\n");
                a==1;
                }
                    else
                        {
                        printf("Izvinite, Vy dopustili oshibku :(\n");
                        a==0;
                        }
                
        
            
    printf("2. Kak nazyvaetsya verhovnyj pravitel' uisunej:\n A. Gun'mo  B. Shakh  C. Kagan\n");
    
    ch = getchar();
    printf ("Otvet: %c\n", ch);
        
            if(ch=='A' ||  ch=='a') 
                {
                printf("Otvet vernyj!\n");
                b==1;
                }
                    else
                        {
                        printf("Izvinite, Vy dopustili oshibku :(\n");
                        b==0;
                        }
        
    printf("3. Alexandr Makedonskiy voeval s sakami v:\n A. v 5 veke d.n.e  B. 4 veke d.n.e  C. v 7 veke d.n.e\n");
    
    ch = getchar();
    printf ("Otvet: %c\n", ch);
        
            if(ch=='B' ||  ch=='b') 
                {
                printf("Otvet vernyj!\n");
                c==1;
                }
                    else
                        {
                        printf("Izvinite, Vy dopustili oshibku :(\n");
                        c==0;
                        }
        
        
    printf("4. Kogo iz persidskih zarei pobedili saki:\n A. Kserksa  B. Dariya  C. Kira\n");
    
    ch = getchar();
    printf ("Otvet: %c\n", ch);
        
            if(ch=='C' ||  ch=='c') 
                {
                printf("Otvet vernyj!\n");
                d==1;
                }
                    else
                        {
                        printf("Izvinite, Vy dopustili oshibku :(\n");
                        d==0;
                        }
        
    
    printf("5. Pervyj prezident Respubliki Kazakhstan:\n A. Navarbaev  B. Kunaev  C. Andropov\n");
    
    ch = getchar();
    printf ("Otvet: %c\n", ch);
        
            if(ch=='A' ||  ch=='a') 
                {
                printf("Otvet vernyj!\n");
                e==1;
                }
                    else
                        {
                        printf("Izvinite, Vy dopustili oshibku :(\n");
                        e==0;
                        }
        
 
        total=(a+b+c+d+e)/5*100;
            printf("Vash resul'tat: %d ballov", total);
 
        {   
            if(total >= 90)
                printf("Vasha ocenka A (5)\n");
            if(75 <= total && total <= 89)
                printf("Vasha ocenka B (4)\n");
            if(50 <= total && total <= 74)
                printf("Vasha ocenka C (3)\n");
            if(total <= 49)
                printf("Vy ne sdali test! U vas peresdacha! Vy mozhete peresdat' test 1 raz!\n");
        }
}

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

  1. Вопросы и ответы в коде представлены в формате:
    • Вопрос для пользователя (printf)
    • Получение ответа от пользователя (getchar)
    • Проверка ответа (if-else)
    • Вывод результата (printf)
  2. Код содержит 5 вопросов и 5 ответов, представленных в виде переменных a, b, c, d, e.
  3. Ответы на вопросы представлены вариантами A, B, C.
  4. Правильные ответы на каждый вопрос представлены в виде массива (например, a==1).
  5. Оценка результатов представлена в виде переменной total, которая вычисляется как сумма всех ответов, умноженная на 100.
  6. Оценка выводится на экран в зависимости от значения total.
  7. Если total >= 90, выводится Vasha ocenka A (5).
  8. Если 75 <= total && total <= 89, выводится Vasha ocenka B (4).
  9. Если 50 <= total && total <= 74, выводится Vasha ocenka C (3).
  10. Если total <= 49, выводится Vy ne sdali test! U vas peresdacha! Vy mozhete peresdat' test 1 raz!.

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


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

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

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