Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Ex4._1
- {
- class Program
- {
- static void Main(string[] args)
- {
- string[] name = new string[3] { "Агатов Агатий Агатович", "Иванов Иван Иванович", "Аноним Лидия Петровна" };
- string[] position = new string[3] { "Сантехник", "Глашатай", "Кассир" };
- bool work = true;
- while (work)
- {
- Console.Clear();
- Console.WriteLine("\n 1 - добавить досье;" +
- "\n 2 - вывести все досье;" +
- "\n 3 - удалить досье;" +
- "\n 4 - выход;" +
- "\n 5 - поиск по фамилии;");
- switch (Convert.ToInt32(Console.ReadLine()))
- {
- case 1:
- AddMan(ref name, ref position);
- break;
- case 2:
- PrintAllMan(name, position);
- break;
- case 3:
- DeleteMan(ref name, ref position);
- break;
- case 4:
- work = false;
- break;
- case 5:
- Found(name, position);
- break;
- }
- }
- }
- static void Found(string[]name,string[] position)
- {
- Console.Write("Введите фамилию: ");
- string foundName = Console.ReadLine();
- int foundindex = FoundMan(name, foundName);
- if(foundindex!=-1)
- {
- Console.WriteLine("Найдено: ");
- PrintMan(name, position, foundindex);
- }
- else
- Console.WriteLine("Досье с такой фамилией не найдено!");
- Console.WriteLine("Нажмите любую клавишу, для продолжения:");
- Console.ReadKey();
- }
- /// <summary>
- /// Поиск досье по фамилии
- /// </summary>
- /// <param name="name">The name.</param>
- /// <param name="position">The position.</param>
- /// <param name="found">The found.</param>
- /// <returns></returns>
- static int FoundMan(string[] name, string found)
- {
- for (int i = 0; i < name.Length; i++)
- if (found.CompareTo(name[i].Split(' ')[0]) == 0)
- return i;
- return -1;
- }
- /// <summary>
- /// Функция добавления досье
- /// </summary>
- /// <param name="name">ФИО</param>
- /// <param name="position">Должность</param>
- static void AddMan(ref string[] name, ref string[] position)
- {
- string[] temp1 = name;
- name = new string[temp1.Length + 1];
- string[] temp2 = position;
- position = new string[temp2.Length + 1];
- for (int i = 0; i < temp1.Length; i++)
- {
- name[i] = temp1[i];
- position[i] = temp2[i];
- }
- Console.Write("Введите Фамилию: ");
- string newName = Console.ReadLine() + " ";
- Console.Write("Введите Имя: ");
- newName += Console.ReadLine() + " ";
- Console.Write("Введите Отчество: ");
- newName += Console.ReadLine() + " ";
- name[name.Length - 1] = newName;
- Console.Write("Введите должность: ");
- position[position.Length - 1] = Console.ReadLine();
- }
- /// <summary>
- /// Функция выбора номера досье, которое надо удалить
- /// </summary>
- /// <param name="name"></param>
- /// <param name="position"></param>
- static void DeleteMan(ref string[] name, ref string[] position)
- {
- int index;
- Console.WriteLine($"Введите номер досье, которое надо удалить. Всего досье: {name.Length}");
- do
- {
- index = Convert.ToInt32(Console.ReadLine());
- } while (index < 1 || index > name.Length);
- DeleteMan(ref name, ref position, index);
- }
- /// <summary>
- /// Функция удаления досье под номером <paramref name="indexDelete"/>
- /// </summary>
- /// <param name="name">ФИО</param>
- /// <param name="position">должность</param>
- /// <param name="indexDelete">Номер должности, что надо удалить</param>
- static void DeleteMan(ref string[] name, ref string[] position, int indexDelete)
- {
- string[] temp1 = name;
- name = new string[temp1.Length - 1];
- string[] temp2 = position;
- position = new string[temp2.Length - 1];
- int temp = 0;
- for (int i = 0; i < temp1.Length; i++)
- {
- if (i != indexDelete - 1)
- {
- name[temp] = temp1[i];
- position[temp] = temp2[i];
- temp++;
- }
- }
- }
- /// <summary>
- /// Вывод дасье человека по номеру <paramref name="index"/>
- /// </summary>
- /// <param name="name">The name.</param>
- /// <param name="position">The position.</param>
- /// <param name="index">The index.</param>
- static void PrintMan(string[] name, string[] position, int index)
- {
- Console.WriteLine($"{(index + 1)} - {name[index]} - {position[index]}");
- }
- /// <summary>
- /// Выводит на печать все досье
- /// </summary>
- /// <param name="name">ФИО</param>
- /// <param name="position">должность</param>
- static void PrintAllMan(string[] name, string[] position)
- {
- for (int i = 0; i < name.Length; i++)
- {
- PrintMan(name, position, i);
- }
- Console.WriteLine("Нажмите любую клавишу, для продолжения:");
- Console.ReadKey();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement