Advertisement
Rodunskiy

Untitled

Aug 18th, 2023
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.16 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Runtime.Remoting.Lifetime;
  5.  
  6. class Program
  7. {
  8.     static void Main(string[] args)
  9.     {
  10.         Hospital hospital = new Hospital();
  11.  
  12.         hospital.Work();
  13.     }
  14. }
  15.  
  16. class Hospital
  17. {
  18.     private List<Patient> _patients;
  19.  
  20.     public Hospital()
  21.     {
  22.         _patients = new List<Patient>();
  23.  
  24.         AddPatients();
  25.     }
  26.  
  27.     private void AddPatients()
  28.     {
  29.         _patients.Add(new Patient("Колосов Артём Павлович", 18,"Ангина"));
  30.         _patients.Add(new Patient("Нечаева Варвара Тимофеевна", 18, "Пневмания"));
  31.         _patients.Add(new Patient("Абрамова Екатерина Даниэльевна", 19, "Ангина"));
  32.         _patients.Add(new Patient("Фокин Роман Романович", 20, "Ангина"));
  33.         _patients.Add(new Patient("Макарова Александра Романовна", 19, "Пневмания"));
  34.         _patients.Add(new Patient("Гришин Андрей Александрович", 20, "Пневмания"));
  35.         _patients.Add(new Patient("Захаров Павел Михайлович", 21, "Ангина"));
  36.         _patients.Add(new Patient("Громов Александр Ильич", 21, "Гастрит"));
  37.         _patients.Add(new Patient("Сорокина Вера Никитична", 19, "Пневмания"));
  38.         _patients.Add(new Patient("Балашов Степан Даниилович", 18, "Гастрит"));
  39.     }
  40.  
  41.     public void Work()
  42.     {
  43.         const string SortingByFullnameCommand = "1";
  44.         const string SortingByAgeCommand = "2";
  45.         const string ShowPatientsByDiseaseCommand = "3";
  46.         const string ExitCommand = "4";
  47.  
  48.         bool isWorking = true;
  49.  
  50.         while (isWorking)
  51.         {
  52.             Console.Clear();
  53.             Console.WriteLine($"{SortingByFullnameCommand})Отсортировать всех больных по фио.\n{SortingByAgeCommand})Отсортировать всех больных по возрасту." +
  54.             $"\n{ShowPatientsByDiseaseCommand})Вывести больных с определенным заболеванием.\n{ExitCommand})Выход их программы.");
  55.  
  56.             string userInput = Console.ReadLine();
  57.  
  58.             Console.Clear();
  59.  
  60.             switch (userInput)
  61.             {
  62.                 case SortingByFullnameCommand:
  63.                     SortingByFullname();
  64.                     break;
  65.  
  66.                 case SortingByAgeCommand:
  67.                     SortingByAge();
  68.                     break;
  69.  
  70.                 case ShowPatientsByDiseaseCommand:
  71.                     ShowPatientsByDisease();
  72.                     break;
  73.  
  74.                 case ExitCommand:
  75.                     isWorking = false;
  76.                     break;
  77.             }
  78.         }
  79.     }
  80.  
  81.     private void SortingByFullname()
  82.     {
  83.         _patients = _patients.OrderBy(patient => patient.Fullname).ToList();
  84.  
  85.         ShowPatients(_patients);
  86.     }
  87.  
  88.     private void SortingByAge()
  89.     {
  90.         _patients = _patients.OrderBy(patient => patient.Age).ToList();
  91.  
  92.         ShowPatients(_patients);
  93.     }
  94.  
  95.     private void ShowPatientsByDisease()
  96.     {
  97.         Console.WriteLine("Введите название болезни:");
  98.         string disease = Console.ReadLine();
  99.  
  100.         List<Patient> filteredPatient = _patients.Where(patient => patient.Disease == disease).ToList();
  101.  
  102.         ShowPatients(filteredPatient);
  103.     }
  104.  
  105.     private void ShowPatients(List<Patient> patients)
  106.     {
  107.         foreach (var patient in patients)
  108.         {
  109.             Console.WriteLine($"|Пациент:{patient.Fullname}\n|Возраст:{patient.Age}\n|Заболевание:{patient.Disease}");
  110.         }
  111.  
  112.         Console.ReadKey();
  113.     }
  114. }
  115.  
  116. class Patient
  117. {
  118.     public Patient(string fullname, int age, string disease)
  119.     {
  120.         Fullname = fullname;
  121.         Age = age;
  122.         Disease = disease;
  123.     }
  124.  
  125.     public string Fullname { get; private set; }
  126.     public int Age { get; private set; }
  127.     public string Disease { get; private set; }
  128.  
  129. }
  130.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement