static int Main(string[] args) { try { int countStudent = 0; if (!CheckAndInput.InputData(ref countStudent, "Введите количество студентов: ", 1)) { throw new Exception("Ошибка! Неправильный ввод количества студентов!"); } Student[] student = new Student[countStudent]; for (int i = 0; i < countStudent; i++) { Console.Clear(); Console.WriteLine("Ввод данных о " + (i + 1) + " студенте:"); Console.Write("\nВведите фамилию: "); string tmpLastName = Console.ReadLine(); Console.Write("Введите номер группы: "); string tmpGroupNumber = Console.ReadLine(); int countGrade = 0; if (!CheckAndInput.InputData(ref countGrade, "Введите количество оценок: ", 1)) { throw new Exception("Ошибка! Неправильный ввод количества оценок!"); } student[i] = new Student(countGrade) { LastName = tmpLastName, GroupNumber = tmpGroupNumber }; Console.WriteLine("Введите оценки: "); for (int j = 0; j < countGrade; j++) { if (!CheckAndInput.InputData(ref student[i].Grade[j], "Оценка " + (j + 1) + ": ", 1, 10)) { throw new Exception("Ошибка! Неправильный ввод " + (j + 1) + " оценки " + (i + 1) + " студента!"); } } } StudentCollection studentCollection = new StudentCollection("", student); while (true) { Console.Clear(); Console.WriteLine("1 - Вывод списка всех студентов с указанием среднего балла каждого студента в порядке возрастания среднего балла"); Console.WriteLine("2 - Определение количества студентов, получивших больше двух оценок 10 в массиве"); Console.WriteLine("3 - Вывод списка двоечников"); Console.WriteLine("0 - выход"); Console.Write("Ваш выбор: "); int menu = 0; if (!CheckAndInput.InputData(ref menu, "", 0, 3)) { throw new Exception("Ошибка! Неправильный ввод номера пункта меню!"); } switch (menu) { case 1: // 1 - Вывод списка всех студентов с указанием среднего балла каждого студента в порядке возрастания среднего балла Console.Clear(); studentCollection.ShowByGrowingAverageGrade(); Console.ReadKey(); break; case 2: // 2 - Определение количества студентов, получивших больше двух оценок 10 в массиве Console.Clear(); Console.WriteLine("Количество студентов, получивших больше двух оценок 10 = " + studentCollection.CountGetGrade()); Console.ReadKey(); break; case 3: // 3 - Вывод списка двоечников Console.Clear(); studentCollection.ShowStudentsByAcademicAchievement(); Console.ReadKey(); break; case 0: return(0); } } } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine("Выход из программы"); Console.ReadKey(); return(0); } }
static int Main(string[] args) { try { int balance = 1000; // баланс игрока int bet = 0; // размер ставки игрока int betNumberCar = 0; // номер машины на которую поставил игрок while (balance > 0) { Console.Clear(); int countCar = 0; if (!CheckAndInput.InputData(ref countCar, "Введите количество автомобилей: ", 2, 7)) { throw new Exception("Ошибка! Неправильный ввод количества автомобилей!"); } if (countCar > 5) { Console.SetWindowSize(120, 35); } else { Console.SetWindowSize(120, 30); } Car[] car = new Car[countCar]; Random random = new Random(); // инициализируем машины со случайным неодинаковым цветом for (int i = 0, rand = 0; i < countCar; i++) { if (i != 0) { rand = random.Next(1, 13); for (int j = i - 1; j >= 0; j--) { if (rand == car[j].Color) { rand = random.Next(1, 13); j = i; } } car[i] = new Car(i + 1, rand); } else { car[i] = new Car(i + 1, random.Next(1, 13)); } } bool releaseBet = false; // флаг сделаны ли ставки bool releaseGame = false; // флаг сыграна ли игра int winCarNumber = 0; // номер победившей машины while (!releaseBet || !releaseGame) { Console.Clear(); Console.WriteLine("Баланс игрока: " + balance + "\t\tКоличество автомобилей участвующих в гонке: " + countCar); Console.WriteLine("\n1 - сделать ставку"); Console.WriteLine("2 - начать новую гонку"); Console.WriteLine("0 - выход"); Console.Write("Ваш выбор: "); int menu = 0; if (!CheckAndInput.InputData(ref menu, "", 0, 2)) { throw new Exception("Ошибка! Неправильный ввод номера пункта меню!"); } switch (menu) { case 1: // 1 - сделать ставку if (!releaseBet) { Console.Clear(); if (!CheckAndInput.InputData(ref bet, "Введите размер ставки: ", 1, balance)) { throw new Exception("Ошибка! Неправильный ввод ставки!"); } if (!CheckAndInput.InputData(ref betNumberCar, "Введите номер машины: ", 1, countCar)) { throw new Exception("Ошибка! Неправильный ввод номера машины!"); } releaseBet = true; } else { Console.WriteLine("\nСтавки уже сделаны."); Console.ReadKey(); } break; case 2: // 2 - начать новую гонку // показываем машины if (releaseBet) { Console.Clear(); Random randomX = new Random(); int xMax = 0; int loose = 0; int finish = Console.WindowWidth - 7; for (int i = 0; i < countCar; i++) { car[i].Y = 3 + i * 4; } try { while (xMax + 7 < finish) { for (int j = 0; j < countCar; j++) { Console.Clear(); Console.WriteLine("Ставка игрока: " + bet + "\t\tAвтомобилей в гонке: " + (countCar - loose)); Console.WriteLine("Номер машины игрока: " + betNumberCar); Console.WriteLine(); for (int i = 0; i < countCar; i++) { CarCollection.Show(car[i]); } if (car[j].Status) { int move = randomX.Next(0, 2); car[j].X += move; car[j].GenerationBreak(finish, move); if (!car[j].Status) { loose++; } Console.WriteLine(); if (xMax < car[j].X + 7) { xMax = car[j].X; if (xMax >= finish) { winCarNumber = j + 1; break; } } } System.Threading.Thread.Sleep(35); if (j == countCar - 1 && loose == countCar) { Console.Clear(); Console.WriteLine("Ставка игрока: " + bet + "\t\tAвтомобилей в гонке: " + (countCar - loose)); Console.WriteLine("Номер машины игрока: " + betNumberCar); Console.WriteLine(); for (int i = 0; i < countCar; i++) { CarCollection.Show(car[i]); } throw new Exception("Все машины сломались!"); } if (j == countCar - 1) { j = -1; } } } } catch (Exception ex) { Console.WriteLine(ex.Message); } releaseGame = true; if (winCarNumber != 0) { Console.WriteLine("Победила машина №" + winCarNumber); } if (winCarNumber == betNumberCar) { Console.WriteLine("Вы выиграли"); balance += bet; } else { Console.WriteLine("Вы проиграли"); balance -= bet; } } else { Console.WriteLine("\nПожалуйста сделайте вашу ставку"); } Console.ReadKey(); break; case 0: return(0); } } } if (balance <= 0) { throw new Exception("Вы проиграли все деньги!"); } return(0); } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine("Выход из программы"); Console.ReadKey(); return(0); } }