Делаю программку по учёбе, что-то вроде курсовой: написать тест на C#, на чекбоксах, в трех уровнях сложности:
1. выбор одного варианта ответа из пяти представленных;
2. двух (или более) вариантов одновременно;
3. ввод ответа с последующей проверкой на правильность.
Стандарт, в общем. Самый простой уровень написал легко, самый сложный - тоже.
А вот как сделать, чтобы условие правильности ответа выполнялось, когда нужно выбрать два или три правильных варианта ответа одновременно?
Пытался сделать вот так:
int rcount = 0; // число правильных ответов
string right1 = "";
string right2 = ""; // определяем правильные ответы
....
private void button1_Click(object sender, EventArgs e)
{
CheckBox[] CB = { checkBox1, checkBox2, checkBox3, checkBox4, checkBox5 };
foreach (CheckBox cb in CB)
{
if (cb.Checked && cb.Text == right1 && cb.Text == right2) rcount++;
}
}
но не выходит, условие не выполняется, rcount не увеличивается. В коде, который опустил, производится опрос чекбоксов, и переменные right1 и right2 соответствуют правильным вариантам ответа. И, если выбраны правильные варианты, нужно, чтоб выполнялось увеличение счётчика верных ответов. Судя по всему, идиотский вопрос, но не знаю, как сделать, чтобы это работало. Подскажите, пожалуйста, как сделать, чтоб условие выполнялось при двух или более вариантах ответа?
Ответ
У вас в задаче сказано двух (или более) вариантов - это значит, что надо определить массив/коллекцию для вариантов, а не отдельный right* для каждого варианта.
p.s.
Добавил пример -- WinForms приложение, в котором можно указывать любое количество вопросов и правильные ответы.
Комментариев нет:
Отправить комментарий