Конструктор тестов - нужен пример - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д