Anonim_999

Dossier

Jan 24th, 2021 (edited)
709
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. namespace ConsoleApp1
  3. {
  4.     class Program
  5.     {
  6.         static void Main(string[] args)
  7.         {
  8.             string[] secondName = new string[0];
  9.             string[] position = new string[0];
  10.             string userInputName, userInputPosition;
  11.             string userInput;
  12.             bool isContinue = true;
  13.             int inputNumberDossier;
  14.  
  15.             while (isContinue)
  16.             {
  17.                 WriteColored("\nНажмите любую клавишу...");
  18.                 Console.ReadKey();
  19.                 Console.Clear();
  20.                 WriteColored("Меню:\n1)Добавить досье\n2)Вывести все досье\n3)Удалить досье\n4)Поиск по фамилии\n5.Выход\n");
  21.                 userInput = Console.ReadLine();
  22.                 switch (userInput)
  23.                 {
  24.                     case "1":
  25.                         WriteColored("\nВведите фамилию: ");
  26.                         userInputName = Console.ReadLine();
  27.                         WriteColored("\nВведите должность: ");
  28.                         userInputPosition = Console.ReadLine();
  29.                         secondName = MakeNewDossierArray(secondName, userInputName);
  30.                         position = MakeNewDossierArray(position, userInputPosition);
  31.                         WriteColored("Досье добавленно!", ConsoleColor.Green);
  32.                         break;
  33.                     case "2":
  34.                         if (secondName.Length > 0)
  35.                         {
  36.  
  37.                             for (int i = 0; i < secondName.Length; i++)
  38.                                 WriteColored($"{i + 1}. {secondName[i]} - {position[i]}\n", ConsoleColor.Green);
  39.                         }
  40.                         else
  41.                         {
  42.                             WriteColored("Здесь пока ничего нет:(", ConsoleColor.Red);
  43.                         }
  44.                         break;
  45.                     case "3":
  46.                         WriteColored("\nВведите номер досье которого нужно удалить: ");
  47.                         userInput = Console.ReadLine();
  48.                         try
  49.                         {
  50.                             inputNumberDossier = Convert.ToInt32(userInput);
  51.                             if ( inputNumberDossier <= secondName.Length + 1 && inputNumberDossier >= 1)
  52.                             {
  53.                                 secondName = RemoveDossier(secondName, Convert.ToInt32(userInput) - 1);
  54.                                 position = RemoveDossier(position, Convert.ToInt32(userInput) - 1);
  55.                                 WriteColored("Досье удалено!", ConsoleColor.Green);
  56.  
  57.                             }
  58.                             else
  59.                             {
  60.                                 WriteColored("Такого досье не существует!", ConsoleColor.Red);
  61.                             }
  62.                         }
  63.                         catch (Exception)
  64.                         {
  65.                             WriteColored("Такого досье не существует!", ConsoleColor.Red);
  66.                         }
  67.                         break;
  68.                     case "4":
  69.                         WriteColored("\nдля поиска досье - введите фамилию: ");
  70.                         userInput = Console.ReadLine();
  71.                         FindIndexDossier(secondName, userInput);
  72.                         break;
  73.                     case "5":
  74.                         isContinue = false;
  75.                         break;
  76.                     default:
  77.                         WriteColored("\nТы ошибся - пиши цифрами выбор функции программы\n", ConsoleColor.Red);
  78.                         break;
  79.                 }
  80.             }
  81.  
  82.         }
  83.  
  84.         static private void WriteColored(string text, ConsoleColor color = ConsoleColor.Yellow)
  85.         {
  86.             Console.ForegroundColor = color;
  87.             Console.Write(text);
  88.             Console.ResetColor();
  89.         }
  90.  
  91.         static private string[] ResizeArray(string[] array)
  92.         {
  93.             string[] tempArray = new string[array.Length + 1];
  94.  
  95.             for (int i = 0; i < array.Length; i++)
  96.                 tempArray[i] = array[i];
  97.  
  98.             return array = tempArray;
  99.         }
  100.  
  101.         static private string[] MakeNewDossierArray(string[] arrayDossier, string userInput)
  102.         {
  103.             arrayDossier = ResizeArray(arrayDossier);
  104.             arrayDossier[arrayDossier.Length - 1] = userInput;
  105.             return arrayDossier;
  106.         }
  107.  
  108.         static private string[] RemoveDossier(string[] array, int index)
  109.         {
  110.             string[] newArray = new string[array.Length - 1];
  111.  
  112.             for (int i = 0; i < index; i++)
  113.                 newArray[i] = array[i];
  114.  
  115.             for (int i = index + 1; i < array.Length; i++)
  116.                 newArray[i - 1] = array[i];
  117.  
  118.             return array = newArray;
  119.         }
  120.  
  121.         static private void FindIndexDossier(string[] secondName, string userInput)
  122.         {
  123.             bool isFind = false;
  124.             for (int i = 0; i < secondName.Length; i++)
  125.             {
  126.                 if (secondName[i] == userInput)
  127.                 {
  128.                     WriteColored($"Данное досье находится на строке: {i + 1}", ConsoleColor.Green);
  129.                     isFind = true;
  130.                     break;
  131.                 }
  132.             }
  133.             if (!isFind)
  134.             {
  135.                 WriteColored("Не удалось найти досье по фамилии:(", ConsoleColor.Red);
  136.             }
  137.         }
  138.     }
  139. }
RAW Paste Data