Advertisement
VodVas

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

Sep 7th, 2023 (edited)
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.11 KB | Software | 0 0
  1. using System;
  2. using System.Xml.Linq;
  3.  
  4. namespace Кадровый_учет_2
  5. {
  6.     internal class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             const int MenuFillDossier = 1;
  11.             const int MenuDisplayDossier = 2;
  12.             const int MenuDeleteDossier = 3;
  13.             const int MenuSearchDossier = 4;
  14.             const int MenuExit = 5;
  15.  
  16.             string[] listOFNames = new string[0];
  17.             string[] listOfPositions = new string[0];
  18.  
  19.             bool isRun = true;
  20.  
  21.             while (isRun)
  22.             {
  23.                 Console.WriteLine($"Выберите пункт меню:\n {MenuFillDossier} - Добавить досье\n {MenuDisplayDossier} - Вывести все досье\n {MenuDeleteDossier} - Удалить досье \n {MenuSearchDossier} - Поиск по фамилии\n {MenuExit} - Выход");
  24.                 int userInput = (Convert.ToInt32(Console.ReadLine()));
  25.  
  26.                 switch (userInput)
  27.                 {
  28.                     case MenuFillDossier:
  29.                         AddDossier(ref listOFNames, ref listOfPositions);
  30.                         break;
  31.  
  32.                     case MenuDisplayDossier:
  33.                         DisplayDossier(listOFNames, listOfPositions);
  34.                         break;
  35.  
  36.                     case MenuDeleteDossier:
  37.                         DeleteDossier(ref listOFNames, ref listOfPositions);
  38.                         break;
  39.  
  40.                     case MenuSearchDossier:
  41.                         SearchDossier(listOFNames, listOfPositions);
  42.                         break;
  43.  
  44.                     case MenuExit:
  45.                         isRun = false;
  46.                         break;
  47.                 }
  48.             }
  49.         }
  50.  
  51.         static string[] AddData(string[] array, string text)
  52.         {
  53.             string[] tempArray = new string[array.Length + 1];
  54.  
  55.             for (int i = 0; i < array.Length; i++)
  56.             {
  57.                 tempArray[i] = array[i];
  58.             }
  59.  
  60.             tempArray[tempArray.Length - 1] = text;
  61.  
  62.             return tempArray;
  63.         }
  64.  
  65.         static void AddDossier(ref string[] listOfNames, ref string[] listOfPositions)
  66.         {
  67.             Console.WriteLine("Введите фамилию сотрудника");
  68.             string surname = Console.ReadLine();
  69.             Console.WriteLine("Введите должность сотрудника");
  70.             string position = Console.ReadLine();
  71.  
  72.             listOfNames = AddData(listOfNames, surname);
  73.             listOfPositions = AddData(listOfPositions, position);
  74.         }
  75.  
  76.         static void DisplayDossier(string[] listOfNames, string[] listOfPositions)
  77.         {
  78.             int index = 1;
  79.  
  80.             for (int i = 0; i < listOfNames.Length; i++)
  81.             {
  82.                 Console.Write($"{index} - " + $"Фамилия: {listOfNames[i]}" + " " + $"Должность: {listOfPositions[i]}\n");
  83.                 index++;
  84.             }
  85.         }
  86.  
  87.         static string[] RemoveData(string[] array, int index)
  88.         {
  89.             string[] tempArray = new string[array.Length - 1];
  90.  
  91.             for (int i = 0; i < index; i++)
  92.             {
  93.                 tempArray[i] = array[i];
  94.             }
  95.  
  96.             for (int i = index; i < array.Length - 1; i++)
  97.             {
  98.                 tempArray[i] = array[i + 1];
  99.             }
  100.  
  101.             array = tempArray;
  102.             return array;
  103.         }
  104.  
  105.         static void DeleteDossier(ref string[] listOfNames, ref string[] listOfPositions)
  106.         {
  107.             Console.WriteLine("Введите номер удаляемого досье");
  108.             int number = Convert.ToInt32(Console.ReadLine());
  109.  
  110.             if (number > 0 && number < listOfNames.Length + 1)
  111.             {
  112.                 int index = number - 1;
  113.                 listOfNames = RemoveData(listOfNames, index);
  114.                 listOfPositions = RemoveData(listOfPositions, index);
  115.                 Console.WriteLine($"\nДосье {number} удалено");
  116.             }
  117.             else
  118.             {
  119.                 Console.WriteLine("\nДосье с таким номером не существует\n");
  120.             }
  121.         }
  122.  
  123.         static void SearchDossier(string[] listOfNames, string[] listOfPositions)
  124.         {
  125.             Console.WriteLine("\nВведите фамилию для поиска досье");
  126.             string surname = Console.ReadLine();
  127.             bool isSuccessfulSearch = false;
  128.  
  129.             for (int i = 0; i < listOfNames.Length; i++)
  130.             {
  131.                 string[] split = listOfNames[i].Split(' ');
  132.  
  133.                 if (split[0].ToLower() == surname.ToLower())
  134.                 {
  135.                     Console.WriteLine($"\n{i + 1} - Фамилия: {listOfNames[i]} должность: {listOfPositions[i]}");
  136.                     isSuccessfulSearch = true;
  137.                 }
  138.             }
  139.  
  140.             if (isSuccessfulSearch == false)
  141.             {
  142.                 Console.WriteLine($"\nНе найдено сотрудника с фамилией {surname}\n");
  143.             }
  144.         }
  145.     }
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement