Диплом: Автоматизация процесса контроля знаний учащихся ГОУ СОШ №17

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
125
radioButton7->Visible =
true;
radioButton7->Text =
String::Format("{0}", Таблица->Rows[8]->ItemArray[НомерВопросаТБ]);
//8
if (String::Format("{0}",
Таблица->Rows[9]->ItemArray[НомерВопросаТБ]) == "") {
return;
}
else
{
radioButton8-
>Visible = true;
radioButton8-
>Text = String::Format("{0}", Таблица->Rows[9]->ItemArray[НомерВопросаТБ]);
}
}
}
}
}
}
}
}
126
}
catch (Exception ^ Ситуация)
{
// Отчет о других ошибках:
MessageBox::Show(Ситуация->Message, "Ошибка",
MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
}
}
public: System::Void Button5_Click(System::Object^ sender, System::EventArgs^
e) {
try {
button5->Visible = false;
//Переменые для проверки теста
int ОтветУчиника;
int ОтветТеста;
String^ ОтветУчиника1;
String^ ОтветТеста1;
int КоличествоПравильныхОтветов = 0;
int КоличествоНеПравильныхОтветов = 0;
//Проверка теста
for (int i2 = 0; i2 < КоличествоСтолбцов; i2++)
127
{
ОтветУчиника1 = String::Format("{0}", dataGridView1[1, i2]-
>Value);
ОтветТеста1 = String::Format("{0}", Таблица->Rows[1]-
>ItemArray[i2]);
ОтветУчиника = Convert::ToInt16(ОтветУчиника1);
ОтветТеста = Convert::ToInt16(ОтветТеста1);
if (ОтветУчиника == ОтветТеста)
{
КоличествоПравильныхОтветов =
КоличествоПравильныхОтветов + 1;
}
else
{
КоличествоНеПравильныхОтветов =
КоличествоНеПравильныхОтветов + 1;
}
}
//Вычисление оценки
int Оценка5;
Оценка5 = (КоличествоПравильныхОтветов * 5.0F) /
КоличествоСтолбцов;
int Оценка10;
Оценка10 = (КоличествоПравильныхОтветов * 10.0F) /
КоличествоСтолбцов;
128
int Оценка100;
Оценка100 = (КоличествоПравильныхОтветов * 100.0F) /
КоличествоСтолбцов;
//Выдача результата на экран
MessageBox::Show(String::Format("Количество правильных ответов
= {0} \n", КоличествоПравильныхОтветов) + String::Format("Количество не
правильных ответов = {0}", КоличествоНеПравильныхОтветов)
+ String::Format("\nОценка за тест по пятибальной системе:
{0}", Оценка5)
+ String::Format("\nОценка за тест по десятибальной системе:
{0}", Оценка10)
+ String::Format("\nОценка за тест по стобальной системе:
{0}", Оценка100));
//Узнаем название предмета
int АдресТеста = НазваниеТеста->IndexOf("Тест");
String^ НазваниеТестаДляБазы = НазваниеТеста->Substring(0,
АдресТеста - 1);
//Подключение к базе
auto Подключение = gcnew OleDb::OleDbConnection(
"Data Source=\"Database2003.mdb\";User " +
"ID=Admin;Provider=\"Microsoft.Jet.OLEDB.4.0\";");
auto Команда = gcnew
OleDb::OleDbCommand(String::Format("SELECT * From [{0}]",
НазваниеТестаДляБазы), Подключение);
Подключение->Open();
//Создаем объект класса Adapter и выполняем SQL-запрос
129
auto Адаптер = gcnew OleDb::OleDbDataAdapter(Команда);
//Создаем объект класса DataSet
auto НаборДанных1 = gcnew DataSet();
Адаптер->Fill(НаборДанных1, НазваниеТестаДляБазы);
// Содержимое DataSet в виде строки XML для отладки:
String^ СтрокаXML = НаборДанных1->GetXml();
Команда->CommandText = String::Format("UPDATE [{0}] SET [{1}]
= '{2}' WHERE ([ФИО] = '{3}')", НазваниеТестаДляБазы, НазваниеТеста,
Оценка5, label1->Text);
Команда->ExecuteNonQuery();
Подключение->Close();
this->Close();
}
catch (Exception ^ Ситуация)
{
// Отчет о других ошибках:
MessageBox::Show(Ситуация->Message, "Ошибка",
MessageBoxButtons::OK, MessageBoxIcon::Exclamation);
}
}
public: Void ИзмСостПерекл(System::Object^ sender, System::EventArgs^ e)
{ // Кнопка "Следующий вопрос" становится активной, и ей
// передаем фокус:
130
button3->Enabled = true;
button4->Enabled = true;
RadioButton^ Переключатель = (RadioButton^)sender;
String^ tmp = Переключатель->Name;
// Выясняем номер ответа, выбранный студентом:
ВыбранОтвет = int::Parse(tmp->Substring(11));
//ВыбранОтвет = Переключатель->TabIndex;
}
public: System::Void button4_Click(System::Object^ sender, System::EventArgs^
e) {
try
{
//Создаем таблицу ответов объекта dataGridWiew1:
dataGridView1->DataSource = ТаблицаОтветов;
//убираем видимость радиобатенов
radioButton1->Visible = false;
radioButton2->Visible = false;
radioButton3->Visible = false;
radioButton4->Visible = false;
radioButton5->Visible = false;
radioButton6->Visible = false;
radioButton7->Visible = false;
radioButton8->Visible = false;
131
//убираем активные флажки
radioButton1->Checked = false;
radioButton2->Checked = false;
radioButton3->Checked = false;
radioButton4->Checked = false;
radioButton5->Checked = false;
radioButton6->Checked = false;
radioButton7->Checked = false;
radioButton8->Checked = false;
//label5->Text = String::Format("{0}", ВыбранОтвет);
//Преобразуем номер ответа и выбраные ответ в строку для
дальнейшего сравнения:
String^ НомерОтвета = String::Format("{0}", dataGridView1[1,
НомерВопросаТБ]->Value);
String^ ВыбранОтветСтрока = Convert::ToString(ВыбранОтвет);
//Записывает данные в таблицу dataGridView1:
if (НомерОтвета = "")
{
dataGridView1[1, (Convert::ToInt16(label4->Text) - 1)]->Value
= ВыбранОтвет;
}
else
{
if (НомерОтвета == ВыбранОтветСтрока)
{
132
dataGridView1[1, (Convert::ToInt16(label4->Text) - 1)]-
>Value = ВыбранОтвет;
};
}
//Определяем номер вопроса:
if (НомерВопроса == 1) {
НомерВопроса = КоличествоСтолбцов;
НомерВопросаТБ = КоличествоСтолбцов - 1;
}
else
{
НомерВопроса = НомерВопроса - 1;
НомерВопросаТБ = НомерВопросаТБ - 1;
}
//Заполняем лабел3 Вопросом из Таблицы:
label3->Text = String::Format("{0}", Таблица->Rows[0]-
>ItemArray[НомерВопросаТБ]);
//Номер вопроса
label4->Text = String::Format("{0}", НомерВопроса);
int i5 = 0;
for (int i4 = 0; i4 < КоличествоСтолбцов; i4++)
{
String^ ЗдачаТеста = String::Format("{0}", dataGridView1[1,
i4]->Value);
133
if (ЗдачаТеста == "")
{
i5 = i5 + 1;
}
}
//Выбор уже имеющегося ответа
String^ ОтветВТаблице = String::Format("{0}", dataGridView1[1,
НомерВопросаТБ]->Value);
if (radioButton1->Name == "radioButton" + ОтветВТаблице)
{
radioButton1->Checked = true;
}
if (radioButton2->Name == "radioButton" + ОтветВТаблице)
{
radioButton2->Checked = true;
}
if (radioButton3->Name == "radioButton" + ОтветВТаблице)
{
radioButton3->Checked = true;
}
if (radioButton4->Name == "radioButton" + ОтветВТаблице)
{
radioButton4->Checked = true;
}
134
if (radioButton5->Name == "radioButton" + ОтветВТаблице)
{
radioButton5->Checked = true;
}
if (radioButton6->Name == "radioButton" + ОтветВТаблице)
{
radioButton6->Checked = true;
}
if (radioButton7->Name == "radioButton" + ОтветВТаблице)
{
radioButton7->Checked = true;
}
if (radioButton8->Name == "radioButton" + ОтветВТаблице)
{
radioButton8->Checked = true;
}
if (i5 == 0)
{
button5->Enabled = true;
}
Порядок();
Смеситель();
//Занисение ответов в радиобутен и определение их количества:

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)