Не правильно считываются данные
Я написал программу тест. Есть 4 radioButton'а, label, button 1.
Вопросы из теста берутся из документа quest.txt.

Первым идет название теста(Теоретическая часть), дальше уже сам вопрос и 4 вариантов ответа. правильный ответ указан как число (1,2,3,4).
Сам код
namespace Diplomka
{
public partial class Form5 : MaterialForm
{
int question_count;
int correct_answers;
int wrong_answer;
string[] array;
int correct_answers_number;
int selected_response;
StreamReader Read;
public Form5()
{
InitializeComponent();
}
void Start()
{
try
{
Read = new StreamReader(Directory.GetCurrentDirectory() + @"\quest.txt", Encoding.UTF8);
this.Text = Read.ReadLine();
question_count = 0;
correct_answers = 0;
wrong_answer = 0;
array = new string[30];
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
вопрос();
}
void вопрос()
{
label1.Text = Read.ReadLine();
radioButton0.Text = Read.ReadLine();
radioButton1.Text = Read.ReadLine();
radioButton2.Text = Read.ReadLine();
radioButton3.Text = Read.ReadLine();
correct_answers = int.Parse(Read.ReadLine());
radioButton0.Checked = false;
radioButton1.Checked = false;
radioButton2.Checked = false;
radioButton3.Checked = false;
button1.Enabled = false;
question_count = question_count + 1;
if (Read.EndOfStream == true)
{
button1.Text = "Завершить";
}
}
void состояниеПереключения(object sender, EventArgs e)
{
button1.Enabled = true;
button1.Focus();
RadioButton p = (RadioButton)sender;
var t = p.Name;
selected_response = int.Parse(t.Substring(11));
}
private void radioButton4_CheckedChanged(object sender, EventArgs e)
{
}
private void buttonNext_Click_1(object sender, EventArgs e)
{
}
private void label1_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
}
private void Form5_Load(object sender, EventArgs e)
{
radioButton0.CheckedChanged += new EventHandler(состояниеПереключения);
radioButton1.CheckedChanged += new EventHandler(состояниеПереключения);
radioButton2.CheckedChanged += new EventHandler(состояниеПереключения);
radioButton3.CheckedChanged += new EventHandler(состояниеПереключения);
Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
}
private void label1_Click_1(object sender, EventArgs e)
{
}
private void выходToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void начатьТестЗаногоToolStripMenuItem_Click(object sender, EventArgs e)
{
}
private void materialButton1_Click(object sender, EventArgs e)
{
if (selected_response == correct_answers_number)
{
correct_answers = correct_answers + 1;
}
if (selected_response != correct_answers_number)
{
wrong_answer = wrong_answer + 1;
array[wrong_answer] = label1.Text;
}
if(button1.Text == "asd")
{
radioButton0.Visible = true;
radioButton1.Visible = true;
radioButton2.Visible = true;
radioButton3.Visible = true;
Start();
return;
}
if(button1.Text == "Завершить")
{
Read.Close();
radioButton0.Visible = false;
radioButton1.Visible = false;
radioButton2.Visible = false;
radioButton3.Visible = false;
label1.Text = String.Format("Тестирование завершено.\n" + "Правильных ответов: {0} из {1}. \n" + "Набранные баллы: {2:F2}.",correct_answers, question_count, (correct_answers * 5.0F) / question_count);
var Str = "Список ошибок " + ":\n\n";
for (int i = 1; i <= wrong_answer; i++)
{
Str = Str + array[i] + "\n";
}
if(wrong_answer != 0)
{
MessageBox.Show(Str, "Тест завершен");
}
}
if (button1.Text == "Следующий вопрос")
{
вопрос();
}
}
private void radioButton0_CheckedChanged(object sender, EventArgs e)
{
}
private void materialButton1_Click_1(object sender, EventArgs e)
{
}
private void label1_Click_2(object sender, EventArgs e)
{
}
}
}
Почему при завершении теста, список ошибок выводится правильно, а вот подсчет баллов и список правильно ответов выводится не верно. Не понимаю что не так в коде:
label1.Text = String.Format("Тестирование завершено.\n" + "Правильных ответов: {0} из {1}. \n" + "Набранные баллы: {2:F2}.",correct_answers, question_count, (correct_answers * 5.0F) / question_count);

