Мой код работает по большей части, я пытался найти решение в Интернете, но изо всех сил пытался найти свою точную проблему. Вот код, в C #:
static void Main(string[] args)
{
int maxFilm = 5;
int minFilm = 1;
Console.WriteLine("We are currently showing:");
Console.WriteLine("1. Rush");
Console.WriteLine("2. How I live now");
Console.WriteLine("3. Thor");
Console.WriteLine("4. Filth");
Console.WriteLine("5. Planes");
const int minAge1 = 15;
const int minAge2 = 12;
const int minAge3 = 18;
int filmNumber;
string filmNum;
int age;
string stringAge;
do
{
Console.WriteLine("Enter the number of the film you wish to see: ");
filmNum = Console.ReadLine();
filmNumber = Int32.Parse(filmNum);
if (filmNumber > maxFilm || filmNumber < minFilm)
{
Console.WriteLine("Invalid film number");
}
}
while (filmNumber > maxFilm || filmNumber < minFilm);
do
{
Console.WriteLine("Enter your age: ");
stringAge = Console.ReadLine();
age = Int32.Parse(stringAge);
if (age < 5 || age > 120)
{
Console.WriteLine("Invalid age");
}
} while (age < 5 || age > 120);
if (((filmNumber == 1 || filmNumber == 2) && age >= minAge1) || (filmNumber == 3 && age >= minAge2) || (filmNumber == 4 && age >= minAge3) || (filmNumber == 5))
{
Console.WriteLine("Enjoy the film");
}
else
{
Console.WriteLine("You are too young");
}
Введите:
Во-первых, неверный номер фильма
Во-вторых, действительный номер фильма
В-третьих, возраст 5-120
Ожидаемый результат: либо «Вы слишком молоды», либо «наслаждайтесь фильмом», а затем код завершается
Что происходит: код завершается, а затем повторяется с самого начала.
Если я для начала поставлю действительный номер фильма, он будет работать как положено. Любая помощь приветствуется