Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace ConsoleApp
- {
- class Program
- {
- static void Main(string[] args)
- {
- const string CommandAddPersonToDossier = "1";
- const string CommandOutputDossier = "2";
- const string CommandRemovePersonFromDossier = "3";
- const string CommandSearchPersonInDossier = "4";
- const string CommandExit = "5";
- string[] fullNames = new string[0];
- string[] positions = new string[0];
- string userInput;
- bool isWork = true;
- Console.WriteLine("Здравствйе! Это ваша личная картотека неугодных вам линостей. \nСюда Вы можете внести кого и сколько угожно" +
- " - места хватит. Функций много. \nИтак - чего бы вам хотелось(выберите вариант):\n" +
- $"\n{CommandAddPersonToDossier}. Добавить человека в досье." +
- $"\n{CommandOutputDossier}. Вывести все досье целиком." +
- $"\n{CommandRemovePersonFromDossier}. Удалить какой-то пункт, при этом простив все грехи." +
- $"\n{CommandSearchPersonInDossier}. Поискать кого-нибудь." +
- $"\n{CommandExit}. Просто выйти из программы.\n");
- while (isWork)
- {
- Console.Write("Выберите пункт меню:\n");
- userInput = Console.ReadLine();
- switch (userInput)
- {
- case CommandAddPersonToDossier:
- AddDossier(ref fullNames, ref positions);
- break;
- case CommandOutputDossier:
- ShowAllDossiers(fullNames, positions);
- break;
- case CommandRemovePersonFromDossier:
- DeleteDossier(ref fullNames, ref positions);
- break;
- case CommandSearchPersonInDossier:
- SearchDossier(fullNames, positions);
- break;
- case CommandExit:
- isWork = false;
- Console.WriteLine("Спасибо что воспользовались нашей программой!");
- break;
- default:
- Console.WriteLine("Такого пункта нет.");
- break;
- }
- }
- }
- static void AddDossier(ref string[] dataAboutUser, ref string[] dataAboutUserPosition)
- {
- string userData = "Введите фамилию, имя и отчество:";
- string userWork = "Укажите должность:";
- dataAboutUser = AddItemToDossier(dataAboutUser, userData);
- dataAboutUserPosition = AddItemToDossier(dataAboutUserPosition, userWork);
- }
- static string[] AddItemToDossier(string[] extendedArray, string text)
- {
- Console.WriteLine(text);
- string userInput = Console.ReadLine();
- string[] temporaryArrayForDossier = new string[extendedArray.Length + 1];
- for (int i = 0; i < extendedArray.Length; i++)
- {
- temporaryArrayForDossier[i] = extendedArray[i];
- }
- temporaryArrayForDossier[temporaryArrayForDossier.Length - 1] = userInput;
- return temporaryArrayForDossier;
- }
- static void ShowAllDossiers(string[] userInfo, string[] userPosition)
- {
- int sequenceNumber = 0;
- Console.WriteLine("Досье полностью:");
- for (int i = 0; i < userInfo.Length; i++)
- {
- sequenceNumber++;
- Console.WriteLine($"{sequenceNumber}. {userInfo[i]} - {userPosition[i]}.");
- }
- }
- static void SearchDossier(string[] dataUser, string[] userPosition)
- {
- int dossierSerialNumber = 0;
- if (dataUser.Length == 0)
- {
- Console.WriteLine("Список пуст.");
- }
- else
- {
- Console.Write("Кого найти? Введите фамилию:");
- string userSearch = Console.ReadLine();
- for (int i = 0; i < dataUser.Length; i++)
- {
- string[] arrayForSearchLastName = dataUser[i].Split();
- if (arrayForSearchLastName[0] == userSearch)
- {
- dossierSerialNumber = i + 1;
- Console.WriteLine($"\"{arrayForSearchLastName[0]} - {userPosition[i]}\" находится под номером \"{dossierSerialNumber}\".");
- }
- }
- if (dossierSerialNumber == 0)
- {
- Console.WriteLine("Досье не найдено.");
- }
- }
- }
- static void DeleteDossier(ref string[] reducedArray, ref string[] reducedPositionArray)
- {
- Console.Write("Введите номер пункта досье, который Вы хотите удалить:");
- string userInput = Console.ReadLine();
- bool isNumber = int.TryParse(userInput, out int itemNumber);
- itemNumber--;
- if (itemNumber >= reducedArray.Length || itemNumber < 0)
- {
- isNumber = false;
- }
- if (isNumber)
- {
- reducedArray = DeleteElement(reducedArray, itemNumber);
- reducedPositionArray = DeleteElement(reducedPositionArray, itemNumber);
- }
- else
- {
- Console.WriteLine("Ошибочный ввод");
- }
- }
- static string[] DeleteElement(string[] itemDeleteDossier, int numberDossier)
- {
- string[] arrayModified = new string[itemDeleteDossier.Length - 1];
- for (int i = 0; i < numberDossier; i++)
- {
- arrayModified[i] = itemDeleteDossier[i];
- }
- for (int i = numberDossier + 1; i < itemDeleteDossier.Length; i++)
- {
- arrayModified[i - 1] = itemDeleteDossier[i];
- }
- return arrayModified;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement