Дипломная работа: Автоматизация процесса контроля знаний учащихся ГБОУ города Москвы школы №656 А.С. Макаренко

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
123
AnsiString UserAnswer; // данный пользователем ответ в поле ввода
// int NUserAnswer; // выбранный пользователем ответ в радиокнопках или
флажках
__fastcall TQuestion(int, AnsiString, TPicture*, int);
__fastcall ~TQuestion();
int __fastcall LoadAnswers(TQuery*); // загрузить ответы из БД
TAnswer* __fastcall GetAnswer(int); // вернуть ответ с порядковым номером
TAnswer* __fastcall GetCorrectAnswer(); // вернуть правильный ответ
bool __fastcall HasAnswer(); // был дан ответ
int __fastcall Type(); // тип вопроса: 1 - строка, 2 - радиокнопки, 3 -
флажки
}; // TQuestion
//----------------------------------------------------------------------------
// класс теста как набора вопросов
class TTest
{
private:
TQuery* QueryTmp; // рабочая лошадка
TQuery* QueryTmp1; // рабочая лошадка
int __fastcall CheckTextAnswer(AnsiString, AnsiString); // сравнить две
текстовых строки
public:
// характеристики теста
int ID; // ID из базы данных
int IDTema; // ID темы из базы данных
int IDDisc; // ID дисциплины из базы данных
int TimeLimit; // лимив времени в минутах
double KHard; // коэффициент сложности
bool Navigation; // разрешить навигацию
bool AllRight; // все ответы теста правильные
bool Random; // случайный выбор вопросов
bool ShowResult; // отображать результаты
bool Opros; // признак тест-опрос
bool OnlyAnswered; // учитывать при подсчтете результата только отвеченные
вопросы
bool AlwaysJ; // в любом случае записать результаты теста
bool PrintInter; // выводить вместе с вопросами теста и их интерпритацию в
том числе при печати (режим обучения)
AnsiString Name; // имя теста
AnsiString FullName; // полное имя теста дисциплина/тема/имятеста
AnsiString DiscName; // имя дисциплина
124
AnsiString TemaName; // имя темы
TDateTime Begin; // дата и время начала теста
TDateTime End; // дата и время окончания
// вопросы
TList* Questions; // список вопросов теста
int CountQ; // количество вопросов теста
int CurrentQ; // порядковый номер текущего вопроса
int CorrectA; // кол-во правилбных ответов
int CountQA; // кол-во ответов на которые даны ответы
double Result; // балл теста
TList* RandomList; // список порядковых номеров случайно заданных вопросов
__fastcall TTest(int); // конструктор
__fastcall ~TTest(); // деструктор - очистка памяти
int __fastcall LoadFromBD(); // загрузить тест из базы данных
int __fastcall LoadQuests(); // загрузить вопросы теста из БД
TQuestion* __fastcall GetQuest(int); // вернуть вопрос
void __fastcall IncCurrentQ(int); // увеличить номер текущего вопроса
void __fastcall AddRandom(); // занести в список уже заданных случайно
вопросов
bool __fastcall LastQuest(); // проверить что текущйи вопрос в тесте -
последний
double __fastcall Compute(); // рассчитать результаты теста
// экспорт
bool __fastcall Export(AnsiString); // экспотрировать тест и все что с ним
связано
void __fastcall DropTable(AnsiString); // удалить таблицу
bool __fastcall CreatTableTest(AnsiString); // создать структуру таблицы тестов
bool __fastcall CreatTableTema(AnsiString); // создать структуру таблицы тем
bool __fastcall CreatTableDisc(AnsiString); // создать структуру таблицы
дисциплин
bool __fastcall CreatTableQuest(AnsiString); // создать структуру таблицы
вопросов
bool __fastcall CreatTableAnswer(AnsiString); // создать структуру таблицы
ответов
bool __fastcall CreatTableInter(AnsiString); // создать структуру таблицы
интрепритации
int __fastcall ExportTableTest(AnsiString, int*); // выгрузить таблицу тестов
int __fastcall ExportTableTema(AnsiString, int); // выгрузить таблицу тем
bool __fastcall ExportTableDisc(AnsiString, int); // выгрузить таблицу
дисциплин
bool __fastcall ExportTableQuest(AnsiString, int); // выгрузить таблицу вопросов
bool __fastcall ExportTableAnswer(AnsiString, int); // выгрузить таблицу ответов
125
bool __fastcall ExportTableInter(AnsiString, int, int, int); // выгрузить таблицу
интрепритации
bool __fastcall Import(AnsiString, int); // импорт содержимого теста - вопросов и
ответов
bool __fastcall ImportAnswers(AnsiString, int, int); // импорт ответов
bool __fastcall Delete(); // удалить тест
AnsiString __fastcall GetInter(double); // вернуть для этого тесту интерпритацию
для заданного результата
}; // TTest
//---------------------------------------------------------------------------
// класс узла дерева
class TNodeType
{
public:
int Type; // тип узла
int ID; // идентификатор
__fastcall TNodeType(int t, int i) // тип, ИД
{ Type = t; ID = i; };
};
//---------------------------------------------------------------------------
#endif
FormExportU
//---------------------------------------------------------------------------
#ifndef FormExportUH
#define FormExportUH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Buttons.hpp>
#include <FileCtrl.hpp>
#include <DB.hpp>
#include <DBTables.hpp>
126
//---------------------------------------------------------------------------
class TFormExport : public TForm
{
__published: // IDE-managed Components
TDirectoryListBox *DirectoryListBox1;
TDriveComboBox *DriveComboBox1;
TBitBtn *BitBtnExport;
TQuery *QueryTmp;
TLabel *Label1;
TMemo *Memo;
TBitBtn *BitBtn1;
void __fastcall BitBtnExportClick(TObject *Sender);
void __fastcall BitBtn1Click(TObject *Sender);
private: // User declarations
int DiscID; // ИД дисциплины
int TemaID; // ИД темы
int TestID; // ИД теста
AnsiString ExportDir; // каталог экспорта
bool Expimp; // признак экспорта или импорта
void __fastcall Export(); // Экспорт
bool __fastcall ExportDisc(); // выгрузить дисциплину
bool __fastcall ExportTema(); // выгрузить тему
void __fastcall DropTable(AnsiString); // удалить таблицу
void __fastcall Import(); // Импорт
bool __fastcall ImportDisc(); // загрузить дисциплины
bool __fastcall ImportTems(int, int); // загрузить темы
bool __fastcall ImportTests(int, int); // загрузить тесты
bool __fastcall ImportInter(int, int, int, int, int, int); // загрузить интерпритации
public: // User declarations
__fastcall TFormExport(TComponent* Owner);
int __fastcall ShowModal(bool, int, int, int, AnsiString);
};
//---------------------------------------------------------------------------
extern PACKAGE TFormExport *FormExport;
//---------------------------------------------------------------------------
#endif
FormIntel
//---------------------------------------------------------------------------
127
#ifndef FormInterUH
#define FormInterUH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ComCtrls.hpp>
#include <Buttons.hpp>
#include <DB.hpp>
#include <DBGrids.hpp>
#include <DBTables.hpp>
#include <ExtCtrls.hpp>
#include <Grids.hpp>
//---------------------------------------------------------------------------
class TFormInter : public TForm
{
__published: // IDE-managed Components
TQuery *QueryInter;
TDataSource *DataSourceInter;
TTable *TableDisc;
TPanel *Panel1;
TLabel *Label1;
TLabel *LabelDisc;
TLabel *Label2;
TLabel *LabelTema;
TLabel *Label3;
TLabel *LabelTest;
TPanel *Panel2;
TDBGrid *DBGridInter;
TPanel *Panel3;
TLabel *Label4;
TEdit *Res1;
TLabel *Label5;
TEdit *Res2;
TLabel *Label6;
TUpDown *UpDown1;
TUpDown *UpDown2;
TPanel *Panel4;
TMemo *MemoInter;
TPanel *PanelButtons;
TPanel *PanelClose;
TTable *TableTema;
TTable *TableTest;
Источник: https://baza.diplomsite.ru/previewfile/2090