Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace LinqTask3Hospital
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- Hospital hospital = new Hospital();
- hospital.Work();
- }
- }
- class Hospital
- {
- private List<Patient> _patients;
- public Hospital()
- {
- FillPatients();
- }
- public void Work()
- {
- const string CommandSortByName = "1";
- const string CommandSortByAge = "2";
- const string CommandShowWithIllness = "3";
- const string CommandExit = "4";
- bool isWorking = true;
- string userInput;
- while (isWorking)
- {
- Console.WriteLine("Список пациентов:");
- ShowPatients(_patients);
- Console.WriteLine($"\n{CommandSortByName} - отсортировать по имени");
- Console.WriteLine($"{CommandSortByAge} - отсортировать по возрасту");
- Console.WriteLine($"{CommandShowWithIllness} - показать пациентов с определенной болезнью");
- Console.WriteLine($"{CommandExit} - сбежать из больницы\n");
- userInput = Console.ReadLine();
- Console.WriteLine();
- switch(userInput)
- {
- case CommandSortByName:
- SortByName();
- break;
- case CommandSortByAge:
- SortByAge();
- break;
- case CommandShowWithIllness:
- ShowWithIllness();
- break;
- case CommandExit:
- isWorking = false;
- break;
- default:
- Console.WriteLine("Неизвестная команда");
- break;
- }
- Console.WriteLine("\nДля апродолжения нажмите любую клавишу");
- Console.ReadKey();
- Console.Clear();
- }
- }
- private void SortByName()
- {
- _patients = _patients.OrderBy(patient => patient.Name).ToList();
- Console.WriteLine("Отсортированный по имени список пациентов:");
- ShowPatients(_patients);
- }
- private void SortByAge()
- {
- _patients = _patients.OrderBy(patient => patient.Age).ToList();
- Console.WriteLine("Отсортированный по возрасту список пациентов:");
- ShowPatients(_patients);
- }
- private void ShowWithIllness()
- {
- Console.Write("Введите название болезни: ");
- string illness = Console.ReadLine();
- List<Patient> filteredPatients = _patients.Where(patient => patient.Illness == illness).ToList();
- if (filteredPatients.Count == 0)
- {
- Console.WriteLine("\nС такой болезнью нет пациентов.");
- }
- else
- {
- Console.WriteLine("\nСписок пациентов с такой болезнью:");
- ShowPatients(filteredPatients);
- }
- }
- private void ShowPatients(List <Patient> patients)
- {
- foreach (Patient patient in patients)
- {
- patient.ShowInfo();
- }
- }
- private void FillPatients()
- {
- _patients = new List<Patient>
- {
- new Patient("Вася", 25, "скарлатина"),
- new Patient("Петя", 45, "ангина"),
- new Patient("Вова", 43, "апендицит"),
- new Patient("Дима", 23, "гонорея"),
- new Patient("Коля", 54, "коклюш"),
- new Patient("Жора", 33, "понос"),
- new Patient("Дудень", 32, "безумие"),
- new Patient("Катя", 28, "депрессия"),
- new Patient("Нюша", 54, "зазнайство"),
- new Patient("Лена", 34, "стеснительность"),
- new Patient("Даша", 23, "доступность"),
- };
- }
- }
- class Patient
- {
- public Patient(string name, int age, string illness)
- {
- Name = name;
- Age = age;
- Illness = illness;
- }
- public string Name { get; private set; }
- public int Age { get; private set; }
- public string Illness { get; private set; }
- public void ShowInfo()
- {
- Console.WriteLine($"{Name}, {Age} лет, {Illness}");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement