Advertisement
RedFlys

Home Work 4.1

Nov 5th, 2019
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.63 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 FifthProject
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int userChange;
  14.             int changeDeleteFile = 0;
  15.             string name;
  16.             string position;
  17.  
  18.             string[,] file = new string[0, 2];
  19.  
  20.             while (true)
  21.             {
  22.                 Console.WriteLine("1. Добавить досье \n2. Вывести все досье \n3. Удалить досье \n4. Найти по фамилии \n5. Выход");
  23.                 userChange = Convert.ToInt32(Console.ReadLine());
  24.                 Console.Clear();
  25.  
  26.                 if (userChange == 1)
  27.                 {
  28.                     Console.WriteLine("Введите ФИО: ");
  29.                     name = Console.ReadLine();
  30.                     Console.WriteLine("Введите должность: ");
  31.                     position = Console.ReadLine();
  32.  
  33.                     file = CreateFile(name, position, file);
  34.                 }
  35.                 else if (userChange == 2)
  36.                 {
  37.                     ShowAll(file);
  38.                 }
  39.                 else if (userChange == 3)
  40.                 {
  41.                     while (true)
  42.                     {
  43.                         Console.WriteLine("Выберите досье для удаления: \n");
  44.                         Console.WriteLine($"{file[changeDeleteFile, 0]} - {file[changeDeleteFile, 1]}");
  45.                         Console.WriteLine("\n1. Следующее досье \n2. Предыдущее досье \n3. Удалить досье\n 4. Назад");
  46.                         userChange = Convert.ToInt32(Console.ReadLine());
  47.  
  48.                         if (userChange == 1)
  49.                         {
  50.                             changeDeleteFile++;
  51.                             if (changeDeleteFile == file.GetLength(0))
  52.                                 changeDeleteFile = 0;
  53.                         }
  54.                         else if (userChange == 2)
  55.                         {
  56.                             changeDeleteFile--;
  57.                             if (changeDeleteFile < 0)
  58.                                 changeDeleteFile = file.GetLength(0) - 1;
  59.                         }
  60.                         else if (userChange == 3)
  61.                         {
  62.                             DeleteFile(changeDeleteFile, file);
  63.                             changeDeleteFile = 0;
  64.                             break;
  65.                         }
  66.                         else if (userChange == 4)
  67.                         {
  68.                             break;
  69.                         }
  70.                         else
  71.                         {
  72.                             Error();
  73.                         }
  74.                         Console.Clear();
  75.                     }
  76.                 }
  77.                 else if (userChange == 4)
  78.                 {
  79.                     Console.WriteLine("Введите фамилию:");
  80.                     name = Console.ReadLine().ToLower();
  81.  
  82.                     SearchFile(name, file);
  83.                 }
  84.                 else if (userChange == 5)
  85.                 {
  86.                     break;
  87.                 }
  88.                 else
  89.                 {
  90.                     Error();
  91.                 }
  92.                 Console.Clear();
  93.             }
  94.  
  95.         }
  96.  
  97.         static string[,] CreateFile(string name, string position, string[,] file)
  98.         {
  99.             string[,] tempFile = new string[file.GetLength(0) + 1, 2];
  100.  
  101.             for (int i = 0; i < file.GetLength(0); i++)
  102.             {
  103.                 for (int j = 0; j < file.GetLength(1); j++)
  104.                 {
  105.                     tempFile[i, j] = file[i, j];
  106.                 }
  107.             }
  108.  
  109.             tempFile[tempFile.GetLength(0) - 1, 0] = name;
  110.             tempFile[tempFile.GetLength(0) - 1, 1] = position;
  111.  
  112.             file = tempFile;
  113.             return file;
  114.         }
  115.  
  116.         static string[,] DeleteFile(int changeDeleteFile, string[,] file)
  117.         {
  118.             string[,] tempFile = new string[file.GetLength(0) - 1, 2];
  119.  
  120.             for (int i = 0; i < changeDeleteFile; i++)
  121.             {
  122.                 for (int j = 0; j < file.GetLength(1); j++)
  123.                 {
  124.                     tempFile[i, j] = file[i, j];
  125.                 }
  126.             }
  127.  
  128.             for (int i = changeDeleteFile; i < file.GetLength(0) - 1; i++)
  129.             {
  130.                 for (int j = 0; j < file.GetLength(1); j++)
  131.                 {
  132.                     tempFile[i, j] = file[i + 1, j];
  133.                 }
  134.             }
  135.  
  136.             file = tempFile;
  137.             return file;
  138.         }
  139.  
  140.         static void SearchFile(string surname, string[,] file)
  141.         {
  142.             string[] fileSplit = new string[3];
  143.  
  144.             for (int s = 0; s < file.GetLength(0); s++)
  145.             {
  146.                 fileSplit = file[s, 0].Split(' ');
  147.  
  148.                 if (surname == fileSplit[0].ToLower())
  149.                 {
  150.                     Console.WriteLine($"{file[s, 0]} - {file[s, 1]}");
  151.                 }
  152.             }
  153.             Console.ReadKey();
  154.         }
  155.  
  156.         static void ShowAll(string[,] file)
  157.         {
  158.             for (int j = 0; j < file.GetLength(0); j++)
  159.             {
  160.                 Console.WriteLine($"{j + 1}. {file[j, 0]} - {file[j, 1]}");
  161.             }
  162.             Console.ReadKey();
  163.         }
  164.  
  165.         static void Error()
  166.         {
  167.             Console.Clear();
  168.             Console.WriteLine("Не корректный ввод");
  169.             Console.ReadKey();
  170.         }
  171.     }
  172. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement