Member 13473020 Ответов: 2

Может ли кто-нибудь сказать мне, что не так с тем, что я сделал, и что я должен изменить? Я новичок (с#)


В том, что я сделал ниже, все в порядке, но:
Приставка.WriteLine ("ты ребенок");
(и все другие подобные этому^) говорят, что после точки с запятой есть ошибка

namespace B13
{
    class Program
    {
        static void Main(string[] args)
        {
            int age = 1;
            while (age >= 50)

            {
                Console.WriteLine("Enter your age");


                age = Convert.ToInt32(Console.ReadLine());
                {

                    if (age > 29)
                    {
                        do


                            Console.WriteLine("You are old!");
                    }
                    else
                    {
                        if (age == 19)
                            while (age != 30)
                                do
                                    Console.WriteLine("You are getting old");




                     else
                        {
                            if (age == 13)
                                while (age != 19)
                                    do
                                        Console.WriteLine("You are a teenager");


                       else
                            {
                                if (age < 13)

                                    do
                                        Console.WriteLine("You are a child");
                    }
                            Console.WriteLine(age);
                            Console.ReadKey();


                        }
                    }
                }
            }
        }
    }
}


Что я уже пробовал:

Я попытался убрать точку с запятой, но не думаю, что это то, что я должен делать, я очень новичок в этом и очень смущен. Может ли кто-нибудь умоляюще помочь мне понять, что я сделал не так? Спасибо

2 Ответов

Рейтинг:
2

Patrice T

Что же все это должно быть while и do разбросаны повсюду?
Это не случайные утверждения!

Ваш код очень запутан, вы должны сказать нам, что должен делать ваш код.


Рейтинг:
1

aodennison

Следующее будет компилироваться, но код имеет семантические проблемы:
Если вы войдете в Возраст 19 или 13 лет, он будет петлять вечно. Входы 14,15,16,17,18 ничего не напечатают. Я не думаю, что вы хотите использовать while. Вероятно, вы хотите что-то вроде
если (возраст >=14 и возраст <= 19) консоль.WriteLine ("ты подросток");


using System;

namespace B13
{
    class Program
    {
        static void Main(string[] args)
        {
            int age = 1;
            while (age >= 50)

            {
                Console.WriteLine("Enter your age");

                age = Convert.ToInt32(Console.ReadLine());
                {
                    if (age > 29)
                    {
                        Console.WriteLine("You are old!");
                    }
                    else
                    {
                        if (age == 19) while (age != 30) Console.WriteLine("You are getting old");

                        else
                        {
                            if (age == 13) while (age != 19) Console.WriteLine("You are a teenager");

                            else
                            {
                                if (age < 13) Console.WriteLine("You are a child");
                            }
                            Console.WriteLine(age);
                            Console.ReadKey();
                        }
                    }
                }
            }
        }
    }
}