Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Security.Cryptography;
- using System.Text;
- using System.Threading.Tasks;
- namespace FunctionsTask4Employes
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- const string CommandAddEmploye = "1";
- const string CommandPrintAllEmploye = "2";
- const string CommandDeleteEmploye = "3";
- const string CommandPrintEmployesBySurname = "4";
- const string CommandExit = "5";
- string[] names = new string[0];
- string[] positions = new string[0];
- string inputCommand = "";
- bool isWirking = true;
- while(isWirking)
- {
- Console.Clear();
- Console.WriteLine($"Сейчас в базе {names.Length} досье");
- Console.WriteLine($"{CommandAddEmploye} - добавить нового сотрудника");
- Console.WriteLine($"{CommandPrintAllEmploye} - распечатать все досье");
- Console.WriteLine($"{CommandDeleteEmploye} - удалить сотрудника");
- Console.WriteLine($"{CommandPrintEmployesBySurname} - показ всех с данной фамилией");
- Console.WriteLine($"{CommandExit} - выход");
- Console.Write("Введите команду: ");
- inputCommand = Console.ReadLine();
- switch (inputCommand)
- {
- case CommandAddEmploye:
- AddEmploye(ref names, ref positions);
- break;
- case CommandPrintAllEmploye:
- PrintAllEmployes(names, positions);
- break;
- case CommandDeleteEmploye:
- DeleteEmploye(ref names, ref positions);
- break;
- case CommandPrintEmployesBySurname:
- FindAndPrintEmployesBySurname(names, positions);
- break;
- case CommandExit:
- isWirking = false;
- break;
- default:
- Console.WriteLine("Неизвестная команда");
- break;
- }
- Console.ReadKey();
- }
- }
- private static void FindAndPrintEmployesBySurname(string[] names, string[] positions)
- {
- if (isEmpty(names) == true)
- {
- return;
- }
- Console.Write("Введите фамилию для поиска: ");
- string surname = Console.ReadLine();
- int number = 1;
- for (int i = 0; i < names.Length; i++)
- {
- if (names[i].Split(' ')[0].Equals(surname))
- {
- PrintEmploye(number++, names[i], positions[i]);
- }
- }
- if(number == 1)
- {
- Console.WriteLine("Нет сотрудников с такой фамилией");
- }
- }
- private static void DeleteEmploye(ref string[] names, ref string[] positions)
- {
- if (isEmpty(names) == true)
- {
- return;
- }
- PrintAllEmployes(names, positions);
- Console.Write("Введите номер сотрудника, которого хотите удалить: ");
- int index = ReadInt() - 1;
- if(index < 0 || index >= names.Length)
- {
- Console.WriteLine("Сотрудника с таким номером не существует в базе");
- }
- else
- {
- names = DeleteElementFromArray(index, names);
- positions = DeleteElementFromArray(index, positions);
- Console.WriteLine("Сотрудник удален из базы");
- }
- }
- private static int ReadInt()
- {
- int inputNumber;
- while (int.TryParse(Console.ReadLine(), out inputNumber) == false)
- {
- Console.Write("Это не число, попробуйте еще раз: ");
- }
- return inputNumber;
- }
- private static void AddEmploye(ref string[] names, ref string[] positions)
- {
- string name = "";
- string position;
- Console.WriteLine("Введите фамилию нового сотрудника: ");
- name += Console.ReadLine() + " ";
- Console.WriteLine("Введите имя нового сотрудника: ");
- name += Console.ReadLine() + " ";
- Console.WriteLine("Введите отчество нового сотрудника: ");
- name += Console.ReadLine();
- Console.WriteLine("Введите должность нового сотрудника: ");
- position = Console.ReadLine();
- names = AddElementToArray(name, names);
- positions = AddElementToArray(position, positions);
- }
- private static string[] DeleteElementFromArray(int index, string[] array)
- {
- string[] temporaryArray = new string[array.Length - 1];
- for (int i = 0; i < index; i++)
- {
- temporaryArray[i] = array[i];
- }
- for (int i = index + 1; i < array.Length; i++)
- {
- temporaryArray[i - 1] = array[i];
- }
- return temporaryArray;
- }
- private static void PrintAllEmployes(string[] names, string[] positions)
- {
- if (isEmpty(names) == true)
- {
- return;
- }
- for (int i = 0; i < names.Length; i++)
- {
- PrintEmploye(i + 1, names[i], positions[i]);
- }
- }
- private static void PrintEmploye(int number, string name, string position)
- {
- Console.WriteLine($"{number} {name} - {position}");
- }
- private static bool isEmpty(string[] names)
- {
- if (names.Length == 0)
- {
- Console.WriteLine("В базе нет сотрудников");
- return true;
- }
- return false;
- }
- private static string[] AddElementToArray(string element, string[] array)
- {
- string[] temporaryArray = new string[array.Length + 1];
- for (int i = 0; i < array.Length; i++)
- {
- temporaryArray[i] = array[i];
- }
- temporaryArray[array.Length] = element;
- return temporaryArray;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement