Advertisement
Dr_Max_Experience

Task 19

Nov 14th, 2021 (edited)
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.83 KB | None | 0 0
  1. using System;
  2.  
  3. namespace HomeWorks
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             string[] initials = new string[0];
  10.             string[] posts = new string[0];
  11.             string userInput = "";
  12.  
  13.             while (userInput != "exit")
  14.             {
  15.                 Console.Clear();
  16.  
  17.                 Console.WriteLine("1) add - Добавить досье\n2) output_all - Вывести все досье\n" +
  18.                     "3) delete - удалить досье\n4) search - поиск по фамилии\n5) exit - Выход из программы\n");
  19.                 Console.Write("Введите команду: ");
  20.                 userInput = Console.ReadLine();
  21.  
  22.                 switch (userInput)
  23.                 {
  24.                     case "add":
  25.                         AddDossier(ref initials, ref posts);
  26.                         break;
  27.  
  28.                     case "output_all":
  29.                         OutputAllDossiers(initials, posts);
  30.                         break;
  31.  
  32.                     case "delete":
  33.                         DeleteDossier(ref initials, ref posts);
  34.                         break;
  35.  
  36.                     case "search":
  37.                         SearchDossier(initials, posts);
  38.                         break;
  39.  
  40.                     case "exit":
  41.                         Console.Write("Все досье будут удалены!\nНажмите любую клавишу для выхода...");
  42.                         Console.ReadKey();
  43.                         Console.Clear();
  44.                         break;
  45.  
  46.                     default:
  47.                         Console.Write("Такой команды нет!\nНажмите любую клавишу для продолжения...");
  48.                         Console.ReadKey();
  49.                         break;
  50.                 }
  51.             }
  52.         }
  53.  
  54.         static void AddDossier(ref string[] initials, ref string[] posts)
  55.         {
  56.             Console.Clear();
  57.             Console.Write("Добавление досье\nВведите ФИО: ");
  58.             string userInputInitials = Console.ReadLine();
  59.             Console.Write("Введите должность: ");
  60.             string userInputPost = Console.ReadLine();
  61.  
  62.             AddArray(ref initials, userInputInitials);
  63.             AddArray(ref posts, userInputPost);
  64.         }
  65.  
  66.         static void OutputAllDossiers(string[] initials, string[] posts)
  67.         {
  68.             for (int index = 0; index < initials.Length; index++)
  69.             {
  70.                 Console.WriteLine($"{index + 1}. {initials[index]} - {posts[index]}");
  71.             }
  72.  
  73.             Console.Write("Нажмите любую клавишу для продолжения...");
  74.             Console.ReadKey();
  75.         }
  76.  
  77.         static void DeleteDossier(ref string[] initials, ref string[] posts)
  78.         {
  79.             if (initials.Length == 0 && posts.Length == 0)
  80.             {
  81.                 Console.Write("В базе не найдено ни одного досье!\nНажмите любую клавишу для продолжения...");
  82.                 Console.ReadKey();
  83.             }
  84.             else
  85.             {
  86.                 OutputAllDossiers(initials, posts);
  87.                 Console.Write("Введите номер досье, для его удаления:  ");
  88.                 int userInputNumber = Convert.ToInt32(Console.ReadLine());
  89.  
  90.                 ReduceArray(ref initials, userInputNumber);
  91.                 ReduceArray(ref posts, userInputNumber);
  92.             }
  93.         }
  94.  
  95.         static void SearchDossier(string[] initials, string[] posts)
  96.         {
  97.             Console.Write("Введите ФИО для поиска: ");
  98.             string userInputInitials = Console.ReadLine();
  99.             Console.WriteLine("Найденные досье:");
  100.  
  101.             for (int index = 0; index < initials.Length; index++)
  102.             {
  103.                 if (userInputInitials.ToLower() == initials[index].ToLower())
  104.                 {
  105.                     Console.WriteLine($"{index + 1}. {initials[index]} - {posts[index]}");
  106.                 }
  107.             }
  108.  
  109.             Console.Write("Нажмите любую клавишу для продолжения...");
  110.             Console.ReadKey();
  111.         }
  112.  
  113.         static void AddArray(ref string[] array, string userInput)
  114.         {
  115.             string[] tempArray = new string[array.Length + 1];
  116.  
  117.             for (int index = 0; index < array.Length; index++)
  118.             {
  119.                 tempArray[index] = array[index];
  120.             }
  121.  
  122.             tempArray[array.Length] = userInput;
  123.  
  124.             array = tempArray;
  125.         }
  126.  
  127.         static void ReduceArray(ref string[] array, int userInput)
  128.         {
  129.             if (userInput > 0 && userInput <= array.Length)
  130.             {
  131.                 string[] tempArray = new string[array.Length - 1];
  132.  
  133.                 array[userInput - 1] = "";
  134.  
  135.                 for (int index = 0; index < userInput - 1; index++)
  136.                 {
  137.                     tempArray[index] = array[index];
  138.                 }
  139.  
  140.                 for (int index = userInput - 1; index < array.Length - 1; index++)
  141.                 {
  142.                     tempArray[index] = array[index + 1];
  143.                 }
  144.  
  145.                 array = tempArray;
  146.  
  147.                 Console.Write($"Вы успешно удалили досье под номером {userInput}.\nНажмите любую клавишу для продолжения...");
  148.                 Console.ReadKey();
  149.             }
  150.             else
  151.             {
  152.                 Console.Write("Такого досье нет!\nНажмите любую клавишу для продолжения...");
  153.                 Console.ReadKey();
  154.             }
  155.         }
  156.     }
  157. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement