static void Main(string[] args) { Regex regex = new Regex(@"\w\w\b\b\b\b\b\b\b"); Console.WriteLine("Меню вывода данных" + "\n" + "1.Вывести всех посетителей..." + "\n" + "2.Вывести высляющихся..." + "\n" + "3.Добавить посетителя..." + "\n" + "4.Статус жильцов по номеру комнаты..." + "\n" + "5.ФИО и номер комнаты по паспортным данным..." + "\n" + "6.Изменить статус проживающего..." + "\n" + "7.Выход..."); int count = 3; int VAL = 100; person[] Clients = new person[VAL]; Clients[0] = new person(); Clients[1] = new person(3, "Robert Radriges", "A212", "AB7654321", (status)2, 2500); Clients[2] = new person(Clients[0]); string pattern = @"[A-Z]{2}[0-9]{7}"; int menu = 0; for (; ;) { try { menu = Convert.ToInt32(Console.ReadLine()); if (menu <= 0) { throw new Exception("Переменная меню не должна быть отрицательна или ровна нулю..."); } { switch (menu) { case 1: { Console.WriteLine(); Console.WriteLine("ВЫвод всех посетителей:"); for (int i = 0; i < count; i++) { Console.WriteLine("ID клиента:" + Clients[i].ID + "\n" + "ФИО клиента:" + Clients[i].name + "\n" + "Номер комнаты:" + Clients[i].room + "\n" + "Паспортные данные клиента:" + Clients[i].pasp + "\n" + "Статус клиента:" + Clients[i].state + "\n" + "Внесенная сумма:" + Clients[i].Sum); Console.WriteLine("***"); } break; } case 2: { Console.WriteLine(); Console.WriteLine("Вывод всех выселяющихся:"); Vis(Clients, count); break; } case 3: { Console.WriteLine(); Console.WriteLine("***Добавление посетителя***"); { Console.Write("Введите ID клиента:"); int ID = Convert.ToInt32(Console.ReadLine()); Console.Write("Введите ФИО клиента:"); string name = Console.ReadLine(); Console.Write("Введите номер комнаты клиента:"); string room = (Console.ReadLine()); Console.Write("Введите паспортные данные клиента:"); { string fpass = null; while (true) { string pass = Console.ReadLine(); if (pass.Length > 9) { Console.WriteLine("Вы ввели неверное колличество символов..."); } else { if (Regex.IsMatch(pass, pattern)) { fpass = pass; break; } else { Console.WriteLine("Некорректные паспортные данные, повторите попытку ввода..."); } } } Console.Write("Статус клиента(1-Новый,2-Постоянный,3-Выселяющийся)"); status state = (status)Convert.ToInt32(Console.ReadLine()); Console.Write("Внесенная сумма:"); decimal sum = Convert.ToDecimal(Console.ReadLine()); Clients[count] = new person(ID, name, room, fpass, state, sum); fpass = null; } count += 1; break; } } case 4: { Console.WriteLine(); Console.WriteLine("Статус жильцов по номеру комнаты..."); Console.Write("Введите номер комнаты:"); string room = (Console.ReadLine()); person person = new person(1, "name", room, "AA0000000", (status)3, 0); Rom(person.room, Clients, count); break; } case 5: { Console.WriteLine(); Console.WriteLine("Вывод ФИО и номера комнаты по паспортным данным..."); Console.Write("Введите паспортные данные:"); string str = ""; while (true) { string pass = Console.ReadLine(); if (pass.Length > 9) { Console.WriteLine("Вы ввели неверное колличество символов..."); } else { if (Regex.IsMatch(pass, pattern)) { str = pass; break; } else { Console.WriteLine("Некорректные паспортные данные, повторите попытку ввода..."); } } } person person = new person(1, "name", "000", str, (status)3, 0); pass(str, Clients, count); break; } case 6: { Console.WriteLine(); Console.WriteLine("Изменение статуса и смена оплаты..."); Console.Write("Введите паспортные данные:"); string str = ""; while (true) { string pass = Console.ReadLine(); if (pass.Length > 9) { Console.WriteLine("Вы ввели неверное колличество символов..."); } else { if (Regex.IsMatch(pass, pattern)) { str = pass; break; } else { Console.WriteLine("Некорректные паспортные данные, повторите попытку ввода..."); } } } // person person = new person(1, "name", "000", str, (status)3, 0); pass2(str, Clients, count); break; } case 7: { Environment.Exit(0); break; } default: { Console.Write("Введите номер пункта из списка сверху..."); break; } } } } catch (Exception ex) { Console.WriteLine("Ошибка:" + ex.Message); } } }