Advertisement
Rodunskiy

Untitled

Dec 6th, 2024
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.22 KB | None | 0 0
  1. using System;
  2. using System.Globalization;
  3. using System.Xml.Linq;
  4. using static System.Net.Mime.MediaTypeNames;
  5. using static System.Runtime.InteropServices.JavaScript.JSType;
  6.  
  7. namespace CSLight
  8. {
  9.     public class Program
  10.     {
  11.         private static object cw;
  12.  
  13.         static void Main(string[] args)
  14.         {
  15.             string[] listEmployees = new string[0];
  16.             string[] positions = new string[0];
  17.             bool canWork = true;  
  18.  
  19.             const string FillingDossierCommand = "1";
  20.             const string ShowAllDossierCommand = "2";
  21.             const string SearchLastnameCommand = "3";
  22.             const string DeleteDossierCommand = "4";
  23.             const string ExitProgrammCommand = "5";
  24.  
  25.             while (canWork)
  26.             {
  27.                 Console.WriteLine(
  28.                 $"{FillingDossierCommand})Добавить досье\n" +
  29.                 $"{ShowAllDossierCommand})Вывести все досье\n" +
  30.                 $"{SearchLastnameCommand})Поиск по фамилии\n" +
  31.                 $"{DeleteDossierCommand})Удалить досье\n" +
  32.                 $"{ExitProgrammCommand})Выход из программы\n");
  33.  
  34.                 switch (Console.ReadLine())
  35.                 {
  36.                     case FillingDossierCommand:
  37.                         FillingDossier(ref listEmployees, ref positions);
  38.                         break;
  39.  
  40.                     case ShowAllDossierCommand:
  41.                         ShowAllDossier(listEmployees, positions);
  42.                         break;
  43.  
  44.                     case SearchLastnameCommand:
  45.                         SearchLastname(listEmployees);
  46.                         break;
  47.  
  48.                     case DeleteDossierCommand:
  49.                         DeleteDossier(ref listEmployees, ref positions);
  50.                         break;
  51.  
  52.                     case ExitProgrammCommand:
  53.                         ExitProgramm(ref canWork);
  54.                         break;
  55.                 }
  56.  
  57.             }
  58.  
  59.         }
  60.  
  61.         static void FillingDossier(ref string[] listEmployees, ref string[] positions)
  62.         {
  63.             Console.WriteLine("Введите ФИО сотрудинка через пробел.");
  64.             string fullName = Console.ReadLine();
  65.             Console.WriteLine("Введите должность сотрудинка через пробел.");
  66.             string post = Console.ReadLine();
  67.  
  68.             ExtensionArray(ref listEmployees, fullName);
  69.             ExtensionArray(ref positions, post);
  70.         }
  71.          
  72.         static void ShowAllDossier(string[] listEmployees, string[] positions)
  73.         {
  74.             for (int i = 0; i < listEmployees.Length; i++)
  75.             {
  76.                 Console.WriteLine($"{i + 1}){listEmployees[i]}-{positions[i]}");
  77.             }
  78.            
  79.             Console.ReadKey();
  80.         }
  81.  
  82.         static void SearchLastname(string[] array)
  83.         {
  84.             Console.WriteLine("Введите нужную фамилию для поиска");
  85.             string lastName = Console.ReadLine();
  86.  
  87.             Console.WriteLine($"Сотрудники с фамилией '{lastName}':");
  88.  
  89.             foreach (var worker in array)
  90.             {
  91.                 if (worker.StartsWith(lastName, StringComparison.OrdinalIgnoreCase))
  92.                 {
  93.                     Console.WriteLine(worker);
  94.                 }
  95.             }
  96.         }
  97.  
  98.         static void DeleteDossier(ref string[] listEmployees, ref string[] positions)
  99.         {
  100.             for (int i = 0; i < listEmployees.Length; i++)
  101.             {
  102.                 Console.WriteLine($"{i+1}){listEmployees[i]}-{positions[i]}");
  103.             }
  104.  
  105.             Console.WriteLine("Введите номер досье которое хотите удалить.");
  106.             int number = ReadInt();
  107.                
  108.             DeletingArrayElement(ref listEmployees, number);
  109.             DeletingArrayElement(ref positions, number);
  110.         }
  111.  
  112.         static void ExitProgramm(ref bool canWork)
  113.         {
  114.             canWork = false;
  115.         }
  116.  
  117.         static void ExtensionArray(ref string[] array, string word)
  118.         {
  119.             string[] temporaryArray = new string[array.Length + 1];
  120.  
  121.             for (int i = 0; i < array.Length; i++)
  122.             {
  123.                 temporaryArray[i] = array[i];
  124.             }
  125.  
  126.             temporaryArray[temporaryArray.Length - 1] = word;
  127.  
  128.             array = temporaryArray;
  129.         }
  130.  
  131.         static void DeletingArrayElement(ref string[] array, int number)
  132.         {
  133.             string[] temporaryArray = new string[array.Length - 1];
  134.             string dossier = array[number - 1];
  135.             int index = 0;
  136.  
  137.             foreach (var item in array)
  138.             {
  139.                 if (item != dossier)
  140.                 {
  141.                     temporaryArray[index++] = item;
  142.                 }
  143.             }
  144.  
  145.             array = temporaryArray;
  146.         }
  147.  
  148.         static int ReadInt()
  149.         {
  150.             int number = 0;
  151.  
  152.             while (int.TryParse(Console.ReadLine(), out number) == false)
  153.             {
  154.                 Console.WriteLine("Это не число.");
  155.             }
  156.  
  157.             return number;
  158.         }
  159.     }
  160. }
  161.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement