Advertisement
IGRODELOFF

Task53.2

Sep 3rd, 2022 (edited)
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.65 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Taask53
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             HospitalDatabase hospitalDatabase = new HospitalDatabase();
  14.  
  15.             hospitalDatabase.Work();
  16.         }
  17.     }
  18.  
  19.     class HospitalDatabase
  20.     {
  21.         private List<Sick> _sicks;
  22.  
  23.         public HospitalDatabase()
  24.         {
  25.             _sicks = new List<Sick>();
  26.             _sicks.Add(new Sick("Лавров Алексей Иванович", 32, "Грипп"));
  27.             _sicks.Add(new Sick("Сидоров Виктор Андреевич", 41, "Лихорадка"));
  28.             _sicks.Add(new Sick("Шульц Александр Измаилович", 52, "Аллергия"));
  29.             _sicks.Add(new Sick("Варналов Николай Владимирович", 17, "Ангина"));
  30.             _sicks.Add(new Sick("Швалов Владимир Сергеевич", 25, "Сифилис"));
  31.             _sicks.Add(new Sick("Капустин Пётр Дмитриевич", 82, "Перелом"));
  32.             _sicks.Add(new Sick("Нармат Алексий Маркович", 21, "Перелом"));
  33.             _sicks.Add(new Sick("Колетников ВладИслав Георгиевич", 63, "Гастрит"));
  34.             _sicks.Add(new Sick("Коломойко Николай Андреевич,", 73, "Грипп"));
  35.             _sicks.Add(new Sick("Рабочий Драг Ксерович", 28, "Грипп"));
  36.             _sicks.Add(new Sick("Воронин Дмитрий Ильич", 69, "Камни"));
  37.             _sicks.Add(new Sick("Адреасян Гранодзи Романович", 12, "228"));
  38.         }
  39.  
  40.         public void Work()
  41.         {
  42.             const string Showing =
  43.                 "ПОКАЗ";
  44.             const string FullName =
  45.                 "ФИО";
  46.             const string Age =
  47.                 "ВОЗРАСТ";
  48.             const string Disease =
  49.                 "БОЛЕЗНЬ";
  50.             const string Exit =
  51.                 "ВЫЙТИ";
  52.  
  53.             string menu =
  54.                 $"{Showing} --- смотреть список всех больных\n" +
  55.                 $"{FullName} ----- сортировать больных по ФИО\n" +
  56.                 $"{Age} - сортировать больных по возрасту\n" +
  57.                 $"{Disease} - вывести больных с определённым заболеваниях\n" +
  58.                 $"{Exit} --- выход из программы\n";
  59.             string requestCommand =
  60.                 "Введите команду в терминал: ";
  61.             string errorCommand =
  62.                 "Данной команды не обнаружено.";
  63.             string goodbue =
  64.                 "До свидания!";
  65.             string userInput;
  66.  
  67.             bool isExit = false;
  68.  
  69.             while (isExit == false)
  70.             {
  71.                 Console.WriteLine(menu);
  72.                 Console.Write(requestCommand);
  73.  
  74.                 userInput = Console.ReadLine().ToUpper();
  75.  
  76.                 switch (userInput)
  77.                 {
  78.                     case Showing:
  79.                         Show(_sicks);
  80.                         break;
  81.                     case FullName:
  82.                         SortFullName();
  83.                         break;
  84.                     case Age:
  85.                         SortAge();
  86.                         break;
  87.                     case Disease:
  88.                         SearchDisease();
  89.                         break;
  90.                     case Exit:
  91.                         isExit = true;
  92.                         break;
  93.                     default:
  94.                         Console.WriteLine(errorCommand);
  95.                         break;
  96.                 }
  97.             }
  98.             Console.WriteLine(goodbue);
  99.         }
  100.  
  101.         private void SortFullName()
  102.         {
  103.             List<Sick> sortSicksFullName = new List<Sick>();
  104.  
  105.             string sortFullName =
  106.                 "Сортировка по ФИО. ";
  107.             string showResult =
  108.                 "Результат сортировки: ";
  109.  
  110.             Console.WriteLine(sortFullName);
  111.             sortSicksFullName = _sicks.OrderBy(sick => sick.Fullname).ToList();
  112.  
  113.             Console.WriteLine(showResult);
  114.             Show(sortSicksFullName);
  115.             sortSicksFullName.Clear();
  116.         }
  117.  
  118.         private void SortAge()
  119.         {
  120.             List<Sick> sortSicksAge = new List<Sick>();
  121.  
  122.             string sortAge =
  123.                 "Сортировка по возрасту. ";
  124.             string showResult =
  125.                 "Результат сортировки: ";
  126.  
  127.             Console.WriteLine(sortAge);
  128.             sortSicksAge = _sicks.OrderBy(sick => sick.Age).ToList();
  129.  
  130.             Console.WriteLine(showResult);
  131.             Show(sortSicksAge);
  132.             sortSicksAge.Clear();
  133.         }
  134.  
  135.         private void SearchDisease()
  136.         {
  137.             List<Sick> sortSickDisease = new List<Sick>();
  138.            
  139.             string requestDisease =
  140.                 "Введите заболевание: ";
  141.             string showResult =
  142.                 "Результат сортировки: ";
  143.             string userInput;
  144.  
  145.             Console.Write(requestDisease);
  146.             userInput = Console.ReadLine();
  147.  
  148.             sortSickDisease = _sicks.Where(sick => sick.Disease.ToLower() == userInput.ToLower()).ToList();
  149.             Console.WriteLine(showResult);
  150.             Show(sortSickDisease);
  151.             sortSickDisease.Clear();
  152.         }
  153.  
  154.         private void Show(List<Sick> sicks)
  155.         {
  156.             int numberSick = 1;
  157.  
  158.             foreach (var people in sicks)
  159.             {
  160.                 people.Show(numberSick);
  161.                 numberSick++;
  162.             }
  163.         }
  164.     }
  165.  
  166.     class Sick
  167.     {
  168.         public string Fullname { get; private set; }
  169.         public int Age { get; private set; }
  170.         public string Disease { get; private set; }
  171.  
  172.         public Sick(string name, int age, string disease)
  173.         {
  174.             Fullname = name;
  175.             Age = age;
  176.             Disease = disease;
  177.         }
  178.  
  179.         public void Show(int numberSick)
  180.         {
  181.             Console.WriteLine(
  182.                 $"Карточка больного №{numberSick}\n" +
  183.                 $"ФИО         : {Fullname}\n" +
  184.                 $"Возраст     : {Age}\n" +
  185.                 $"Заболевание : {Disease}\n" +
  186.                 $"=================================");
  187.         }
  188.     }
  189. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement