Конструктор тестов - нужен пример - C#
Формулировка задачи:
Доброго времени суток. Нужно создать программу, которая бы оценивала знания студентов, то есть, чтобы можна было создать свой тест и сохранить этот тест в файл для дальнейшего прохождения студентом. Помогите, может у кого-то готовые исходники завалялись, буду очень благодарен.
Решение задачи: «Конструктор тестов - нужен пример»
textual
Листинг программы
{$mode delphi} Program tester_final; Uses crt; Var fil, result: text; name, s, otv, ocenka: string; fam, im, kl: string; kol, num: integer; Label er1, er2, er3; Begin num := 0; kol := 0; assign(result, 'result.res'); {$i-} append(result); {$i+} If ioresult<>0 Then // обработка исключения если файл не найден Begin rewrite(result); writeln(result, 'Результаты тестирования: '); writeln(result, 'в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ'); End; er1: textcolor(lightblue); writeln('Вводите на английском'); normvideo; write('Фамилия: '); readln(fam); write('Имя: '); readln(im); write('Класс: '); readln(kl); If ((fam='') Or (im='') Or (kl='')) Then Begin clrscr; textcolor(lightred); writeln('Вы ввели не все данные.'); normvideo; writeln('Возврат через 3 сек.'); delay(3000); clrscr; goto er1; End; er3: clrscr; write('Имя файла -> '); readln(name); If (name='') Then Begin clrscr; textcolor(lightred); writeln('Вы не ввели название файла.'); normvideo; writeln('Возврат через 3 сек.'); delay(3000); goto er3; End; clrscr; assign(fil, name+'.test'); {$i-} reset(fil); {$i+} If ioresult<>0 Then // обработка исключения если файл теста не найден Begin clrscr; textcolor(lightred); write('Файл '); normvideo; write(' " ', name+'.test', ' " '); textcolor(lightred); writeln('не найден.'); normvideo; writeln('Возврат через 3 сек.'); delay(3000); goto er3; End; While Not eof(fil) Do Begin inc(num); textcolor(yellow); writeln('Вопрос ', num); normvideo; Repeat readln(fil, s); If s='.' Then break Else writeln(s); Until false; readln(fil, s); If s[1]<>'#' Then Begin clrscr; textcolor(lightred); writeln('Ошибка в файле теста.'); normvideo; writeln('Возврат через 3 сек.'); delay(3000); goto er3; End; er2: writeln; write('Ваш ответ -> '); readln(otv); If (otv='') Then Begin goto er2; End; If (s[2]=otv) Then inc(kol); delay(500); clrscr; End; close(fil); If num=0 Then Begin textcolor(lightred); write('Ошибка: файл '); normvideo; write(' " ', name+'.test', ' " '); textcolor(lightred); writeln('пуст.'); normvideo; writeln('Возврат через 3 сек.'); delay(3000); goto er3; End; textcolor(lightblue); writeln('Результаты теста: '); normvideo; writeln('Всего вопросов: ', num, '. '); writeln('Правильных ответов: ', kol, '. '); write('Ваша оценка: '); If kol=num Then Begin writeln('Отлично.'); ocenka := '5'; End Else If kol/num>=0.8 Then Begin writeln('Хорошо.'); ocenka := '4'; End Else If kol/num>=0.6 Then Begin writeln('Удовлетворительно.'); ocenka := '3'; End Else Begin writeln('Плохо'); ocenka := '2'; End; Begin writeln(result, 'Фамилия: '+fam); writeln(result, 'Имя: '+im); writeln(result, 'Класс: '+kl); writeln(result, 'Тест: " ', name+'.test' , ' " '); writeln(result, 'Количество вопросов: ', num, '. '); writeln(result, 'Правильных ответов: ', kol, '. '); writeln(result, 'Оценка: ', ocenka, '. '); writeln(result, 'в•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђв•ђ'); End; close(result); readln; halt; End.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д