Всем привет) Вот задание. Клиент хочет, чтобы сотрудники вводили данные последовательно: сначала первый сотрудник введёт все свои данные, затем второй и, наконец, третий. Когда пользователь будет вводить данные, он может сделать ошибку и ввести, например, отрицательный рост или огромный балл по математике. Вам стоит предусмотреть этот момент. При возникновении ошибки пользователю наверняка захочется увидеть сообщение о ней, но никак не пустой экран. В принципе почти все но не могу запросить ввод и вывод данных для 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();
}