Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace Анархия_в_больнице
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- Hospital hospital = new Hospital();
- hospital.Work();
- }
- }
- class Hospital
- {
- private List<Patient> _patients = new List<Patient>();
- public Hospital()
- {
- _patients.Add(new Patient("Иван", "Иванов", 25, "Гайморит"));
- _patients.Add(new Patient("Владимир", "Владимиров", 35, "Гастрит"));
- _patients.Add(new Patient("Игорь", "Игорев", 45, "Гайморит"));
- _patients.Add(new Patient("Михаил", "Михаилов", 55, "Гастрит"));
- _patients.Add(new Patient("Максим", "Максимов", 65, "Гастрит"));
- _patients.Add(new Patient("Лев", "Львов", 75, "Аритмия"));
- _patients.Add(new Patient("Артем", "Артемов", 85, "Гайморит"));
- _patients.Add(new Patient("Матвей", "Матвеев", 18, "Инсульт"));
- _patients.Add(new Patient("Дмитрий ", "Дмитриев", 38, "Аритмия"));
- _patients.Add(new Patient("Мария", "Иванова", 62, "Инсульт"));
- _patients.Add(new Patient("Анна", "Артемова", 41, "Аритмия"));
- }
- public void Work()
- {
- const string NameSort = "1";
- const string AgeSort = "2";
- const string DiseaseSearch = "3";
- const string Exit = "4";
- bool isRun = true;
- while (isRun)
- {
- Console.ForegroundColor = ConsoleColor.DarkYellow;
- Console.WriteLine("Пациенты в больнице:");
- Console.ForegroundColor = ConsoleColor.White;
- ShowAllPatients();
- Console.WriteLine($"\nМеню:\n{NameSort} - Сортировка больных по имени\n{AgeSort} - Сортировка больных по возрасту\n{DiseaseSearch} - Поиск больного по болезни\n{Exit} - Выход из программы");
- string userInput = Console.ReadLine();
- switch (userInput)
- {
- case NameSort:
- SortName();
- break;
- case AgeSort:
- SortAge();
- break;
- case DiseaseSearch:
- ShowPatientByDisease();
- break;
- case Exit:
- isRun = false;
- break;
- default:
- Console.WriteLine("Такой команды нет");
- break;
- }
- }
- }
- private void ShowPatientByDisease()
- {
- Console.Write("Введите заболевание: ");
- string disease = Utility.ReturnInputText();
- var desiredPatient = _patients.Where(patient => patient.Disease.ToUpper() == disease.ToUpper());
- if (desiredPatient.Count() == 0)
- {
- Console.ForegroundColor = ConsoleColor.Red;
- Console.WriteLine("Введите корректные данные");
- Console.ForegroundColor = ConsoleColor.White;
- }
- foreach (var patient in desiredPatient)
- {
- patient.ShowDescription();
- }
- Console.ForegroundColor = ConsoleColor.DarkGreen;
- Console.WriteLine("\nНажмите любую клавишу...");
- Console.ForegroundColor = ConsoleColor.White;
- Console.ReadKey();
- Console.Clear();
- }
- private void SortName()
- {
- var sortedPatient = _patients.OrderBy(patient => patient.Name);
- foreach (var patient in sortedPatient)
- {
- patient.ShowDescription();
- }
- Console.ForegroundColor = ConsoleColor.DarkGreen;
- Console.WriteLine("\nНажмите любую клавишу...");
- Console.ForegroundColor = ConsoleColor.White;
- Console.ReadKey();
- Console.Clear();
- }
- private void SortAge()
- {
- var sortedPatient = _patients.OrderBy(patient => patient.Age);
- foreach (var patient in sortedPatient)
- {
- patient.ShowDescription();
- }
- Console.ForegroundColor = ConsoleColor.DarkGreen;
- Console.ReadKey();
- Console.Clear();
- Console.ForegroundColor = ConsoleColor.White;
- }
- private void ShowAllPatients()
- {
- foreach (var patient in _patients)
- {
- patient.ShowDescription();
- }
- }
- }
- class Patient
- {
- public Patient(string name, string surname, int age, string disease)
- {
- Name = name;
- Surname = surname;
- Age = age;
- Disease = disease;
- }
- public string Name { get; private set; }
- public string Surname { get; private set; }
- public int Age { get; private set; }
- public string Disease { get; private set; }
- public void ShowDescription()
- {
- Console.WriteLine($"Имя: {Name} Фамилия: {Surname} Возраст: {Age} Заболевание: {Disease}");
- }
- }
- class Utility
- {
- public static int ReturnInputNumber()
- {
- int number;
- while (int.TryParse(Console.ReadLine(), out number) == false)
- {
- Console.WriteLine("Введено не число, попробуйте еще раз: ");
- }
- return number;
- }
- public static string ReturnInputText()
- {
- string text = Console.ReadLine();
- foreach (char symbol in text)
- {
- if (char.IsLetter(symbol) == false || text == null)
- {
- break;
- }
- }
- return text;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement