Advertisement
VodVas

Анархия в больнице

Jan 15th, 2024
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.42 KB | Software | 0 0
  1. namespace Анархия_в_больнице
  2. {
  3.     internal class Program
  4.     {
  5.         static void Main(string[] args)
  6.         {
  7.             Hospital hospital = new Hospital();
  8.  
  9.             hospital.Work();
  10.         }
  11.     }
  12.  
  13.     class Hospital
  14.     {
  15.         private List<Patient> _patients = new List<Patient>();
  16.  
  17.         public Hospital()
  18.         {
  19.             _patients.Add(new Patient("Иван", "Иванов", 25, "Гайморит"));
  20.             _patients.Add(new Patient("Владимир", "Владимиров", 35, "Гастрит"));
  21.             _patients.Add(new Patient("Игорь", "Игорев", 45, "Гайморит"));
  22.             _patients.Add(new Patient("Михаил", "Михаилов", 55, "Гастрит"));
  23.             _patients.Add(new Patient("Максим", "Максимов", 65, "Гастрит"));
  24.             _patients.Add(new Patient("Лев", "Львов", 75, "Аритмия"));
  25.             _patients.Add(new Patient("Артем", "Артемов", 85, "Гайморит"));
  26.             _patients.Add(new Patient("Матвей", "Матвеев", 18, "Инсульт"));
  27.             _patients.Add(new Patient("Дмитрий ", "Дмитриев", 38, "Аритмия"));
  28.             _patients.Add(new Patient("Мария", "Иванова", 62, "Инсульт"));
  29.             _patients.Add(new Patient("Анна", "Артемова", 41, "Аритмия"));
  30.         }
  31.  
  32.         public void Work()
  33.         {
  34.             const string NameSort = "1";
  35.             const string AgeSort = "2";
  36.             const string DiseaseSearch = "3";
  37.             const string Exit = "4";
  38.  
  39.             bool isRun = true;
  40.  
  41.             while (isRun)
  42.             {
  43.                 Console.ForegroundColor = ConsoleColor.DarkYellow;
  44.                 Console.WriteLine("Пациенты в больнице:");
  45.                 Console.ForegroundColor = ConsoleColor.White;
  46.  
  47.                 ShowAllPatients();
  48.  
  49.                 Console.WriteLine($"\nМеню:\n{NameSort} - Сортировка больных по имени\n{AgeSort} - Сортировка больных по возрасту\n{DiseaseSearch} - Поиск больного по болезни\n{Exit} - Выход из программы");
  50.  
  51.                 string userInput = Console.ReadLine();
  52.  
  53.                 switch (userInput)
  54.                 {
  55.                     case NameSort:
  56.                         SortName();
  57.                         break;
  58.  
  59.                     case AgeSort:
  60.                         SortAge();
  61.                         break;
  62.  
  63.                     case DiseaseSearch:
  64.                         ShowPatientByDisease();
  65.                         break;
  66.  
  67.                     case Exit:
  68.                         isRun = false;
  69.                         break;
  70.  
  71.                     default:
  72.                         Console.WriteLine("Такой команды нет");
  73.                         break;
  74.                 }
  75.             }
  76.         }
  77.  
  78.         private void ShowPatientByDisease()
  79.         {
  80.             Console.Write("Введите заболевание: ");
  81.  
  82.             string disease = Utility.ReturnInputText();
  83.  
  84.             var desiredPatient = _patients.Where(patient => patient.Disease.ToUpper() == disease.ToUpper());
  85.  
  86.             if (desiredPatient.Count() == 0)
  87.             {
  88.                 Console.ForegroundColor = ConsoleColor.Red;
  89.                 Console.WriteLine("Введите корректные данные");
  90.                 Console.ForegroundColor = ConsoleColor.White;
  91.             }
  92.  
  93.             foreach (var patient in desiredPatient)
  94.             {
  95.                 patient.ShowDescription();
  96.             }
  97.  
  98.             Console.ForegroundColor = ConsoleColor.DarkGreen;
  99.             Console.WriteLine("\nНажмите любую клавишу...");
  100.             Console.ForegroundColor = ConsoleColor.White;
  101.             Console.ReadKey();
  102.             Console.Clear();
  103.         }
  104.  
  105.         private void SortName()
  106.         {
  107.             var sortedPatient = _patients.OrderBy(patient => patient.Name);
  108.  
  109.             foreach (var patient in sortedPatient)
  110.             {
  111.                 patient.ShowDescription();
  112.             }
  113.  
  114.             Console.ForegroundColor = ConsoleColor.DarkGreen;
  115.             Console.WriteLine("\nНажмите любую клавишу...");
  116.             Console.ForegroundColor = ConsoleColor.White;
  117.             Console.ReadKey();
  118.             Console.Clear();
  119.         }
  120.  
  121.         private void SortAge()
  122.         {
  123.             var sortedPatient = _patients.OrderBy(patient => patient.Age);
  124.  
  125.             foreach (var patient in sortedPatient)
  126.             {
  127.                 patient.ShowDescription();
  128.             }
  129.  
  130.             Console.ForegroundColor = ConsoleColor.DarkGreen;
  131.             Console.ReadKey();
  132.             Console.Clear();
  133.             Console.ForegroundColor = ConsoleColor.White;
  134.         }
  135.  
  136.         private void ShowAllPatients()
  137.         {
  138.             foreach (var patient in _patients)
  139.             {
  140.                 patient.ShowDescription();
  141.             }
  142.         }
  143.     }
  144.  
  145.     class Patient
  146.     {
  147.         public Patient(string name, string surname, int age, string disease)
  148.         {
  149.             Name = name;
  150.             Surname = surname;
  151.             Age = age;
  152.             Disease = disease;
  153.         }
  154.  
  155.         public string Name { get; private set; }
  156.         public string Surname { get; private set; }
  157.         public int Age { get; private set; }
  158.         public string Disease { get; private set; }
  159.  
  160.         public void ShowDescription()
  161.         {
  162.             Console.WriteLine($"Имя: {Name} Фамилия: {Surname} Возраст: {Age} Заболевание: {Disease}");
  163.         }
  164.     }
  165.  
  166.     class Utility
  167.     {
  168.         public static int ReturnInputNumber()
  169.         {
  170.             int number;
  171.  
  172.             while (int.TryParse(Console.ReadLine(), out number) == false)
  173.             {
  174.                 Console.WriteLine("Введено не число, попробуйте еще раз: ");
  175.             }
  176.  
  177.             return number;
  178.         }
  179.  
  180.         public static string ReturnInputText()
  181.         {
  182.             string text = Console.ReadLine();
  183.  
  184.             foreach (char symbol in text)
  185.             {
  186.                 if (char.IsLetter(symbol) == false || text == null)
  187.                 {
  188.                     break;
  189.                 }
  190.             }
  191.  
  192.             return text;
  193.         }
  194.     }
  195. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement