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.Text;
- using System.Threading.Tasks;
- namespace Personnel_Accounting_Var3
- {
- class Program
- {
- static void Main(string[] args)
- {
- bool isOpen = true;
- bool nameWorkerIsFind = false;
- string nameWorkerInput;
- string[] arrayName = new string[0];
- string[] arrayPosition = new string[0];
- int findIndexForDelete = 0;
- while (isOpen)
- {
- Console.WriteLine("\nВы вошли в базу данных сотрудников.");
- Console.WriteLine("1- Добавить досье.\n" +
- "2- Вывести все досье.\n" +
- "3- Удалить досье.\n" +
- "4- Поиск по имени\n" +
- "5 - Выход.\n");
- Console.Write("Введите номер пункта меню: ");
- switch (Convert.ToInt32(Console.ReadLine()))
- {
- case 1:
- Console.WriteLine("Создание досье.");
- Console.WriteLine("Введите имя сотрудника: ");
- CreateDossier(ref arrayName);
- Console.WriteLine("Введите его должность: ");
- CreateDossier(ref arrayPosition);
- break;
- case 2:
- Console.WriteLine("Все досье: ");
- AllDossierToString(ref arrayName, ref arrayPosition);
- break;
- case 3:
- Console.WriteLine("Напишите имя человека, чтобы удалить его досье: ");
- nameWorkerInput = Console.ReadLine();
- FindIndexNameForDelete(ref arrayName, nameWorkerInput, ref findIndexForDelete, ref nameWorkerIsFind);
- if (nameWorkerIsFind == true)
- {
- DeleteDossier(ref arrayName, findIndexForDelete);
- DeleteDossier(ref arrayPosition, findIndexForDelete);
- }
- nameWorkerIsFind = false;
- break;
- case 4:
- Console.Write("Введите имя сотрудника, которого вы желаете найти: ");
- nameWorkerInput = Console.ReadLine();
- FindWorkerUseName(nameWorkerInput, ref arrayName, ref arrayPosition, ref nameWorkerIsFind);
- break;
- case 5:
- isOpen = false;
- break;
- }
- Console.ReadKey();
- Console.Clear();
- }
- }
- static void CreateDossier(ref string[] array)
- {
- string[] tempArr = new string[array.Length + 1];
- for (int i = 0; i < array.Length; i++)
- {
- tempArr[i] = array[i];
- }
- tempArr[tempArr.Length - 1] = Console.ReadLine();
- array = tempArr;
- }
- static void AllDossierToString(ref string[] ArrayName, ref string[] ArrayPosition)
- {
- for (int i = 0; i < ArrayName.Length; i++)
- {
- Console.Write((i + 1).ToString() + ")" + ArrayName[i] + "-" + ArrayPosition[i] + " ");
- }
- }
- static void FindIndexNameForDelete(ref string[] arrayName, string nameWorkerInput, ref int findIndexForDelete, ref bool nameWorkerIsFind)
- {
- for (int i = 0; i < arrayName.Length; i++)
- {
- if(nameWorkerInput.ToLower() == arrayName[i].ToLower())
- {
- findIndexForDelete = i;
- nameWorkerIsFind = true;
- break;
- }
- }
- if (nameWorkerIsFind == false)
- {
- Console.WriteLine("Такого сотрудника нет.");
- }
- }
- static void DeleteDossier(ref string[] array, int findIndexForDelete)
- {
- string tmpStr = array[findIndexForDelete];
- array[findIndexForDelete] = array[array.Length - 1];
- array[array.Length - 1] = tmpStr;
- string[] tempArray = new string[array.Length - 1];
- for (int i = 0; i < tempArray.Length; i++)
- {
- tempArray[i] = array[i];
- }
- array = tempArray;
- }
- static void FindWorkerUseName(string nameWorkerInput, ref string[] arrayName, ref string[] arrayPosition, ref bool nameWorkerIsFind)
- {
- for (int i = 0; i < arrayName.Length; i++)
- {
- if (nameWorkerInput.ToLower() == arrayName[i].ToLower())
- {
- Console.WriteLine($"Досье на {nameWorkerInput}: {arrayName[i]}-{arrayPosition[i]}");
- nameWorkerIsFind = true;
- break;
- }
- }
- if (nameWorkerIsFind == false)
- {
- Console.WriteLine("Такого сотрудника нет.");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement