예제 #1
0
        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); }
            }
        }