NikaBang

ДЗ: Кадровый учет

Oct 24th, 2025 (edited)
1,284
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.68 KB | Gaming | 0 0
  1. using System;
  2.  
  3. internal class Program
  4. {
  5.     static void Main(string[] args)
  6.     {
  7.         const string CommandExit = "Exit";
  8.         const string CommandAddDossier = "1";
  9.         const string CommandShowAllDossier = "2";
  10.         const string CommandRemoveDossier = "3";
  11.         const string CommandSearchByLastName = "4";
  12.  
  13.         string[] employeeFullNames = { "Сакутин Роман" };
  14.         string[] employeePositions = { "Начальник" };
  15.         bool inProgram = true;
  16.  
  17.         while (inProgram)
  18.         {
  19.             Console.Clear();
  20.             Console.Write($"Меню:" +
  21.                 $"\n{CommandAddDossier} - Добавить досье." +
  22.                 $"\n{CommandShowAllDossier} - Показать все досье." +
  23.                 $"\n{CommandRemoveDossier} - Удалить досье." +
  24.                 $"\n{CommandSearchByLastName} - Поиск по фамилии." +
  25.                 $"\n{CommandExit} - Завершить прогрумму." +
  26.                 $"\nВвод: ");
  27.             string userInput = Console.ReadLine();
  28.  
  29.             switch (userInput)
  30.             {
  31.                 case CommandAddDossier:
  32.                     AddDossier(ref employeeFullNames, ref employeePositions);
  33.                     break;
  34.  
  35.                 case CommandShowAllDossier:
  36.                     ShowAllDossier(employeeFullNames, employeePositions);
  37.                     break;
  38.  
  39.                 case CommandRemoveDossier:
  40.                     RemoveDossier(ref employeeFullNames, ref employeePositions);
  41.                     break;
  42.  
  43.                 case CommandSearchByLastName:
  44.                     SearchByLastName(employeeFullNames, employeePositions);
  45.                     break;
  46.  
  47.                 case CommandExit:
  48.                     inProgram = false;
  49.                     break;
  50.  
  51.                 default:
  52.                     Console.Clear();
  53.                     Console.WriteLine("Ошибка ввода.");
  54.                     Console.ReadKey();
  55.                     break;
  56.             }
  57.         }
  58.  
  59.         Console.WriteLine("Программа завершена.");
  60.         Console.ReadKey();
  61.     }
  62.  
  63.     static void AddDossier(ref string[] employeeFullNames, ref string[] employeePositions)
  64.     {
  65.         Console.Clear();
  66.         Console.Write("Введи ФИО: ");
  67.         employeeFullNames = AddUserInputToArray(employeeFullNames);
  68.  
  69.         Console.Write("Введи должность: ");
  70.         employeePositions = AddUserInputToArray(employeePositions);
  71.  
  72.         Console.WriteLine("Сотрюдник добавлен.");
  73.         Console.ReadKey();
  74.     }
  75.  
  76.     static string[] AddUserInputToArray( string[] array)
  77.     {
  78.         string[] tempArray = new string[array.Length + 1];
  79.         string userInput = Console.ReadLine();
  80.  
  81.         for (int i = 0; i < array.Length; i++)
  82.         {
  83.             tempArray[i] = array[i];
  84.         }
  85.  
  86.         tempArray[array.Length] = userInput;
  87.  
  88.         return tempArray;
  89.     }
  90.  
  91.     static void ShowAllDossier(string[] employeeFullNames, string[] employeePositions)
  92.     {
  93.         Console.Clear();
  94.  
  95.         for (int i = 0; i < employeeFullNames.Length; i++)
  96.         {
  97.             Console.WriteLine($"{i + 1}. {employeeFullNames[i]} - {employeePositions[i]}");
  98.         }
  99.  
  100.         Console.ReadKey();
  101.     }
  102.  
  103.     static void RemoveDossier(ref string[] employeeFullNames, ref string[] employeePositions)
  104.     {
  105.         Console.Clear();
  106.  
  107.         Console.WriteLine("Введите номер сотрудника для его удаление из учета:");
  108.  
  109.         int number = ReadNumber();
  110.         int employeeIndex = number - 1;
  111.  
  112.         if (number > employeeFullNames.Length || number <= 0)
  113.         {
  114.             Console.WriteLine("Нету сотрудника под данным номером");
  115.         }
  116.         else
  117.         {
  118.             employeeFullNames = DeleteElement(employeeFullNames, employeeIndex);
  119.             employeePositions = DeleteElement(employeePositions, employeeIndex);
  120.            
  121.             Console.WriteLine("Сотрудник был удален из учета");
  122.         }
  123.  
  124.         Console.ReadKey();
  125.     }
  126.  
  127.     static string[] DeleteElement(string[] dossierNames, int dossierNumber)
  128.     {
  129.         string[] temp = new string[dossierNames.Length - 1];
  130.  
  131.         for (int i = 0; i < dossierNumber; i++)
  132.         {
  133.             temp[i] = dossierNames[i];
  134.         }
  135.  
  136.         for (int i = dossierNumber; i < temp.Length; i++)
  137.         {
  138.             temp[i] = dossierNames[i + 1];
  139.         }
  140.  
  141.         return temp;
  142.     }
  143.  
  144.     static void SearchByLastName(string[] employeeFullNames, string[] employeePositions)
  145.     {
  146.         Console.Clear();
  147.  
  148.         Console.WriteLine("Введите фамилию сотрудника для его поиска:");
  149.  
  150.         string lastName = Console.ReadLine();
  151.  
  152.         bool isFound = false;
  153.  
  154.         for (int i = 0; i < employeeFullNames.Length; i++)
  155.         {
  156.             string[] splitPartOfName = employeeFullNames[i].Split(' ');
  157.  
  158.             if (string.Equals(splitPartOfName[0], lastName, StringComparison.CurrentCultureIgnoreCase))
  159.             {
  160.                 Console.WriteLine($"{i + 1}. {employeeFullNames[i]} - {employeePositions[i]}");
  161.                 isFound = true;
  162.             }
  163.         }
  164.  
  165.         if (isFound == false)
  166.         {
  167.             Console.WriteLine("Сотрудник не найден");
  168.         }
  169.  
  170.         Console.ReadKey();
  171.     }
  172.  
  173.     static int ReadNumber()
  174.     {
  175.         int number;
  176.  
  177.         while (int.TryParse(Console.ReadLine(), out number) == false)
  178.         {
  179.             Console.Write("Ошибка ввода.");
  180.         }
  181.  
  182.         return number;
  183.     }
  184. }
Advertisement
Add Comment
Please, Sign In to add comment