Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ZastiX07/db922c1b5e3855eef33ee8380c6234e1 to your computer and use it in GitHub Desktop.
Save ZastiX07/db922c1b5e3855eef33ee8380c6234e1 to your computer and use it in GitHub Desktop.
using System;
namespace _My_New_Home_Work_
{
internal class Program
{
static void Main(string[] args)
{
bool isWork = true;
const string CommandAddDossier = "1";
const string CommandOutputDossier = "2";
const string CommandDeleteDossiers = "3";
const string CommandLastNameSearch = "4";
const string CommandExit = "5";
string[] workers = new string[0];
string[] posts = new string[0];
while (isWork)
{
Console.WriteLine("1-Добавьте досье\n2-Вывести все досье\n3-Удалить досье\n4-Поиск по фамилии\n5-Выход");
string userInput = Console.ReadLine();
switch (userInput)
{
case CommandAddDossier:
AddDossier(ref workers,ref posts);
break;
case CommandOutputDossier:
ShowDossiers(workers,posts);
break;
case CommandDeleteDossiers:
ShowDossiers(workers, posts);
DeleteDossier(ref workers, ref posts);
break;
case CommandLastNameSearch:
FindLastName(workers, posts);
break;
case CommandExit:
isWork = false;
break;
}
Console.ReadKey();
Console.Clear();
}
}
static void AddDossier(ref string[] workers, ref string[] posts)
{
Console.WriteLine("Введите ФИО работника: ");
string userInput1 = Console.ReadLine();
Console.WriteLine("Введите должность: ");
string userInput2 = Console.ReadLine();
ExpandArray(ref workers, userInput1);
ExpandArray(ref posts, userInput2);
Console.WriteLine($"{workers[workers.Length - 1]} {posts[posts.Length - 1]}");
}
static void ShowDossiers(string[] workers,string[] posts)
{
for (int i = 0; i < workers.Length; i++)
{
Console.WriteLine($"{i + 1}) {workers[i]} {posts[i]}");
}
}
static void DeleteDossier(ref string[] workers, ref string[] posts)
{
Console.WriteLine("\nВведите порядковый номер для удаления: ");
int userNumber = int.Parse(Console.ReadLine()) - 1;
workers = DeleteElementArray(workers, userNumber);
posts = DeleteElementArray(posts, userNumber);
}
static void FindLastName(string[] workers, string[] posts)
{
Console.Write("Введите фамилию: ");
string userInput = Console.ReadLine();
for (int i = 0; i < workers.Length; i++)
{
string[] splitText = workers[i].Split();
if (userInput == splitText[0])
{
Console.WriteLine($"{workers[i]} {posts[i]}");
}
}
}
static void ExpandArray(ref string[] array,string userInput)
{
string[] tempArray = new string[array.Length + 1];
for (int i = 0; i < array.Length; i++)
{
tempArray[i] = array[i];
}
tempArray[tempArray.Length - 1] = userInput;
array = tempArray;
}
static string[] DeleteElementArray(string[] workers,int userNumber)
{
string[] tempArray = new string[workers.Length - 1];
for (int i = 0; i < userNumber; i++)
tempArray[i] = workers[i];
for (int i = userNumber + 1; i < workers.Length; i++)
tempArray[i - 1] = workers[i];
return tempArray;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment