Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика2.docx
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
837.74 Кб
Скачать

Контрольный пример(14):

Описание программы № 15:

Программа тестирует студента по какому-либо предмету обучения.

Листинг(15):

publicpartialclassForm1 : Form

{

intСчетВопросов;

intПравилОтветов;

intНеПравилОтветов;

String[] НеПравилОтветы;

intНомерПравОтвета;

intВыбранОтвет;

System.IO.StreamReaderЧитатель;

public Form1()

{

InitializeComponent();

}

privatevoid Form1_Load(object sender, EventArgs e)

{

button1.Text = "Следующий вопрос";

button2.Text = "Выход";

radioButton1.CheckedChanged += newEventHandler(ИзмСостПерекл);

radioButton2.CheckedChanged += newEventHandler(ИзмСостПерекл);

radioButton3.CheckedChanged += newEventHandler(ИзмСостПерекл);

НачалоТеста();

}

voidНачалоТеста()

{

varКодировка = System.Text.Encoding.GetEncoding(1251);

try

{

Читатель = newSystem.IO.StreamReader(

System.IO.Directory.GetCurrentDirectory() +

@"\test.txt", Кодировка);

this.Text = Читатель.ReadLine();

СчетВопросов = 0; ПравилОтветов = 0; НеПравилОтветов = 0;

НеПравилОтветы = newString[100];

}

catch (ExceptionСитуация)

{

MessageBox.Show(Ситуация.Message, "Ошибка",

MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

}

ЧитатьСледВопрос();

}

voidЧитатьСледВопрос()

{

label1.Text = Читатель.ReadLine();

radioButton1.Text = Читатель.ReadLine();

radioButton2.Text = Читатель.ReadLine();

radioButton3.Text = Читатель.ReadLine();

НомерПравОтвета = int.Parse(Читатель.ReadLine());

radioButton1.Checked = false;

radioButton2.Checked = false;

radioButton3.Checked = false;

button1.Enabled = false;

СчетВопросов = СчетВопросов + 1;

if (Читатель.EndOfStream == true) button1.Text = "Завершить";

}

voidИзмСостПерекл(Object sender, EventArgs e)

{

button1.Enabled = true; button1.Focus();

RadioButtonПереключатель = (RadioButton)sender;

vartmp = Переключатель.Name;

ВыбранОтвет = int.Parse(tmp.Substring(11));

}

privatevoid button1_Click(object sender, EventArgs e)

{

if (ВыбранОтвет == НомерПравОтвета) ПравилОтветов =

ПравилОтветов + 1;

if (ВыбранОтвет != НомерПравОтвета)

{

НеПравилОтветов = НеПравилОтветов + 1;

НеПравилОтветы[НеПравилОтветов] = label1.Text;

}

if (button1.Text == "Начать тестирование сначала")

{

button1.Text = "Следующийвопрос";

radioButton1.Visible = true;

radioButton2.Visible = true;

radioButton3.Visible = true;

НачалоТеста(); return;

}

if (button1.Text == "Завершить")

{

Читатель.Close();

radioButton1.Visible = false;

radioButton2.Visible = false;

radioButton3.Visible = false;

label1.Text = String.Format("Тестирование завершено.\n" +

"Правильных ответов: {0} из {1}.\n" +

"Оценка в пятибальной системе: {2:F2}.", ПравилОтветов,

СчетВопросов, (ПравилОтветов * 5.0F) / СчетВопросов);

button1.Text = "Начать тестирование сначала";

varStr = "СПИСОК ВОПРОСОВ, НА КОТОРЫЕ ВЫ ДАЛИ " +

"НЕПРАВИЛЬНЫЙ ОТВЕТ:\n\n";

for (int i = 1; i <= НеПравилОтветов; i++)

Str = Str + НеПравилОтветы[i] + "\n";

if (НеПравилОтветов != 0) MessageBox.Show(

Str, "Тестирование завершено");

}

Контрольный пример(15):

Описание программы № 16:

Программа вывода таблицы средствами MS Word.