lovelyvook

Unit_35

Jul 10th, 2024 (edited)
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.77 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. namespace Ijunior
  5. {
  6.     internal class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             const string CommandAddDossier = "1";
  11.             const string CommandShowDossier = "2";
  12.             const string CommandRemoveDossier = "3";
  13.             const string CommandExit = "4";
  14.  
  15.             bool isWork = true;
  16.             string userInput;
  17.             Dictionary<string, List<string>> dossiers = new Dictionary<string, List<string>>();
  18.  
  19.             while (isWork)
  20.             {
  21.                 Console.Write($"{CommandAddDossier} - добавить досье" +
  22.                 $"\n{CommandShowDossier} - посмотреть все досье" +
  23.                 $"\n{CommandRemoveDossier} - удалить досье" +
  24.                 $"\n{CommandExit} - выход" +
  25.                 $"\nВведите команду: ");
  26.  
  27.                 userInput = Console.ReadLine();
  28.                 Console.Clear();
  29.  
  30.                 switch (userInput)
  31.                 {
  32.                     case CommandAddDossier:
  33.                         AddDossier(dossiers);
  34.                         break;
  35.  
  36.                     case CommandShowDossier:
  37.                         ShowDossiers(dossiers);
  38.                         break;
  39.  
  40.                     case CommandRemoveDossier:
  41.                         RemoveDossier(dossiers);
  42.                         break;
  43.  
  44.                     case CommandExit:
  45.                         isWork = false;
  46.                         break;
  47.  
  48.                     default:
  49.                         Console.WriteLine("Некорректный запрос");
  50.                         break;
  51.                 }
  52.  
  53.                 Console.ReadKey();
  54.                 Console.Clear();
  55.             }
  56.         }
  57.  
  58.         static void AddDossier(Dictionary<string, List<string>> dossiers)
  59.         {
  60.             Console.Write("Введите должность: ");
  61.             string post = Console.ReadLine();
  62.             Console.Write("Введите ФИО: ");
  63.             string name = Console.ReadLine();
  64.  
  65.             if (dossiers.ContainsKey(post))
  66.             {
  67.                 dossiers[post].Add(name);
  68.             }
  69.             else
  70.             {
  71.                 List<string> names = new List<string>() { name };
  72.                 dossiers.Add(post, names);
  73.             }
  74.         }
  75.  
  76.         static void ShowDossiers(Dictionary<string, List<string>> dossiers)
  77.         {
  78.             if (dossiers.Count > 0)
  79.             {
  80.                 foreach (var post in dossiers)
  81.                 {
  82.                     Console.WriteLine(post.Key + ":");
  83.  
  84.                     foreach (var name in post.Value)
  85.                     {
  86.                         Console.WriteLine(name);
  87.                     }
  88.                 }
  89.             }
  90.             else
  91.             {
  92.                 Console.WriteLine("Список пуст");
  93.             }
  94.         }
  95.  
  96.         static void RemoveDossier(Dictionary<string, List<string>> dossiers)
  97.         {
  98.             string post = "";
  99.             string name = "";
  100.  
  101.             ShowDossiers(dossiers);
  102.  
  103.             if (dossiers.Count > 0)
  104.             {
  105.                 FindDossier(dossiers, ref post, ref name);
  106.  
  107.                 if (dossiers.ContainsKey(post))
  108.                 {
  109.                     if (dossiers[post].Count > 1)
  110.                     {
  111.                         dossiers[post].Remove(name);
  112.                     }
  113.                     else
  114.                     {
  115.                         dossiers.Remove(post);
  116.                     }
  117.                 }
  118.             }
  119.         }
  120.  
  121.         static void FindDossier(Dictionary<string, List<string>> dossiers, ref string post, ref string name)
  122.         {
  123.             Console.Write("Введите должность сотрудника для удаления: ");
  124.             string userInputPost = Console.ReadLine();
  125.  
  126.             if (dossiers.ContainsKey(userInputPost))
  127.             {
  128.                 bool isName = true;
  129.                 post = userInputPost;
  130.  
  131.                 Console.Write("Введите ФИО сотрудника для удаления: ");
  132.                 string userInputName = Console.ReadLine();
  133.  
  134.                 foreach (var worker in dossiers[userInputPost])
  135.                 {
  136.                     if (worker == userInputName)
  137.                     {
  138.                         name = worker;
  139.                         isName = false;
  140.                     }
  141.                 }
  142.  
  143.                 if (isName)
  144.                 {
  145.                     Console.WriteLine("Такого сотрудника нет");
  146.                 }
  147.             }
  148.             else
  149.             {
  150.                 Console.WriteLine("Такой должности нет");
  151.             }
  152.         }
  153.     }
  154. }
Advertisement
Add Comment
Please, Sign In to add comment