Advertisement
MaoChessy

Task 19 - fix

Oct 31st, 2020
128
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.             string nameTemp = Console.ReadLine();
  41.             Console.Write("Введите должность = ");
  42.             string postTemp = Console.ReadLine();
  43.  
  44.             name = ResizeArray(name);
  45.             post = ResizeArray(post);
  46.  
  47.             name[name.Length - 1] = nameTemp;
  48.             post[post.Length - 1] = postTemp;
  49.             Console.WriteLine("\n\nУдачное добавление!");
  50.             Console.ReadKey();
  51.             Console.Clear();
  52.         }
  53.         static void WriteAllDossier(string[] name, string[] post)
  54.         {
  55.             for (int i = 0; i < name.Length; i++)
  56.             {
  57.                 Console.Write($"{i + 1} - ");
  58.                 Console.SetCursorPosition(6, i);
  59.                 Console.Write($"Имя: {name[i]}");
  60.                 Console.SetCursorPosition(24, i);
  61.                 Console.Write($"Должность: {post[i]}");
  62.                 Console.WriteLine();
  63.             }
  64.             Console.ReadKey();
  65.             Console.Clear();
  66.         }
  67.         static void SearchByLastName(string[] name)
  68.         {
  69.             Console.Clear();
  70.             Console.Write("Введите фамилию: ");
  71.             string searchName = Console.ReadLine();
  72.             searchName.ToLower();
  73.             Console.WriteLine("\n\n");
  74.  
  75.             int[] result = new int[0];
  76.  
  77.             for (int i = 0; i < name.Length; i++)
  78.             {
  79.                 string temp = name[i];
  80.                 temp.ToLower();
  81.                 if (temp == searchName)
  82.                 {
  83.                     result = ResizeArray(result);
  84.                     result[result.Length - 1] = i;
  85.                 }
  86.             }
  87.             Console.WriteLine("Следующие номера имеют искоемую фамилю:");
  88.             for (int i = 0; i < result.Length; i++)
  89.             {
  90.                 Console.Write($"{i}  ");
  91.                 if (i % 3 == 0 && i != 0)
  92.                     Console.WriteLine();
  93.             }
  94.             Console.ReadKey();
  95.             Console.Clear();
  96.         }
  97.         static void DeletDossier(ref string[] name, ref string[] post)
  98.         {
  99.             Console.Clear();
  100.             Console.Write("Введите номер для удаления: ");
  101.             int number = Convert.ToInt32(Console.ReadLine());
  102.             number--;
  103.             name = ResizeArray(name, number);
  104.             post = ResizeArray(post, number);
  105.             Console.Clear();
  106.         }
  107.         static public string[] ResizeArray(string[] array, int number)
  108.         {
  109.             string[] tempArray = new string[array.Length - 1];
  110.             for (int i = 0; i < array.Length; i++)
  111.             {
  112.                 if (i != number)
  113.                     tempArray[i] = array[i];
  114.             }
  115.             return tempArray;
  116.         }
  117.         static public string[] ResizeArray(string[] array)
  118.         {
  119.             string[] tempArray = new string[array.Length + 1];
  120.             for (int i = 0; i < array.Length; i++)
  121.             {
  122.                 tempArray[i] = array[i];
  123.             }
  124.             return tempArray;
  125.         }
  126.         static public int[] ResizeArray(int[] array)
  127.         {
  128.             int[] tempArray = new int[array.Length + 1];
  129.             for (int i = 0; i < array.Length; i++)
  130.             {
  131.                 tempArray[i] = array[i];
  132.             }
  133.             return tempArray;
  134.         }
  135.     }
  136. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement