Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Clight_28
- {
- class Program
- {
- static void Main()
- {
- const int CommandAddDossier = 1;
- const int CommandShowAllDossiers = 2;
- const int CommandDeleteDossier = 3;
- const int CommandFindDossier = 4;
- const int CommandExit = 5;
- int userInput;
- bool isWorking = true;
- string[] names = new string[0];
- string[] workPositions = new string[0];
- char separator = ' ';
- while (isWorking)
- {
- Console.Clear();
- Console.WriteLine("Кадровый учёт\n");
- Console.WriteLine("Меню:");
- Console.WriteLine($"{CommandAddDossier} - добавить досье.");
- Console.WriteLine($"{CommandShowAllDossiers} - посмотреть все досье.");
- Console.WriteLine($"{CommandDeleteDossier} - удалить досье.");
- Console.WriteLine($"{CommandFindDossier} - найти досье по фамилии.");
- Console.WriteLine($"{CommandExit} - выход.");
- Console.Write("\nВыберете пункт меню: ");
- userInput = Convert.ToInt32(Console.ReadLine());
- switch (userInput)
- {
- case CommandAddDossier:
- AddDossier(separator, ref names, ref workPositions);
- break;
- case CommandShowAllDossiers:
- ShowAllDossiers(names, workPositions);
- break;
- case CommandDeleteDossier:
- DeleteDossier(ref names, ref workPositions);
- break;
- case CommandFindDossier:
- FindDossier(names, workPositions, separator);
- break;
- case CommandExit:
- isWorking = false;
- Console.WriteLine("До свидания!");
- break;
- default:
- Console.WriteLine("Не верно выбран номер пункта меню.");
- break;
- }
- Console.Write("\nДля продолжения нажмите любую клавишу.");
- Console.ReadKey();
- }
- }
- static void AddDossier(char separator, ref string[] names, ref string[] workPositions)
- {
- Console.Clear();
- Console.Write("\nВведите фамилию: ");
- string templateSurname = Console.ReadLine();
- Console.Write("\nВведите имя: ");
- string templateName = Console.ReadLine();
- Console.Write("\nВведите отчество: ");
- string templatePatronymic = Console.ReadLine();
- string templateFullName = templateSurname + separator + templateName + separator + templatePatronymic;
- Console.Write("\nВведите должность: ");
- string templateWorkPosition = Console.ReadLine();
- AddElement(templateFullName, ref names);
- AddElement(templateWorkPosition, ref workPositions);
- }
- static void AddElement(string element, ref string[] array)
- {
- string[] templateDossier = new string[array.Length + 1];
- for (int i = 0; i < array.Length; i++)
- {
- templateDossier[i] = array[i];
- }
- templateDossier[templateDossier.Length - 1] = element;
- array = templateDossier;
- }
- static void DeleteDossier(ref string[] names, ref string[] workPositions)
- {
- Console.Clear();
- if (names.Length <= 0)
- {
- Console.WriteLine("Досье пустое, сначала добавьте персонала в досье.");
- }
- else
- {
- ShowAllDossiers(names, workPositions);
- Console.Write("\nВведите номер удаляемого сотрудника: ");
- int userInput = Convert.ToInt32(Console.ReadLine());
- if (userInput > names.Length && userInput <= 0)
- {
- Console.WriteLine("Не корректный ввод номера досье.");
- }
- else
- {
- DeleteDossierElement(userInput, ref names);
- DeleteDossierElement(userInput, ref workPositions);
- Console.Clear();
- ShowAllDossiers(names, workPositions);
- Console.Write("\nДосье сотрудника успешно удалено.\n");
- }
- }
- }
- static void DeleteDossierElement(int number, ref string[] array)
- {
- string[] templateDossier = new string[array.Length - 1];
- for (int i = 0; i < number - 1; i++)
- {
- templateDossier[i] = array[i];
- }
- for (int i = number; i < array.Length; i++)
- {
- templateDossier[i - 1] = array[i];
- }
- array = templateDossier;
- }
- static void FindDossier(string[] names, string[] workPositions, char separator)
- {
- Console.Clear();
- ShowAllDossiers(names, workPositions);
- Console.Write("\nВведите фамилию сотрудника: ");
- string surname = Console.ReadLine();
- bool isFindedSurname = false;
- int[] findedDossiers = new int[0];
- for (int i = 0; i < names.Length; i++)
- {
- string[] fullName = names[i].Split(separator);
- if (fullName[0] == surname)
- {
- AddFindedNumberDossier(i, ref findedDossiers);
- isFindedSurname = true;
- }
- }
- if (isFindedSurname)
- {
- Console.WriteLine($"Досье найдено:");
- for (int i = 0; i < findedDossiers.Length; i++)
- ShowSingleDossier(names, workPositions, findedDossiers[i]);
- }
- else
- {
- Console.WriteLine($"Досье по фамилии {surname} не найдено.");
- }
- }
- static void AddFindedNumberDossier(int number, ref int[] findedDossiers)
- {
- int[] templateNumbers = new int[findedDossiers.Length + 1];
- for (int i = 0; i < findedDossiers.Length; i++)
- {
- templateNumbers[i] = findedDossiers[i];
- }
- templateNumbers[templateNumbers.Length - 1] = number;
- findedDossiers = templateNumbers;
- }
- static void ShowAllDossiers(string[] names, string[] workPositions)
- {
- Console.Clear();
- for (int i = 0; i < names.Length; i++)
- {
- ShowSingleDossier(names, workPositions, i);
- }
- }
- static void ShowSingleDossier(string[] names, string[] workPositions, int numberDossier)
- {
- Console.WriteLine($"{numberDossier + 1}. {names[numberDossier]} - {workPositions[numberDossier]}");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement