Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Homework36
- {
- class Program
- {
- static void Main()
- {
- const string CommandUseAddDossier = "1";
- const string CommandUseDeleteDossier = "2";
- const string CommandUsePrintAllDossiers = "3";
- const string CommandUseExit = "4";
- string userInput;
- bool isOpen = true;
- Dictionary<string, List<string>> dossiers = new Dictionary<string, List<string>>();
- while (isOpen)
- {
- Console.WriteLine($"{CommandUseAddDossier} - Добавить досье сотрудника.\n{CommandUseDeleteDossier} - Удалить досье сотрудника.\n{CommandUsePrintAllDossiers} - Вывести досье всех сотрудников.\n{CommandUseExit} - Выйти из программы.\n");
- Console.Write("Выберите операцию: ");
- userInput = Console.ReadLine();
- Console.Clear();
- switch (userInput)
- {
- case CommandUseAddDossier:
- AddEmployeeDossier(dossiers);
- break;
- case CommandUseDeleteDossier:
- DeleteEmployeeDossier(dossiers);
- break;
- case CommandUsePrintAllDossiers:
- PrintAllDossiers(dossiers);
- break;
- case CommandUseExit:
- isOpen = false;
- break;
- default:
- Console.Write("Неизвестная команда. Нажмите любую клавишу для продолжения...");
- break;
- }
- Console.ReadKey();
- Console.Clear();
- }
- }
- static void AddEmployeeDossier(Dictionary<string, List<string>> dossiers)
- {
- Console.Write("Введите полное имя сотрудника: ");
- string fullName = Console.ReadLine();
- Console.Write("Введите должность сотрудника: ");
- string position = Console.ReadLine();
- if (dossiers.ContainsKey(position) == false)
- {
- dossiers[position] = new List<string>();
- }
- dossiers[position].Add(fullName);
- }
- static void DeleteEmployeeDossier(Dictionary<string, List<string>> dossiers)
- {
- PrintAllDossiers(dossiers);
- Console.Write("\nВведите должность сотрудника, досье которого хотите удалить: ");
- string position = Console.ReadLine();
- Console.Write("Введите номер сотрудника, досье которого хотите удалить: ");
- int employeeIndex = GetEmployeesNumber() - 1;
- if (dossiers.ContainsKey(position))
- {
- List<string> employees = dossiers[position];
- if (employeeIndex >= 0 && employeeIndex < employees.Count)
- {
- employees.RemoveAt(employeeIndex);
- if (employees.Count == 0)
- {
- dossiers.Remove(position);
- Console.WriteLine("\nДолжность удалена.");
- }
- Console.WriteLine("Сотрудник удалён.");
- }
- else
- {
- Console.WriteLine("Сотрудник не найден.");
- }
- }
- else
- {
- Console.WriteLine("Должность не найдена.");
- }
- }
- static void PrintAllDossiers(Dictionary<string, List<string>> dossiers)
- {
- foreach (var position in dossiers)
- {
- Console.Write($"\nДолжность: {position.Key}.\n");
- Console.Write($"Сотрудники должности '{position.Key}':\n\n");
- for (int i = 0; i < position.Value.Count; i++)
- {
- Console.WriteLine($"{i + 1} - {position.Value[i]}");
- }
- }
- }
- static int GetEmployeesNumber()
- {
- int userNumber;
- while (!int.TryParse(Console.ReadLine(), out userNumber))
- {
- Console.Write("Неверный формат введенных данных. Введите целое число: ");
- }
- return userNumber;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement