Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace personal_accounting
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- const string AddNewDossierCommand = "add dossier";
- const string OutputDossierCommand = "output all dossier";
- const string FindLastNameCommand = "find";
- const string DeleteDossierCommand = "delete";
- const string ExitCommand = "exit";
- bool isWorking = true;
- string[] fullNames = new string[0];
- string[] jobTitles = new string[0];
- while (isWorking)
- {
- Console.WriteLine($"База данных:" +
- $"\nДля добавления досье введите - {AddNewDossierCommand}." +
- $"\nДля вывода всей базы введите - {OutputDossierCommand}." +
- $"\nДля удаления досье введите - {DeleteDossierCommand}." +
- $"\nДля поиска по фамилии введите - {FindLastNameCommand}." +
- $"\nДля выхода введите - {ExitCommand}.");
- string? userInput = Console.ReadLine();
- switch (userInput)
- {
- case AddNewDossierCommand:
- AddDossier(ref fullNames, ref jobTitles);
- break;
- case OutputDossierCommand:
- OutputAllDossier(fullNames, jobTitles);
- break;
- case DeleteDossierCommand:
- DeleteDossier(ref fullNames, ref jobTitles);
- break;
- case FindLastNameCommand:
- FindLastName(fullNames, jobTitles);
- break;
- case ExitCommand:
- isWorking = false;
- break;
- default:
- DisplayUncorrectMessage();
- break;
- }
- Console.Clear();
- }
- }
- static string[] AddData(string[] array, string data)
- {
- string[] tempArray = new string[array.Length + 1];
- for (int i = 0; i < array.Length; i++)
- {
- tempArray[i] = array[i];
- }
- Console.Write($"Введите {data}: ");
- string? name = Console.ReadLine();
- tempArray[array.Length] = name;
- array = tempArray;
- return array;
- }
- static void AddDossier(ref string[] fullNames, ref string[] jobTitles)
- {
- string fullName = "ФИО";
- string jobTitle = "должность";
- fullNames = AddData(fullNames, fullName);
- jobTitles = AddData(jobTitles, jobTitle);
- }
- static void OutputAllDossier(string[] fullNames, string[] jobTitles)
- {
- if (fullNames.Length == 0)
- {
- Console.WriteLine("Массив пуст.");
- Console.ReadKey();
- }
- else
- {
- for (int i = 0; i < fullNames.Length - 1; i++)
- {
- int serialNumber = i + 1;
- Console.Write($"{serialNumber} {fullNames[i]} {jobTitles[i]} - ");
- }
- Console.Write($"{fullNames.Length} {fullNames[fullNames.Length - 1]} {jobTitles[jobTitles.Length - 1]}.");
- Console.ReadKey();
- }
- }
- static string[] DeleteData(string[] array, int index)
- {
- string[] tempArray = new string[array.Length - 1];
- for (int i = 0; i < index; i++)
- {
- tempArray[i] = array[i];
- }
- for (int i = index + 1; i < array.Length; i++)
- {
- tempArray[i - 1] = array[i];
- }
- array = tempArray;
- return array;
- }
- static int TryGetNumber()
- {
- bool isWorking = true;
- int number = 0;
- bool isNumber = int.TryParse(Console.ReadLine(), out int result);
- if (isNumber)
- {
- number = result - 1;
- isWorking = false;
- }
- else
- {
- Console.WriteLine("Необходимо ввести число.");
- Console.ReadKey();
- }
- return number;
- }
- static void DeleteDossier(ref string[] fullNames, ref string[] jobTitles)
- {
- Console.Write("Введите номер досье, которое хотите удалить: ");
- int number = TryGetNumber();
- if (number > fullNames.Length || number < 0)
- {
- Console.WriteLine("Число вышло за пределы массива.");
- Console.ReadKey();
- }
- else if (fullNames.Length == 0)
- {
- Console.WriteLine("Массив пуст.");
- Console.ReadKey();
- }
- else
- {
- fullNames = DeleteData(fullNames, number);
- jobTitles = DeleteData(jobTitles, number);
- }
- }
- static void FindLastName(string[] fullNames, string[] jobTitles)
- {
- if (fullNames.Length == 0)
- {
- Console.WriteLine("Массив пуст.");
- Console.ReadKey();
- return;
- }
- Console.Write("Введите фамилию: ");
- string? lastName = Console.ReadLine();
- for (int i = 0; i < fullNames.Length; i++)
- {
- int serialNumber = i + 1;
- if (fullNames[i].Split()[0] == lastName)
- {
- Console.WriteLine($"{serialNumber} {fullNames[i]} {jobTitles[i]}");
- Console.ReadKey();
- return;
- }
- }
- Console.WriteLine($"Досье с фамилией {lastName} не найдено.");
- Console.ReadKey();
- }
- static void DisplayUncorrectMessage()
- {
- Console.WriteLine("Введена некорректная команда. Попробуйте еще раз.");
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement