public void Menu() { string input = ""; Console.WriteLine("\tЗдравствуйте! Введите номер функции или \"stop\" для выхода из программы\n" + "\n1. Вывести список студентов" + "\n2. Добавление студентов" + "\n3. Модификация списка студентов" + "\n4. Удаление студентов из списка" + "\n5. Сортировка по ФИО" + "\n6. Сортировка по дате" + "\n7. Обратная сортировка по ФИО" + "\n8. Обратная сортировка по дате" + "\n9. Поиск студентов по ФИО" + "\n10. Поиск студентов по дате рождения" + "\n11. Нахождение максимального среднего балла" + "\n12. Нахождение минимального среднего балла" + "\n13. Нахождение среднего балла" + "\n14. Нахождение суммы средних баллов" + "\n15. Сохранить данные в файл"); while (input != "stop") { Console.Write("\nВведите номер функции: "); input = Console.ReadLine(); switch (input) { case "1": Print(students); break; case "2": Add(StudentsParseService.GetStudents()); break; case "3": Modify(StudentsParseService.GetStudents()); break; case "4": Delete(StudentsParseService.GetStudents()); break; case "5": Sort((x, y) => x.name.CompareTo(y.name)); break; case "6": Sort((x, y) => x.dateOfBirth.CompareTo(y.dateOfBirth)); break; case "7": Sort((x, y) => - x.name.CompareTo(y.name)); break; case "8": Sort((x, y) => - x.dateOfBirth.CompareTo(y.dateOfBirth)); break; case "9": Console.Write("Введите ФИО: "); input = Console.ReadLine(); Print(Search(x => x.name == input)); break; case "10": Console.Write("Введите дату рождения: "); input = Console.ReadLine(); Print(Search(x => x.dateOfBirth == DateTime.Parse(input))); break; case "11": Max(); break; case "12": Min(); break; case "13": Average(); break; case "14": Sum(); break; case "15": SaveToFile(); break; default: Console.WriteLine($"Упс! Функция \"{input}\" не найдена"); break; } } }
public List <Student> students = new List <Student>(); //Создаем лист студентов public void Menu() //Основное меню { string input = ""; while (input != "stop") { Console.Clear(); Console.WriteLine("\tЗдравствуйте! Введите номер функции\n" + "\n1. Вывести список студентов" + "\n2. Добавление студентов" + "\n3. Сортировка по ФИО" + "\n4. Сортировка по дате" + "\n5. Обратная сортировка по ФИО" + "\n6. Обратная сортировка по дате" + "\n7. Поиск студентов по ФИО" + "\n8. Поиск студентов по дате рождения" + "\n9. Нахождение максимального среднего балла" + "\n10. Нахождение минимального среднего балла" + "\n11. Нахождение среднего балла" + "\n12. Нахождение суммы средних баллов" + "\n13. Сохранить данные в файл" + "\n14. Редактирование студентов" + "\n15. Выход из программы"); Console.Write("\nВведите номер функции: "); input = Console.ReadLine(); switch (input) { case "1": Print(students); break; case "2": Add(StudentsParseService.GetStudents()); break; case "3": Sort((x, y) => x.name.CompareTo(y.name)); break; case "4": Sort((x, y) => x.dateOfBirth.CompareTo(y.dateOfBirth)); break; case "5": Sort((x, y) => - x.name.CompareTo(y.name)); break; case "6": Sort((x, y) => - x.dateOfBirth.CompareTo(y.dateOfBirth)); break; case "7": Console.Write("Введите ФИО: "); input = Console.ReadLine(); StudentsMenu(Search(x => x.name.Contains(input))); break; case "8": Console.Write("Введите дату рождения: "); input = Console.ReadLine(); try { StudentsMenu(Search(x => x.dateOfBirth == DateTime.Parse(input))); break; } catch { Console.WriteLine("Дата введена в неверном формате"); break; } case "9": float max = students.Max(y => y.averagePoints); Print(Search(x => x.averagePoints == max)); break; case "10": float min = students.Min(y => y.averagePoints); Print(Search(x => x.averagePoints == min)); break; case "11": Average(); break; case "12": Sum(); break; case "13": SaveToFile(); break; case "14": StudentsMenu(students); break; case "15": return; default: //Защита от дурака Console.WriteLine($"Упс! Функция \"{input}\" не найдена"); break; } Console.WriteLine("Нажмите любую клавишу для продолжения"); Console.ReadKey(); } }