C # код выходит и повторно выполняется, когда он не должен - PullRequest
0 голосов
/ 28 августа 2018

Мой код работает по большей части, я пытался найти решение в Интернете, но изо всех сил пытался найти свою точную проблему. Вот код, в 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

Ожидаемый результат: либо «Вы слишком молоды», либо «наслаждайтесь фильмом», а затем код завершается
Что происходит: код завершается, а затем повторяется с самого начала. Если я для начала поставлю действительный номер фильма, он будет работать как положено. Любая помощь приветствуется

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

Я полагаю, что вы хотите видеть пут, поэтому вы можете использовать следующий код:

Console.ReadLine();

или

Console.ReadKey();

Чтобы поставить весь код. как правило, в цикле это не очень хорошая идея.

0 голосов
/ 28 августа 2018

После вашего окончательного Console.WriteLine (), добавьте Console.ReadLine () Пример:

Console.WriteLine("Enjoy the film");
Console.ReadLine();

Также, если вы не хотите, чтобы программа закрывалась после этого, я предлагаю поместить программу в цикл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...