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

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

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

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

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

textual
Листинг программы
  1. using System;
  2. class test
  3. {
  4.     static void Main()
  5.     {
  6.         int n;
  7.         int last;
  8.         bool ok = false;
  9.         do
  10.         {
  11.             Console.Write("Введите ваш возраст : ");
  12.             if (Int32.TryParse(Console.ReadLine(), out n) && n >= 0) ok = true;
  13.         }
  14.         while (!ok);//проверка на правильность введенных данных
  15.         Console.Write("Вам {0} ", n);
  16.         if (n > 19 || n < 10) ok = false;
  17.         switch(ok){
  18.             case false:
  19.             last = n % 10;
  20.             if (last == 1) Console.Write("год");
  21.             else if (last == 0 || last >= 5) Console.Write("лет");
  22.             else Console.Write("года");
  23.              break;
  24.             default: Console.Write("лет");
  25.              break;
  26.     }
  27.      Console.WriteLine();
  28.     }
  29. }

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


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

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

15   голосов , оценка 4.133 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы