Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace Homework3
- {
- class Program
- {
- static void Main(string[] args)
- {
- List<Patient> patients = new List<Patient>
- {
- new Patient("a", 13, "депрессия"),
- new Patient("b", 27, "кашель"),
- new Patient("c", 54),
- new Patient("d", 30),
- new Patient("e", 22, "простуда"),
- new Patient("f", 67),
- new Patient("g", 73, "простуда"),
- new Patient("h", 18, "кашель"),
- new Patient("i", 22),
- new Patient("j", 15, "простуда"),
- new Patient("k", 47),
- };
- bool isActive = true;
- while (isActive)
- {
- Console.WriteLine("1)Отсортировать всех больных по фио \n2)Отсортировать всех больных по возрасту \n3)Вывести больных с определенным заболеванием");
- int pointNumber = GetPointNumber();
- switch (pointNumber)
- {
- case -1:
- break;
- case 1:
- SortByInitials(patients);
- break;
- case 2:
- SortByAge(patients);
- break;
- case 3:
- FilterByIlness(patients);
- break;
- default:
- Console.WriteLine("Ошибка!");
- break;
- }
- Console.ReadKey();
- Console.Clear();
- }
- }
- static void SortByInitials(List<Patient> patients)
- {
- var sortedList = patients.OrderBy(patient => patient.Initials).ToList();
- ShowNewList(sortedList);
- }
- static void SortByAge(List<Patient> patients)
- {
- var sortedList = patients.OrderBy(patient => patient.Age).ToList();
- ShowNewList(sortedList);
- }
- static void FilterByIlness(List<Patient> patients)
- {
- Console.Write("Введите заболевание:");
- string userInput = Console.ReadLine();
- var filteredList = patients.Where(patient => patient.Ilness.ToLower() == userInput.ToLower()).ToList();
- if (filteredList.Count > 0)
- ShowNewList(filteredList);
- else
- Console.WriteLine("Людей с таким заболеванием нет!");
- }
- static void ShowNewList(List<Patient> patients)
- {
- foreach (var patient in patients)
- {
- patient.ShowInfo();
- }
- }
- static int GetPointNumber()
- {
- Console.Write("Номер команды:");
- string userInput = Console.ReadLine();
- int numberOfActions = 3;
- if (int.TryParse(userInput, out int result) == true)
- {
- if (result > 0 && result <= numberOfActions)
- {
- return result;
- }
- else
- {
- Console.Write("Неверное число!\n");
- return -1;
- }
- }
- else
- {
- Console.Write("Это не число!\n");
- return -1;
- }
- }
- }
- class Patient
- {
- public string Initials { get; private set; }
- public string Ilness { get; private set; }
- public int Age { get; private set; }
- public Patient(string initials, int age, string ilness = "неизвестная болезнь")
- {
- Initials = initials;
- Ilness = ilness;
- Age = age;
- }
- public void ShowInfo()
- {
- Console.WriteLine($"{Initials} - {Ilness} - {Age}");
- }
- }
- }
Add Comment
Please, Sign In to add comment