Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Task28._1
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- int startValue = 0;
- int countPeople;
- int step = 1;
- int index;
- int realIndex;
- string menu =
- "Добро пожаловать в картотеку компании Хелл. \n\n" +
- "Пункты меню. Введите, чтобы продолжить: \n\n" +
- "Чтобы обавить досье введите - ДД \n" +
- "Чтобы вывести все досье введите - ВВД \n" +
- "Чтобы удалить досье введите - УД \n" +
- "Чтобы начать поиск по фамилии введите - ППФ \n" +
- "Чтобы выйти из программы введити - В\n\n" +
- "Введите команду: ";
- string dossierName = "Введите ФИО: ";
- string dossierPossition = "Введите должность: ";
- string unfound = "Команда не найдена, попробуйте ещё раз.";
- string parting = "До свидания!";
- string surnameSearch = "Введи фамилию того, чьё досье хотите посмотреть: ";
- string delete = "Введите номер того, чьё досье хотите удалить: ";
- string emptyIndex = "Данный индекс не существует.";
- string empty = "В картотеке нет досье.";
- string userInput;
- string[] fullName = new string[startValue];
- string[] position = new string[startValue];
- bool wantsExit = false;
- while (wantsExit != true)
- {
- Console.Write(menu);
- userInput = Console.ReadLine();
- countPeople = fullName.Length;
- switch (userInput)
- {
- case "ДД":
- RequestFillingDossier(ref fullName, ref countPeople, ref position, ref dossierName, ref dossierPossition);
- break;
- case "ВВД":
- DrawAllDossier(countPeople, ref fullName, ref position);
- break;
- case "УД":
- RequestRemovalDossier(ref fullName, ref position, ref delete, ref emptyIndex, ref empty);
- break;
- case "ППФ":
- SearchDossiaerSurname(ref fullName, ref position, ref surnameSearch);
- break;
- case "В":
- wantsExit = true;
- Console.WriteLine(parting);
- break;
- default:
- Console.WriteLine(unfound);
- Console.ReadKey();
- break;
- }
- Console.Clear();
- }
- }
- static void AddDossier(ref string[] array, ref string newElement,ref int index)
- {
- int step = 1;
- string[] newArray = new string[array.Length + 1];
- newArray[index] = newElement;
- for (int i = 0; i < index; i++)
- newArray[i] = array[i];
- for (int i = index; i < array.Length; i++)
- newArray[i + step] = array[i];
- array = newArray;
- }
- static void DeleteDossier(ref string[] array, int index)
- {
- int step = 1;
- string[] newArray = new string[array.Length - step];
- for (int i = 0; i < index; i++)
- newArray[i] = array[i];
- for (int i = index + step; i < array.Length; i++)
- newArray[i - step] = array[i];
- array = newArray;
- }
- static void SearchDossiaerSurname(ref string[] arrayPerson, ref string[] arrayPosition, ref string surnameSearch)
- {
- int startValue = 0;
- int step = 1;
- string userInput;
- Console.Clear();
- Console.Write(surnameSearch);
- userInput = Console.ReadLine();
- for (int i = 0; i < arrayPerson.Length; i++)
- {
- string[] fullname = arrayPerson[i].Split(' ');
- for (int j = 0; j < fullname.Length; j++)
- {
- if (fullname[startValue] == userInput)
- {
- Console.WriteLine($"{(i + step)}. {arrayPerson[i]} - {arrayPosition[i]}.");
- break;
- }
- }
- }
- Console.ReadKey();
- }
- static void DrawAllDossier(int countPeople, ref string[] arrayPerson, ref string[] arrayPosition)
- {
- int step = 1;
- Console.Clear();
- for (int i = 0; i < countPeople; i++)
- {
- Console.WriteLine($"{(i + step)}. {arrayPerson[i]} - {arrayPosition[i]}.");
- }
- Console.ReadKey();
- }
- static void RequestFillingDossier(ref string[] fullName, ref int countPeople, ref string[] position, ref string dossierName, ref string dossierPossition)
- {
- string userInput;
- Console.Clear();
- Console.Write(dossierName);
- userInput = Console.ReadLine();
- AddDossier(ref fullName, ref userInput, ref countPeople);
- Console.Clear();
- Console.Write(dossierPossition);
- userInput = Console.ReadLine();
- AddDossier(ref position, ref userInput, ref countPeople);
- }
- static void RequestRemovalDossier(ref string[] fullName, ref string[] position, ref string delete, ref string emptyIndex, ref string empty)
- {
- int index;
- int realIndex;
- int step = 1;
- Console.Clear();
- if (fullName.Length > 0)
- {
- Console.Write(delete);
- index = Convert.ToInt32(Console.ReadLine());
- realIndex = index - step;
- if (realIndex < fullName.Length && realIndex < position.Length)
- {
- DeleteDossier(ref fullName, realIndex);
- DeleteDossier(ref position, realIndex);
- }
- else
- {
- Console.Write(emptyIndex);
- Console.ReadKey();
- }
- }
- else
- {
- Console.Write(empty);
- Console.ReadKey();
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment