Вывести строку «Мне 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();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д