Вывести строку «Мне N лет», обеспечив правильное согласование числа со словом «год» - C#

Узнай цену своей работы

Формулировка задачи:

Вывести строку «Мне N лет», обеспечив правильное согласование числа со словом «год», например: N = 20 - «Мне 20 лет», N = 41 - «Мне 41 год», N = 12 - «Мне 12 лет». Если пользователь введёт данные не соответствующие условию задачи - выдать сообщение об ошибке. можно ли использовать подобное?
static void Main(string[] args)
        {
            Console.Write("ввод возраста:");
            byte n = Convert.ToByte(Console.ReadLine());
            Console.Write("Мне {0} ", n);
            
            switch (n%10)
            {
                case 1 - 4 :
                    Console.Write("год");
                    break;
                case 5 - 9:
                    Console.Write("лет");
                    break;
 
            }
 
        }
и вывод ошибки лучше через try catch сделать?
да обязательно операторы выбора
ну так ближе
static void Main(string[] args)
        {
            Console.Write("ввод возраста:");
            byte n = Convert.ToByte(Console.ReadLine());
            Console.Write("Мне {0} ", n);
            int z = n % 10;
            switch (z)
            { case 1:
                    if (z>=5&&z<=9|z==0)
                    Console.Write(" лет");
                    break;
                case 2:
                    if (z >= 2 && z <= 4)
                        Console.Write(" года");
                    break;
                case 3:
                    if (z==1)
                        Console.Write(" год");
                    break;
            }
        }

Решение задачи: «Вывести строку «Мне N лет», обеспечив правильное согласование числа со словом «год»»

textual
Листинг программы
using System;
class test
{
    static void Main()
    {
        int n;
        int last;
        bool ok = false;
        do
        {
            Console.Write("Введите ваш возраст : ");
            if (Int32.TryParse(Console.ReadLine(), out n) && n >= 0) ok = true;
        }
        while (!ok);//проверка на правильность введенных данных
        Console.Write("Вам {0} ", n);
        if (n > 19 || n < 10) ok = false;
        switch(ok){
            case false:
            last = n % 10;
            if (last == 1) Console.Write("год");
            else if (last == 0 || last >= 5) Console.Write("лет");
            else Console.Write("года");
             break;
            default: Console.Write("лет");
             break;
    }
     Console.WriteLine();
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5
Похожие ответы