Advertisement
IvanOseledko

Homework28

Jan 10th, 2024 (edited)
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.26 KB | None | 0 0
  1. using System;
  2.  
  3. namespace Homework28
  4. {
  5.     class Program
  6.     {
  7.         static void Main()
  8.         {
  9.             const string CommandUseAddDossier = "1";
  10.             const string CommandUsePrintAllDossier = "2";
  11.             const string CommandUseDeleteDossier = "3";
  12.             const string CommandUseSearchBySurname = "4";
  13.             const string CommandUseExit = "5";
  14.  
  15.             string[] fullNamesOfEmployees = { "Ivanov Ivan Sergeevich" };
  16.             string[] positionsOfEmployees = { "Programmer" };
  17.  
  18.             string userInput;
  19.             bool isOpen = true;
  20.  
  21.             while (isOpen)
  22.             {
  23.                 Console.Write($"{CommandUseAddDossier} - Добавить досье сотрудника.\n{CommandUsePrintAllDossier} - Вывести досье всех сотрудников.\n{CommandUseDeleteDossier} - Удалить досье сотрудника.\n{CommandUseSearchBySurname} - Найти досье сотрудника по его фамилии.\n{CommandUseExit} - Выйти из программы.");
  24.  
  25.                 Console.Write("\n\nВведите пункт меню: ");
  26.                 userInput = Console.ReadLine();
  27.  
  28.                 Console.Clear();
  29.  
  30.                 switch (userInput)
  31.                 {
  32.                     case CommandUseAddDossier:
  33.                         AddNewEmployeeDosier(ref fullNamesOfEmployees, ref positionsOfEmployees);
  34.                         break;
  35.                     case CommandUsePrintAllDossier:
  36.                         PrintDossierOfAllEmployees(fullNamesOfEmployees, positionsOfEmployees);
  37.                         break;
  38.                     case CommandUseDeleteDossier:
  39.                         DeleteEmployeeDossier(ref fullNamesOfEmployees, ref positionsOfEmployees);
  40.                         break;
  41.                     case CommandUseSearchBySurname:
  42.                         FindEmployeeBySurname(fullNamesOfEmployees, positionsOfEmployees);
  43.                         break;
  44.                     case CommandUseExit:
  45.                         isOpen = false;
  46.                         break;
  47.                 }
  48.  
  49.                 Console.ReadKey();
  50.                 Console.Clear();
  51.             }
  52.         }
  53.  
  54.         static void AddNewEmployeeDosier(ref string[] fullNamesOfEmployees, ref string[] positionsOfEmployees)
  55.         {
  56.             Console.Write("Введите полное имя сотрудника: ");
  57.             string userInput = Console.ReadLine();
  58.             AddNewEmployeeInformation(ref fullNamesOfEmployees, userInput);
  59.  
  60.             Console.Write("Введите должность сотрудника: ");
  61.             userInput = Console.ReadLine();
  62.             AddNewEmployeeInformation(ref positionsOfEmployees, userInput);
  63.         }
  64.  
  65.         static void PrintDossierOfAllEmployees(string[] fullNamesOfEmployees, string[] positionsOfEmployees)
  66.         {
  67.             Console.WriteLine("Досье всех сотрудников: ");
  68.             for (int i = 0; i < fullNamesOfEmployees.Length; i++)
  69.             {
  70.                 Console.WriteLine($"{i + 1}) {fullNamesOfEmployees[i]} - {positionsOfEmployees[i]}.");
  71.             }
  72.         }
  73.  
  74.         static void DeleteEmployeeDossier(ref string[] fullNamesOfEmployees, ref string[] positionsOfEmployees)
  75.         {
  76.             Console.Write("Введите номер списка для удаления сотрудника: ");
  77.             int indexOfEmployee = Convert.ToInt32(Console.ReadLine()) - 1;
  78.             if (fullNamesOfEmployees.Length != 0)
  79.             {
  80.                 if (indexOfEmployee < fullNamesOfEmployees.Length && indexOfEmployee >= 0)
  81.                 {
  82.                     DeleteEmployeeInformation(ref fullNamesOfEmployees, indexOfEmployee);
  83.                     DeleteEmployeeInformation(ref positionsOfEmployees, indexOfEmployee);
  84.                 }
  85.                 else
  86.                 {
  87.                     Console.Write("Сотрудника с таким номером нет.");
  88.                 }
  89.             }
  90.             else
  91.             {
  92.                 Console.Write("В списке отсутствуют действующие сотруники.");
  93.             }
  94.         }
  95.  
  96.         static void FindEmployeeBySurname(string[] fullNamesOfEmployees, string[] positionsOfEmployees)
  97.         {
  98.             string userInput;
  99.             bool employeeIsFound = false;
  100.  
  101.             Console.Write("Введите фамилию сотрудника: ");
  102.  
  103.             userInput = Console.ReadLine();
  104.  
  105.             for (int i = 0; i < fullNamesOfEmployees.Length; i++)
  106.             {
  107.                 string surname = fullNamesOfEmployees[i].Split()[0];
  108.  
  109.                 if (surname == userInput)
  110.                 {
  111.                     Console.WriteLine($"{i + 1}) {fullNamesOfEmployees[i]} - {positionsOfEmployees[i]}.");
  112.                     employeeIsFound = true;
  113.                 }
  114.             }
  115.  
  116.             if (employeeIsFound == false)
  117.             {
  118.                 Console.WriteLine("Сотрудника с такой фамилией нет.");
  119.             }
  120.         }
  121.  
  122.         static void AddNewEmployeeInformation(ref string[] informationAboutEmployees, string informationAboutEmployee)
  123.         {
  124.             string[] tempArrayInformation = new string[informationAboutEmployees.Length + 1];
  125.  
  126.             for (int i = 0; i < informationAboutEmployees.Length; i++)
  127.             {
  128.                 tempArrayInformation[i] = informationAboutEmployees[i];
  129.             }
  130.  
  131.             tempArrayInformation[tempArrayInformation.Length - 1] = informationAboutEmployee;
  132.             informationAboutEmployees = tempArrayInformation;
  133.         }
  134.  
  135.         static void DeleteEmployeeInformation(ref string[] informationAboutEmployee, int indexOfEmployee)
  136.         {
  137.             string[] tempArrayInformation = new string[informationAboutEmployee.Length - 1];
  138.  
  139.             for (int i = 0; i < indexOfEmployee; i++)
  140.             {
  141.                 tempArrayInformation[i] = informationAboutEmployee[i];
  142.             }
  143.  
  144.             for (int i = indexOfEmployee + 1; i < informationAboutEmployee.Length; i++)
  145.             {
  146.                 tempArrayInformation[i - 1] = informationAboutEmployee[i];
  147.             }
  148.  
  149.             informationAboutEmployee = tempArrayInformation;
  150.         }
  151.     }
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement