Advertisement
SnowPhoenix347

Untitled

Mar 6th, 2020
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.52 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Personnel_Accounting_Var3
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             bool isOpen = true;
  14.             bool nameWorkerIsFind = false;
  15.             string nameWorkerInput;
  16.             string[] arrayName = new string[0];
  17.             string[] arrayPosition = new string[0];
  18.             int findIndexForDelete = 0;
  19.  
  20.             while (isOpen)
  21.             {
  22.                 Console.WriteLine("\nВы вошли в базу данных сотрудников.");
  23.                 Console.WriteLine("1- Добавить досье.\n" +
  24.                                     "2- Вывести все досье.\n" +
  25.                                     "3- Удалить досье.\n" +
  26.                                     "4- Поиск по имени\n" +
  27.                                     "5 - Выход.\n");
  28.                 Console.Write("Введите номер пункта меню: ");
  29.  
  30.                 switch (Convert.ToInt32(Console.ReadLine()))
  31.                 {
  32.                     case 1:
  33.                         Console.WriteLine("Создание досье.");
  34.                         Console.WriteLine("Введите имя сотрудника: ");
  35.                         CreateDossier(ref arrayName);
  36.                         Console.WriteLine("Введите его должность: ");
  37.                         CreateDossier(ref arrayPosition);
  38.                         break;
  39.                     case 2:
  40.                         Console.WriteLine("Все досье: ");
  41.                         AllDossierToString(ref arrayName, ref arrayPosition);
  42.                         break;
  43.                     case 3:
  44.                         Console.WriteLine("Напишите имя человека, чтобы удалить его досье: ");
  45.                         nameWorkerInput = Console.ReadLine();
  46.                         FindIndexNameForDelete(ref arrayName, nameWorkerInput, findIndexForDelete, ref nameWorkerIsFind);
  47.                         if (nameWorkerIsFind == true)
  48.                         {
  49.                             DeleteDossier(ref arrayName, findIndexForDelete);
  50.                             DeleteDossier(ref arrayPosition, findIndexForDelete);
  51.                         }
  52.                         nameWorkerIsFind = false;
  53.                         break;
  54.                     case 4:
  55.                         Console.Write("Введите имя сотрудника, которого вы желаете найти: ");
  56.                         nameWorkerInput = Console.ReadLine();
  57.                         FindWorkerUseName(nameWorkerInput, ref arrayName, ref arrayPosition, ref nameWorkerIsFind);
  58.                         break;
  59.                     case 5:
  60.                         isOpen = false;
  61.                         break;
  62.                 }
  63.                 Console.ReadKey();
  64.                 Console.Clear();
  65.             }
  66.         }
  67.  
  68.         static void CreateDossier(ref string[] array)
  69.         {
  70.             string[] tempArr = new string[array.Length + 1];
  71.             for (int i = 0; i < array.Length; i++)
  72.             {
  73.                 tempArr[i] = array[i];
  74.             }
  75.             tempArr[tempArr.Length - 1] = Console.ReadLine();
  76.             array = tempArr;
  77.         }
  78.  
  79.         static void AllDossierToString(ref string[] ArrayName, ref string[] ArrayPosition)
  80.         {
  81.             for (int i = 0; i < ArrayName.Length; i++)
  82.             {
  83.                 Console.Write((i + 1).ToString() + ")" + ArrayName[i] + "-" + ArrayPosition[i] + " ");
  84.             }
  85.         }
  86.  
  87.         static void FindIndexNameForDelete(ref string[] arrayName, string nameWorkerInput, int findIndexForDelete, ref bool nameWorkerIsFind)
  88.         {
  89.             for (int i = 0; i < arrayName.Length; i++)
  90.             {
  91.                 if(nameWorkerInput.ToLower() == arrayName[i].ToLower())
  92.                 {
  93.                     findIndexForDelete = i;
  94.                     nameWorkerIsFind = true;
  95.                     break;
  96.                 }
  97.             }
  98.  
  99.             if (nameWorkerIsFind == false)
  100.             {
  101.                 Console.WriteLine("Такого сотрудника нет.");
  102.             }
  103.         }
  104.  
  105.         static void DeleteDossier(ref string[] array, int findIndexForDelete)
  106.         {          
  107.             string tmpStr = array[findIndexForDelete];
  108.             array[findIndexForDelete] = array[array.Length - 1];
  109.             array[array.Length - 1] = tmpStr;
  110.            
  111.             string[] tempArray = new string[array.Length - 1];
  112.             for (int i = 0; i < tempArray.Length; i++)
  113.             {
  114.                 tempArray[i] = array[i];
  115.             }
  116.             array = tempArray;
  117.         }
  118.  
  119.         static void FindWorkerUseName(string nameWorkerInput, ref string[] arrayName, ref string[] arrayPosition, ref bool nameWorkerIsFind)
  120.         {
  121.             for (int i = 0; i < arrayName.Length; i++)
  122.             {
  123.                 if (nameWorkerInput.ToLower() == arrayName[i].ToLower())
  124.                 {
  125.                     Console.WriteLine($"Досье на {nameWorkerInput}: {arrayName[i]}-{arrayPosition[i]}");
  126.                     nameWorkerIsFind = true;
  127.                     break;
  128.                 }
  129.             }
  130.  
  131.             if (nameWorkerIsFind == false)
  132.             {
  133.                 Console.WriteLine("Такого сотрудника нет.");
  134.             }
  135.         }
  136.     }
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement