Advertisement
vovanhik_24

#28

Sep 4th, 2023 (edited)
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.98 KB | None | 0 0
  1.         static void Main(string[] args)
  2.         {
  3.             const string AddNewDossierCommand = "1";
  4.             const string ShowAllDossiersCommand = "2";
  5.             const string RemoveDossierCommand = "3";
  6.             const string SearchLastNameCommand = "4";
  7.             const string ExitCommand = "5";
  8.  
  9.             bool isWorking = true;
  10.  
  11.             char splitChar = ' ';
  12.             string[] fullNames = new string[0];
  13.             string[] positionsAtWork = new string[0];
  14.  
  15.             while (isWorking)
  16.             {
  17.                 Console.Clear();
  18.                 Console.WriteLine($"{AddNewDossierCommand} ====> Добавить новое досье");
  19.                 Console.WriteLine($"{ShowAllDossiersCommand} ====> Вывести все досье");
  20.                 Console.WriteLine($"{RemoveDossierCommand} ====> Удалить досье");
  21.                 Console.WriteLine($"{SearchLastNameCommand} ====> Поиск по фамилии");
  22.                 Console.WriteLine($"{ExitCommand} ====> Выход");
  23.  
  24.                 Console.Write("\nВыберите номер команды: ");
  25.                 string inputMessage = Console.ReadLine();
  26.  
  27.                 switch (inputMessage)
  28.                 {
  29.                     case AddNewDossierCommand:
  30.                         AddDossier(ref fullNames, ref positionsAtWork);
  31.                         break;
  32.  
  33.                     case ShowAllDossiersCommand:
  34.                         ShowAllDossiers(positionsAtWork, fullNames);
  35.                         break;
  36.  
  37.                     case RemoveDossierCommand:
  38.                         DeleteDossier(ref fullNames, ref positionsAtWork);
  39.                         break;
  40.  
  41.                     case SearchLastNameCommand:
  42.                         SearchDossier(fullNames, positionsAtWork, ref splitChar);
  43.                         break;
  44.  
  45.                     case ExitCommand:
  46.                         isWorking = false;
  47.                         break;
  48.  
  49.                     default:
  50.                         Console.WriteLine("Введина неверная комманда!");
  51.                         break;
  52.                 }
  53.  
  54.                 if (isWorking == true)
  55.                 {
  56.                     Console.Write("\nНажмите любую кнопку для того чтобы продолжить...");
  57.                     Console.ReadKey();
  58.                 }
  59.             }
  60.         }
  61.  
  62.         private static void AddDossier(ref string[] fullNames, ref string[] positionsAtWork)
  63.         {
  64.             Console.Write("Введите ФИО: ");
  65.             string fullname = Console.ReadLine();
  66.  
  67.             Console.Write("Введите должность сотрудника: ");
  68.             string position = Console.ReadLine();
  69.  
  70.             fullNames = IncreasDossiers(fullNames, fullname);
  71.             positionsAtWork = IncreasDossiers(positionsAtWork, position);
  72.         }
  73.  
  74.         private static string[] IncreasDossiers(string[] array, string text)
  75.         {
  76.             string[] tempArray = new string[array.Length + 1];
  77.  
  78.             for (int i = 0; i < array.Length; i++)
  79.             {
  80.                 tempArray[i] = array[i];
  81.             }
  82.  
  83.             tempArray[tempArray.Length - 1] = text;
  84.             array = tempArray;
  85.             return array;
  86.         }
  87.  
  88.         private static void ShowAllDossiers(string[] workPositions, string[] fullNames)
  89.         {
  90.             int indexID = 1;
  91.  
  92.             for (int i = 0; i < workPositions.Length; i++)
  93.             {
  94.                 Console.WriteLine($"ID[{indexID}#] - ФИО : {fullNames[i]} - Должность: {workPositions[i]}");
  95.                 indexID++;
  96.             }
  97.         }
  98.  
  99.         private static void DeleteDossier(ref string[] fullNames, ref string[] workPositions)
  100.         {
  101.             Console.Write("Введите id досье для удаления: ");
  102.             int indexRemove = Convert.ToInt32(Console.ReadLine());
  103.  
  104.             if (indexRemove <= fullNames.Length && indexRemove >= 0 && fullNames.Length != 0)
  105.             {
  106.                 var inputIndexConvert = indexRemove - 1;
  107.                 fullNames = DecreaseDossier(fullNames, inputIndexConvert);
  108.                 workPositions = DecreaseDossier(workPositions, inputIndexConvert);
  109.  
  110.                 Console.WriteLine($"Досье сотрудника с id {indexRemove} удалено!");
  111.             }
  112.             else
  113.             {
  114.                 Console.WriteLine($"Сотрудника с id {indexRemove} Несуществует!");
  115.             }
  116.         }
  117.  
  118.         private static string[] DecreaseDossier(string[] array, int index)
  119.         {
  120.             string[] temporaryArray = new string[array.Length - 1];
  121.  
  122.             for (int i = 0; i < index; i++)
  123.             {
  124.                 temporaryArray[i] = array[i];
  125.             }
  126.  
  127.             for (int i = index; i < array.Length - 1; i++)
  128.             {
  129.                 temporaryArray[i] = array[i + 1];
  130.             }
  131.  
  132.             array = temporaryArray;
  133.             return array;
  134.         }
  135.  
  136.         private static void SearchDossier(string[] fullNames, string[] positions, ref char splitChar)
  137.         {
  138.             Console.Write("Введите фамилию сотрудника: ");
  139.             string surname = Console.ReadLine();
  140.  
  141.             int indexSurname = 0;
  142.             bool isSearchingSuccessful = false;
  143.  
  144.             for (int i = 0; i < fullNames.Length; i++)
  145.             {
  146.                 string[] split = fullNames[i].Split(splitChar);
  147.  
  148.                 if (split[indexSurname].ToLower() == surname.ToLower())
  149.                 {
  150.                     Console.WriteLine($"Индекс [{i + 1}#] - ФИО: {fullNames[i]} - должность : {positions[i]}");
  151.                     isSearchingSuccessful = true;
  152.                 }
  153.             }
  154.  
  155.             if (isSearchingSuccessful == false)
  156.             {
  157.                 Console.WriteLine($"Сотрудник с фамилией {surname} не найден!");
  158.             }
  159.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement