Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace CSLight
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- const string CommandAddDossier = "1";
- const string CommandDeleteDossier = "2";
- const string CommandShowDossier = "3";
- const string CommandFindDossier = "4";
- const string CommandShowAllDossiers = "5";
- const string CommandExit = "exit";
- string[] employeesFullNames = { "Тетерюк Антон", "Пупкин Вася", "Пупкин Петя" };
- string[] employeesJobs = { "Аниматор", "Программист", "Программист" };
- bool isRunnig = true;
- while (isRunnig)
- {
- Console.WriteLine($" {CommandAddDossier} - Добавить досье " +
- $"\n {CommandDeleteDossier} - Удалить досье" +
- $"\n {CommandShowDossier} - Найти досье по ID" +
- $"\n {CommandFindDossier} - Найти досье по фамилии" +
- $"\n {CommandShowAllDossiers} - Вывести все досье" +
- $"\n {CommandExit} - Выход");
- string userInput = Console.ReadLine();
- switch (userInput)
- {
- case CommandAddDossier:
- AddDossier(ref employeesFullNames, ref employeesJobs);
- break;
- case CommandDeleteDossier:
- DeleteDossier(ref employeesFullNames, ref employeesJobs);
- break;
- case CommandShowDossier:
- FindDossierById(employeesFullNames, employeesJobs);
- break;
- case CommandFindDossier:
- FindDossierBySurname(employeesFullNames, employeesJobs);
- break;
- case CommandShowAllDossiers:
- ShowAllDossiers(employeesFullNames, employeesJobs);
- break;
- case CommandExit:
- isRunnig = false;
- break;
- }
- }
- Console.ReadKey();
- }
- private static void ShowDossier(int id, string fullName, string job)
- {
- Console.WriteLine($"{id} - {fullName} - {job}");
- }
- private static void ShowAllDossiers(string[] employeesFullNames, string[] employeesJobs)
- {
- for (int i = 0; i < employeesFullNames.Length; i++)
- {
- ShowDossier(i, employeesFullNames[i], employeesJobs[i]);
- }
- }
- private static void FindDossierBySurname(string[] employeesFullNames, string[] employeesJobs)
- {
- Console.WriteLine("Введите фамилию сотрудника:");
- string employeSurname = Console.ReadLine();
- char surnameSeparator = ' ';
- int surnamePosition = 0;
- bool isSurnaneExist = false;
- for (int i = 0; i < employeesFullNames.Length; i++)
- {
- string[] tempArray = employeesFullNames[i].Split(surnameSeparator);
- if (employeSurname == tempArray[surnamePosition])
- {
- isSurnaneExist = true;
- ShowDossier(i, employeesFullNames[i], employeesJobs[i]);
- }
- }
- if (isSurnaneExist == false)
- {
- Console.WriteLine("Сотрудник с такой фамилией не найден");
- }
- }
- private static void FindDossierById(string[] employeesFullNames, string[] employeesJobs)
- {
- int employeId;
- Console.WriteLine("Введите ID сотрудника:");
- if (TryFindId(out employeId, Console.ReadLine(), employeesFullNames.Length - 1))
- {
- ShowDossier(employeId, employeesFullNames[employeId], employeesJobs[employeId]);
- }
- }
- private static void DeleteDossier(ref string[] employeesFullNames, ref string[] employeesJobs)
- {
- Console.WriteLine("Введите ID");
- if (TryFindId(out int employeId, Console.ReadLine(), employeesFullNames.Length - 1))
- {
- DecreaseArraySize(ref employeesFullNames, employeId);
- DecreaseArraySize(ref employeesJobs, employeId);
- }
- }
- private static void AddDossier(ref string[] employeesFullNames, ref string[] employeesJobs)
- {
- Console.WriteLine("Введите ФИО сотрудника:");
- string employeInfo = Console.ReadLine();
- IncreaseArraySize(ref employeesFullNames, employeInfo);
- Console.WriteLine("Введите должность сотрудника:");
- employeInfo = Console.ReadLine();
- IncreaseArraySize(ref employeesJobs, employeInfo);
- }
- private static void IncreaseArraySize(ref string[] array, string info)
- {
- int numberToIncrease = 1;
- int newSize = array.Length + numberToIncrease;
- string[] tempArray = new string[newSize];
- for (int i = 0; i < newSize; i++)
- {
- if (i < array.Length)
- {
- tempArray[i] = array[i];
- }
- }
- tempArray[tempArray.Length - 1] = info;
- array = tempArray;
- }
- private static void DecreaseArraySize(ref string[] array, int startShift)
- {
- int numberToDecrease = 1;
- int newSize = array.Length - numberToDecrease;
- string[] tempArray = new string[newSize];
- for (int i = startShift; i < array.Length - 1; i++)
- {
- array[i] = array[i + 1];
- }
- for (int i = 0; i < newSize; i++)
- {
- if (i < array.Length)
- {
- tempArray[i] = array[i];
- }
- }
- array = tempArray;
- }
- private static bool TryFindId(out int employeId, string userInput, int maxIndex)
- {
- if (int.TryParse(userInput, out employeId) && employeId <= maxIndex && employeId >= 0)
- {
- return true;
- }
- Console.WriteLine("ID не найден");
- return false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement