Skip to content

Instantly share code, notes, and snippets.

@tsk-arh
Last active February 12, 2024 10:41
Show Gist options
  • Save tsk-arh/2c78682039ae531f98a857f19d7411a1 to your computer and use it in GitHub Desktop.
Save tsk-arh/2c78682039ae531f98a857f19d7411a1 to your computer and use it in GitHub Desktop.
ЗАДАНИЕ Анархия в больнице
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApp4
{
internal class Program
{
static void Main(string[] args)
{
const char CommandSortName = '1';
const char CommandSortAge = '2';
const char CommandSortDisease = '3';
const char CommandExit = '4';
bool isRuning = true;
List<Sick> sicks = new List<Sick> {
new Sick ("Петров Петр Петрович", 22, "ОРЗ"),
new Sick ("Сидоров Сидор Сидорыч", 33, "Понос"),
new Sick ("Байден Байден Байденович", 99, "Деменция"),
new Sick ("Лямкин Дрист Корнетыч", 44, "Грипп"),
new Sick ("Кабздец Христофор Василич", 55, "Геморой"),
new Sick ("Гусь Чур Федотыч", 21, "Насморк"),
new Sick ("Тяпкин Лопат Копайтич", 48, "Дистрофия"),
new Sick ("Рябинин Ранетка Василич", 34, "Анарексия"),
new Sick ("Жмотин Жил Зажильевич", 62, "ЧМТ"),
new Sick ("Корявкин Писака Картофелич", 78, "Перелом"),
};
while (isRuning)
{
Console.Clear();
Console.WriteLine($"Введите номер команды:" +
$"\n{CommandSortName} Сортировать по имени" +
$"\n{CommandSortAge} Сортировать по возрасту" +
$"\n{CommandSortDisease} Сортировать по заболеваниям" +
$"\n{CommandExit} Завершить работу");
switch (Console.ReadKey(true).KeyChar)
{
case CommandSortName:
ShowSortName(sicks);
break;
case CommandSortAge:
ShowSortAge(sicks);
break;
case CommandSortDisease:
ShowSortDisease(sicks);
break;
case CommandExit:
isRuning = false;
break;
}
if (isRuning)
{
Console.WriteLine($"\nНажмите любую клавишу для продолжения");
Console.ReadKey(true);
}
}
}
public static void WriteList(List<Sick> sicks)
{
foreach (var sick in sicks)
{
Console.WriteLine($"Имя: {sick.Name} Возраст: {sick.Age} Заболевание: {sick.Disease}");
}
}
public static void ShowSortName(List<Sick> sicks)
{
var sortedSicks = sicks.OrderBy(sick => sick.Name).ToList();
WriteList(sortedSicks);
}
public static void ShowSortAge(List<Sick> sicks)
{
var sortedSicks = sicks.OrderBy(sick => sick.Age).ToList();
WriteList(sortedSicks);
}
public static void ShowSortDisease(List<Sick> sicks)
{
Console.WriteLine($"Введите заболевание чтобы отобразить больных с соответствующим диагнозом");
string userInput = Console.ReadLine();
var sortedSicks = sicks.Where(sick => sick.Disease.ToLower() == userInput.ToLower()).ToList();
WriteList(sortedSicks);
}
}
class Sick
{
public Sick(string name, int age, string disease)
{
Name = name;
Age = age;
Disease = disease;
}
public string Name { get; private set; }
public int Age { get; private set; }
public string Disease { get; private set; }
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment