Создать программу тестирования на 20 вопросов - C (СИ)

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

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

Написать программу на языке программирования Си, которая тестирует пользователя по заданной в варианте теме. Тест должен содержать как минимум 20 вопросов, подсчитывать количество верно выбранных ответов и выставлять оценку согласно установленным критериям: - оценка 5 («отлично») соответствует 95% правильных ответов (для 20 вопросов это 19 правильных ответов); - оценка 4 («хорошо») соответствует 75% правильных ответов (для 20 вопросов это 15 правильных ответов); - оценка 3 («удовлетворительно») соответствует 55% правильных ответов (для 20 вопросов это 11 правильных ответов). По окончании теста должно выводиться сообщение с оценкой и количеством правильно выбранных ответов. В тесте должны быть представлены вопросы трех типов: - с одним правильным ответом; - с несколькими правильными ответами; - со свободным ответом. Обязательна реализация тестирующей программы с использованием подпрограмм для выполнения отдельных действий. Предусмотреть защиту от ввода ошибочных данных. Тест на тему «Серебряный век русской литературы» Тестирующая программа содержит базу вопросов по заданной теме (≥40 вопросов), из которой при запуске программы случайным образом выбираются N вопросов (число N задает пользователь); вопросы теста, варианты ответов и правильные ответы организованы в виде файла/файлов; результаты тестирования сохраняются в отдельном файле; имеется возможность пропустить текущий вопрос с последующим возвратом к нему; обязательно наличие редактора теста для добавления/удаления/изменения вопросов теста. В блокноте есть вопросы и ответы. Нужно только написать программу.P.S. Всё выше описанное это чтобы были в курсе о чём писать. Буду благодарен за помощь.

Решение задачи: «Создать программу тестирования на 20 вопросов»

textual
Листинг программы
#include "stdafx.h"  
#include "stdlib.h" 
#include "locale.h" 
#include "string.h"
void main() 
{ 
int i=0,prav=0,neprav=0; 
FILE *R,*V,*O,*S; 
char a[50],b[1000],c[1000],d[100],e[1000]; 
setlocale(LC_ALL,"rus"); 
printf("\n Тест на тему "Серебряный век русской литературы""); 
R = fopen("F:\\Test\\Lion\\Result.txt","wt"); 
fprintf(R,"%s",a); 
fclose(R); 
system("cls"); 
V=fopen("F:\\Test\\Lion\\Voprosy.txt","r"); 
O=fopen("F:\\Test\\Lion\\Otvety.txt","r"); 
S=fopen("F:\\Test\\Lion\\Pr.txt","r"); 
while((!feof(V))&&(!feof(O)))
{
fgets(b,1000,V); 
fgets(c,1000,O); 
printf("%s\n%s",b,c); 
printf("\n Ответ: "); 
scanf("%s",&d); 
fscanf(S,"%s",&e); 
if (strcmp(d,e)==0){ prav++;} 
else {neprav++;} 
} 
printf("Верные ответы %d\n",prav); 
printf("Неверные ответы %d\n",neprav); 
fclose(O); 
fclose(V); 
system("color F0");
system("pause");
}

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

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