Дипломная работа: Автоматизация процесса контроля знаний учащихся ГОУ СОШ №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)
{ // Кнопка "Следующий вопрос" становится активной, и ей
// передаем фокус:
Источник: https://baza.diplomsite.ru/previewfile/2096