Advertisement
MaoChessy

Task 19 - fix 2

Oct 31st, 2020
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2.  
  3. namespace C_sharp_Light
  4. {
  5.     class Program
  6.     {
  7.         static void Main(string[] args)
  8.         {
  9.             string[] name = new string[0];
  10.             string[] post = new string[0];
  11.             bool isOpen = true;
  12.             while (isOpen)
  13.             {
  14.                 Console.WriteLine("Программа досье\nУправление:\n1) Добавить досье\n2) Вывести все досье\n3) Удалить досье по номеру(не индекс массива)\n4) Поиск по фамилии \n0) Выход\n\n");
  15.                 ConsoleKeyInfo key = Console.ReadKey();
  16.                 Console.Clear();
  17.                 switch (key.Key)
  18.                 {
  19.                     case ConsoleKey.D1:
  20.                         AddDossier(ref name, ref post);
  21.                         break;
  22.                     case ConsoleKey.D2:
  23.                         WriteAllDossier(name, post);
  24.                         break;
  25.                     case ConsoleKey.D3:
  26.                         DeletDossier(ref name, ref post);
  27.                         break;
  28.                     case ConsoleKey.D4:
  29.                         SearchByLastName(name);
  30.                         break;
  31.                     case ConsoleKey.D0:
  32.                         isOpen = false;
  33.                         break;
  34.                 }
  35.             }
  36.         }
  37.         static void AddDossier(ref string[] name, ref string[] post)
  38.         {
  39.             Console.Write("Введите имя = ");
  40.             name = IncreasByUnitArray(name, Console.ReadLine());
  41.             Console.Write("Введите должность = ");
  42.             post = IncreasByUnitArray(post, Console.ReadLine());
  43.  
  44.             Console.WriteLine("\n\nУдачное добавление!");
  45.             Console.ReadKey();
  46.             Console.Clear();
  47.         }
  48.         static void WriteAllDossier(string[] name, string[] post)
  49.         {
  50.             for (int i = 0; i < name.Length; i++)
  51.             {
  52.                 Console.Write($"{i + 1} - ");
  53.                 Console.SetCursorPosition(6, i);
  54.                 Console.Write($"Имя: {name[i]}");
  55.                 Console.SetCursorPosition(24, i);
  56.                 Console.Write($"Должность: {post[i]}");
  57.                 Console.WriteLine();
  58.             }
  59.             Console.ReadKey();
  60.             Console.Clear();
  61.         }
  62.         static void SearchByLastName(string[] name)
  63.         {
  64.             Console.Clear();
  65.             Console.Write("Введите фамилию: ");
  66.             string searchName = Console.ReadLine().ToLower();
  67.             Console.WriteLine("\n\n");
  68.  
  69.             int coincidenceCounter = 0;
  70.  
  71.             Console.WriteLine("Следующие номера имеют искоемую фамилю:");
  72.             for (int i = 0; i < name.Length; i++)
  73.             {
  74.                 string nameFromArray = name[i];
  75.                 nameFromArray = nameFromArray.ToLower();
  76.                 if (nameFromArray == searchName)
  77.                 {
  78.                     Console.Write($"{i}  ");
  79.                     coincidenceCounter++;
  80.  
  81.                     if (coincidenceCounter % 3 == 0 && coincidenceCounter != 0)
  82.                         Console.WriteLine();
  83.                 }
  84.             }
  85.             Console.ReadKey();
  86.             Console.Clear();
  87.         }
  88.         static void DeletDossier(ref string[] name, ref string[] post)
  89.         {
  90.             Console.Clear();
  91.             Console.Write("Введите номер для удаления: ");
  92.             int indexForDelete = Convert.ToInt32(Console.ReadLine());
  93.             name = ReduceByUnitArray(name, indexForDelete);
  94.             post = ReduceByUnitArray(post, indexForDelete);
  95.             Console.Clear();
  96.         }
  97.         static public string[] ReduceByUnitArray(string[] array, int indexForDelete)
  98.         {
  99.             string[] tempArray = new string[array.Length - 1];
  100.             indexForDelete--;
  101.             for (int i = 0; i < tempArray.Length; i++)
  102.             {
  103.                 if (i < indexForDelete)
  104.                     tempArray[i] = array[i];
  105.                 else
  106.                     tempArray[i] = array[i+1];
  107.             }
  108.             return tempArray;
  109.         }
  110.         static public string[] IncreasByUnitArray(string[] array, string newElementOfArray)
  111.         {
  112.             string[] tempArray = new string[array.Length + 1];
  113.             for (int i = 0; i < array.Length; i++)
  114.             {
  115.                 tempArray[i] = array[i];
  116.             }
  117.             tempArray[tempArray.Length - 1] = newElementOfArray;
  118.             return tempArray;
  119.         }
  120.     }
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement