Как я могу закодировать это в C# с использованием массивов
потратили много часов, пытаясь решить эту проблему, но безуспешно. использование C#
Местное бюро водительских прав попросило вас создать приложение, которое оценивает письменную часть экзамена на водительские права. Экзамен состоит из 20 вопросов с множественным выбором. Вот правильные ответы:
1. B 2. D 3. A 4. A 5. C
6. A 7. B 8. A 9. C 10. D
11. B 12. C 13. D 14. A 15. D
16. C 17. C 18. B 19. D 20. A
Ваша программа должна хранить эти правильные ответы в массиве. Программа должна прочитать ответы студента на каждый из 20 вопросов из текстового файла и сохранить ответы в другом массиве. (Создайте свой собственный текстовый файл для тестирования приложения). После того, как ответы студента будут прочитаны из файла, программа должна отобразить сообщение, показывающее, сдал ли студент экзамен или не прошел. (Чтобы сдать экзамен, учащийся должен правильно ответить на 15 из 20 вопросов.) Затем он должен отобразить общее количество правильно отвеченных вопросов, общее количество неправильно отвеченных вопросов и список, показывающий номера вопросов из неправильно отвеченных вопросов.
Что я уже пробовал:
использование системы;
использование системы.Коллекции.Общий;
использование системы.ComponentModel;
используя системы.Сведения;
использование системы.Рисование;
использование System. Linq;
используя системы.Текст;
использование системы.Нарезание резьбы.Задачи;
использование системы.Окна.Формы;
использование системы.ИО;
пространство имен WernerCh7_4
{
общественности частичного класс form1 : форма
{
открытый form1()
{
метод InitializeComponent();
}
частный недействительными обработчика button1_click(объект отправителя, EventArgs в электронной)
{
int score = 0;
инт пропустил = 0;
string[] lines = файл.ReadAllLines("Answers/Answers.txt");
строка[] correctAnswers = { "Б", "Д", "А", "В", "С", "А", "Б", "В", "С", "Д", "Б", "С", "D", "С", "Д", "С", "С", "Б", "Д", "А" };
string[] userAnswers = null;
пробовать
{
если (строки.Длина != 0)
{
userAnswers = lines[0]. Split(new char[] { ' ' });
}
if (userAnswers != null)
{
List & lt;int32 & gt; wrongQuestions = новый список & lt;int32>();
for (int index = 0; index < correctAnswers.Длина; индекс++)
{
if (userAnswers[index].Equals (correctAnswers[index])) оценка++;
еще неправильные вопросы.Добавить (индекс + 1);
}
если (оценка >= 15)
{
этикетка 1.Текст = ("Перевал");
}
ещё
{
этикетка 1.Текст = ("Не");
}
метка2.Текст = результат.ToString("N");
пропущено = 20 очков;
этикетка 3.Текст = пропущен.ToString("N");
Ящик для сообщений.Show ("неправильные вопросы:" + строка.Присоединиться(",", wrongQuestions.Метод toArray()));
}
}
поймать (исключение бывший)
{
Ящик для сообщений.Показать (например, сообщение);
}
}
}
}