0

Всем привет) Вот задание. Клиент хочет, чтобы сотрудники вводили данные последовательно: сначала первый сотрудник введёт все свои данные, затем второй и, наконец, третий. Когда пользователь будет вводить данные, он может сделать ошибку и ввести, например, отрицательный рост или огромный балл по математике. Вам стоит предусмотреть этот момент. При возникновении ошибки пользователю наверняка захочется увидеть сообщение о ней, но никак не пустой экран. В принципе почти все но не могу запросить ввод и вывод данных для 3х человек, не пойму как. Заранее спасибо)

    static void Main(string[] args)
    {
        while (true)
        {
            Console.Clear();
            // объявление переменных
            String Name;
            float His, Mathem, RL;
            byte Growth, Age;
            double Mean;
        // ввод в консоли
        Console.WriteLine("Ввод данных пользователя");


        try
        {


            // ввод в консоли вручную
            Console.Write("Введите имя - "); Name = Console.ReadLine();

            Console.Write("Введите возраст - "); Age = byte.Parse(Console.ReadLine());

            Console.Write("Введите рост - "); Growth = byte.Parse(Console.ReadLine());



            Console.Write("\n\nВведите баллы \n");

            Console.Write("История - "); His = float.Parse(Console.ReadLine());
            while (His >= 6 | 0 >= His)
            {

                Console.WriteLine("Вы ввели не правильное значение,\nданные будут не корректны!");
                break;
            }
            Console.Write("Математика - "); Mathem = float.Parse(Console.ReadLine());
            while (Mathem >= 6 | 0 >= Mathem)
            {
                Console.WriteLine("Вы ввели не правильное значение,\n данные будут не корректны!");
                break;
            }
            Console.Write("Русский язык - "); RL = float.Parse(Console.ReadLine());
            while (RL >= 6 | 0 >= RL)
            {
                Console.WriteLine("Вы ввели не правильное значение,\n данные будут не корректны!");
                break;
            }

        }
        catch (Exception)
        {
            Console.WriteLine("Ошибка ввода!");
            Console.ReadLine();
            continue;
        }

        Mean = (His + Mathem + RL) / 3;

        //Создаём переменную с текстом, разбитым на строки с помощью \n
        string Text = "Записная книжка \n Ученик:" + Name + $" {Age} года, рост {Growth}, средний бал: " + Mean.ToString("#.##");

        //Разбиваем текст на массив строк
        string[] lines = Regex.Split(Text, "\r\n|\r|\n");

        //Отступ слева будет определяться для каждой строки отдельно
        int left = 0;
        //Определяем отступ сверху для первой строки
        int top = (Console.WindowHeight / 2) - (lines.Length / 2) - 1;

        //Находим центр консоли
        int center = Console.WindowWidth / 2;

        for (int j = 0; j < lines.Length; j++)
        {
            //Определяем отступ для текущей строки
            left = center - (lines[j].Length / 2);

            //Меняем положение курсора
            Console.SetCursorPosition(left, top);
            //Выводим строку
            Console.WriteLine(lines[j]);

            top = Console.CursorTop;
        }

        Console.ReadLine();
    }

Morty
  • 1
  • 2

0 Answers0