Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace Anarchy_in_hospital
- {
- 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("Белова Татьяна Максимовна", 47, "коклюш"));
- _patients.Add(new Patient("Камышов Антон Викторович", 68, "корь"));
- _patients.Add(new Patient("Зайцев Юрий Александрович", 23, "коклюш"));
- _patients.Add(new Patient("Столяров Сергей Евгеньевич", 18, "бронхит"));
- _patients.Add(new Patient("Маслякова Антонина Семеновна", 42, "бронхит"));
- _patients.Add(new Patient("Злоказов Даниил Андреевич", 39, "корь"));
- _patients.Add(new Patient("Рушаков Леонид Сергеевич", 44, "коклюш"));
- _patients.Add(new Patient("Стрелков Александр Юрьевич", 74, "бронхит"));
- _patients.Add(new Patient("Лешуков Станислав Антонович", 52, "грип"));
- _patients.Add(new Patient("Белов Константин Сергеевич", 31, "бронхит"));
- }
- public void Work()
- {
- const int CommandSortNames = 1;
- const int CommandSortAges = 2;
- const int CommandFindPatientsByDiagnosis = 3;
- const int CommandExit = 0;
- bool isWorking = true;
- while (isWorking)
- {
- Console.WriteLine("Список больных:");
- ShowPatients(_patients);
- Console.WriteLine($"\nВведите команду.\n" +
- $"{CommandSortNames} - отсортировать список по ФИО\n" +
- $"{CommandSortAges} - отсортировать список по взрасту\n" +
- $"{CommandFindPatientsByDiagnosis} - вывести поциентов по диагнозу\n" +
- $"{CommandExit} - выйти из программы\n\n");
- Console.WriteLine("Введите команду.");
- int userInput = UserUnits.ReadInt();
- switch (userInput)
- {
- case CommandSortNames:
- SortPatientsName();
- break;
- case CommandSortAges:
- SortPatientsAge();
- break;
- case CommandFindPatientsByDiagnosis:
- FindPatientByDiagnosis();
- break;
- case CommandExit:
- isWorking = false;
- break;
- default:
- Console.WriteLine("Неизвестрая команда.");
- break;
- }
- Console.ReadKey();
- Console.Clear();
- }
- }
- private void ShowPatients(List<Patient> patients)
- {
- foreach (Patient patient in patients)
- {
- Console.WriteLine($"Имя - {patient.Name}, возраст - {patient.Age}, диагноз - {patient.Diagnosis}");
- }
- }
- private void SortPatientsName()
- {
- var patientsWhithNeedDiagnosis = _patients.OrderBy(patient => patient.Name).ToList();
- ShowPatients(patientsWhithNeedDiagnosis);
- }
- private void SortPatientsAge()
- {
- var patientsWhithNeedDiagnosis = _patients.OrderBy(patient => patient.Age).ToList();
- ShowPatients(patientsWhithNeedDiagnosis);
- }
- private void FindPatientByDiagnosis()
- {
- Console.WriteLine("Введите диагноз:");
- string diagnosisNeed = Console.ReadLine().ToLower();
- var patientsWhithNeedDiagnosis = _patients.Where(patient => patient.Diagnosis.ToLower().Contains(diagnosisNeed)).ToList();
- if (patientsWhithNeedDiagnosis.Count > 0)
- {
- ShowPatients(patientsWhithNeedDiagnosis);
- }
- else
- {
- Console.WriteLine($"Пациента с диагнозом {diagnosisNeed} нет.");
- }
- }
- }
- class Patient
- {
- public Patient(string name, int age, string diagnosis)
- {
- Name = name;
- Age = age;
- Diagnosis = diagnosis;
- }
- public string Name { get; private set; }
- public int Age { get; private set; }
- public string Diagnosis { get; private set; }
- }
- static class UserUnits
- {
- public static int ReadInt()
- {
- int result = 0;
- while (int.TryParse(Console.ReadLine(), out result) == false)
- {
- Console.WriteLine("Некроектный ввод. Необходимо ввести целое число.");
- }
- return result;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement