Advertisement
IGRODELOFF

Task28.4

May 9th, 2022 (edited)
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.80 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 Task28._1
  8. {
  9.     internal class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             string menu =
  14.                 "Добро пожаловать в картотеку компании Хелл. \n\n" +
  15.                 "Пункты меню. Введите, чтобы продолжить: \n\n" +
  16.                 "Чтобы обавить досье введите - ДД \n" +
  17.                 "Чтобы вывести все досье введите - ВВД \n" +
  18.                 "Чтобы удалить досье введите - УД \n" +
  19.                 "Чтобы начать поиск по фамилии введите - ППФ \n" +
  20.                 "Чтобы выйти из программы введити - В\n\n" +
  21.                 "Введите команду: ";
  22.             string unfoundCommand = "Команда не найдена, попробуйте ещё раз.";
  23.             string farewellUser = "До свидания!";
  24.             string userInput;
  25.             string[] fullNames = new string[0];
  26.             string[] positions = new string[0];
  27.  
  28.             bool wantsExit = false;
  29.  
  30.             while (wantsExit != true)
  31.             {
  32.                 Console.Write(menu);
  33.                 userInput = Console.ReadLine();
  34.  
  35.                 switch (userInput)
  36.                 {
  37.                     case "ДД":
  38.                         AddDossier(ref fullNames, ref positions);
  39.                         break;
  40.                     case "ВВД":
  41.                         DrawAllDossier(fullNames, positions);
  42.                         break;
  43.                     case "УД":
  44.                         RequestDeletelDossier(ref fullNames,ref positions);
  45.                         break;
  46.                     case "ППФ":
  47.                         SearchDossiaerSurname(fullNames, positions);
  48.                         break;
  49.                     case "В":
  50.                         wantsExit = true;
  51.                         Console.WriteLine(farewellUser);
  52.                         break;
  53.                     default:
  54.                         Console.WriteLine(unfoundCommand);
  55.                         Console.ReadKey();
  56.                         break;
  57.                 }
  58.                 Console.Clear();
  59.             }
  60.         }
  61.  
  62.         static void AddDossier(ref string[] fullName, ref string[] positions)
  63.         {
  64.             string nameRequest = "Введите ФИО: ";
  65.             string possitionRequest = "Введите должность: ";
  66.             string userInput;
  67.  
  68.             Console.Clear();
  69.             Console.Write(nameRequest);
  70.             userInput = Console.ReadLine();
  71.  
  72.             AddElementDossier(ref fullName, userInput);
  73.  
  74.             Console.Clear();
  75.             Console.Write(possitionRequest);
  76.             userInput = Console.ReadLine();
  77.  
  78.             AddElementDossier(ref positions, userInput);
  79.         }
  80.  
  81.         static void AddElementDossier(ref string[] array, string newElement)
  82.         {
  83.             string[] newArray = new string[array.Length + 1];
  84.             int index = array.Length;
  85.  
  86.             newArray[index] = newElement;
  87.  
  88.             for (int i = 0; i < index; i++)
  89.                 newArray[i] = array[i];
  90.  
  91.             array = newArray;
  92.         }
  93.  
  94.  
  95.         static void RequestDeletelDossier(ref string[] fullName, ref string[] positions)
  96.         {
  97.             string requestNumbersRemoveDossier = "Введите номер того, чьё досье хотите удалить: ";
  98.             string indexNotFound = "Данный индекс не найден, возможно он не существует или вы набрали его неправильно. Повторите попытку.";
  99.             string fileСabinetEmpty = "В картотеке нет досье.";
  100.  
  101.             int index;
  102.             int realIndex;
  103.  
  104.             Console.Clear();
  105.             if (fullName.Length > 0)
  106.             {
  107.                 Console.Write(requestNumbersRemoveDossier);
  108.                 index = Convert.ToInt32(Console.ReadLine());
  109.                 realIndex = index - 1;
  110.                 if (realIndex < fullName.Length && realIndex < positions.Length)
  111.                 {
  112.                     DeleteDossier(ref fullName, realIndex);
  113.                     DeleteDossier(ref positions, realIndex);
  114.                 }
  115.                 else
  116.                 {
  117.                     Console.Write(indexNotFound);
  118.                     Console.ReadKey();
  119.                 }
  120.             }
  121.             else
  122.             {
  123.                 Console.Write(fileСabinetEmpty);
  124.                 Console.ReadKey();
  125.             }
  126.         }
  127.  
  128.         static void DeleteDossier(ref string[] array, int index)
  129.         {
  130.             string[] newArray = new string[array.Length - 1];
  131.  
  132.             for (int i = 0; i < index; i++)
  133.                 newArray[i] = array[i];
  134.  
  135.             for (int i = index + 1; i < array.Length; i++)
  136.                 newArray[i - 1] = array[i];
  137.  
  138.             array = newArray;
  139.         }
  140.  
  141.         static void SearchDossiaerSurname(string[] arrayPerson, string[] arrayPositions)
  142.         {
  143.             string requestNameSearchDossier = "Введи фамилию того, чьё досье хотите посмотреть: ";
  144.             string personNotFound = "Человека с такой фамилией нет в картотеке досье. Попробуйте ещё раз.";
  145.             string userInput;
  146.  
  147.             bool foundDossier = false;
  148.  
  149.             Console.Clear();
  150.             Console.Write(requestNameSearchDossier);
  151.             userInput = Console.ReadLine();
  152.  
  153.             for (int i = 0; i < arrayPerson.Length; i++)
  154.             {
  155.                 string[] fullname = arrayPerson[i].Split(' ');
  156.                 for (int j = 0; j < fullname.Length; j++)
  157.                 {
  158.                     if (fullname[0] == userInput)
  159.                     {
  160.                         Console.WriteLine($"{(i + 1)}. {arrayPerson[i]} - {arrayPositions[i]}.");
  161.                         foundDossier = true;
  162.                         break;
  163.                     }
  164.                 }
  165.             }
  166.  
  167.             if (foundDossier == false)
  168.             {
  169.                 Console.Write(personNotFound);
  170.             }
  171.  
  172.             Console.ReadKey();
  173.         }
  174.  
  175.         static void DrawAllDossier(string[] arrayPersons, string[] arrayPosition)
  176.         {
  177.             int countPeople = arrayPersons.Length;
  178.  
  179.             Console.Clear();
  180.             for (int i = 0; i < countPeople; i++)
  181.             {
  182.                 Console.WriteLine($"{(i + 1)}. {arrayPersons[i]} - {arrayPosition[i]}.");
  183.             }
  184.             Console.ReadKey();
  185.         }
  186.     }
  187. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement