Вывести строку «Мне N лет», обеспечив правильное согласование числа со словом «год» - C#
Формулировка задачи:
Вывести строку «Мне N лет», обеспечив правильное согласование числа со словом «год»,
например: N = 20 - «Мне 20 лет», N = 41 - «Мне 41 год», N = 12 - «Мне 12 лет».
Если пользователь введёт данные не соответствующие условию задачи - выдать сообщение об ошибке.
можно ли использовать подобное?
и вывод ошибки лучше через try catch сделать?
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; } }
да обязательно операторы выбора
ну так ближе
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(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д