Символы и числа в метках case оператора выбора switch - C#
Формулировка задачи:
На вход программе поступает числовое выражение оценки (2, 3, 4, 5), на выход— строковое выражение оценки («неудовлетворительно», «удовлетворительно», «хорошо», «отлично»). Если пользователь введёт данные не соответствующие условию задачи - выдать сообщение «нет такой оценки».
почему нельзя делать так
но можно так
static void Main(string[] args)
{
Console.Write("выражение оценки в диапазоне [2;5]:");
int m = Convert.ToByte(Console.Read());
switch (m)
{
case 2:
Console.Write("неудовлетворительно\n");
break;
case 3:
Console.Write("удовлетворительно\n");
break;
case 4:
Console.Write("хорошо\n");
break;
case 5:
Console.Write("отлично\n");
break;
default:
Console.Write("нет такой оценки\n");
break;
}
} static void Main(string[] args)
{
Console.Write("выражение оценки в диапазоне [2;5]:");
char m =Convert.ToChar(Console.Read());
switch (m)
{
case '2':
Console.Write("неудовлетворительно\n");
break;
case '3':
Console.Write("удовлетворительно\n");
break;
case '4':
Console.Write("хорошо\n");
break;
case '5':
Console.Write("отлично\n");
break;
default:
Console.Write("нет такой оценки\n");
break;
}
}Решение задачи: «Символы и числа в метках case оператора выбора switch»
textual
Листинг программы
static Dictionary<int, string> EvDictionary = new Dictionary<int, string>
{
{0, "Нет оценки"},
{5, "Отлично"},
{3, "Удовлетворительно"},
{2, "Не удовлетворительно"},
{4, "Хорошо"}
}
static void OutMethod()
{
var ev = int.Parse(Console.ReadLine());
Console.Write(EvDictionary[ev]);
}