Top.Mail.Ru
Ответы

Программа с помощью оператора case (C++)

Нужна программа, чтобы при вводе натурального числа (от 0 до 100) было выведено это же число в таком формате : например ввод 10;
вывод 10-десять;
Я понимаю что можно сделать 99 строчек выбора

case 1:
cout<<"1-один";
case 2:
cout<<"2-два";

и так 99 раз. Вопрос в том, как сделать, чтобы я задал только десятки и цифры от 1 до 9, а он сам их вместе "слепливал"?

По дате
По Рейтингу
Аватар пользователя
Новичок
8лет

#include
using namespace std; // consider removing this line in serious projects

int main() {
int i = 0;

for (int k=0; k<10; k++){ //мне так удобнее было формировать входной поток
cin >> i;
cout << "\n" << i << " - ";
switch (i) {
case 0:
cout << "ноль";
break;
case 11:
cout << "одиннадцать";
break;
case 12:
cout << "двенадцать";
break;
case 13:
cout << "тринадцать";
break;
case 14:
cout << "четырнадцать";
break;
case 15:
cout << "пятнадцать";
break;
case 16:
cout << "шестнадцать";
break;
case 17:
cout << "семнадцать";
break;
case 18:
cout << "восемнадцать";
break;
case 19:
cout << "девятнадцать";
break;
case 100:
cout << "сто";
break;
default:
switch (i / 10){
case 1:
cout << "десять";
break;
case 2:
cout << "двадцать ";
break;
case 3:
cout << "тридцать ";
break;
case 4:
cout << "сорок ";
break;
case 5:
cout << "пятьдесят ";
break;
case 6:
cout << "шестьдесяь";
break;
case 7:
cout << "семдесят ";
break;
case 8:
cout << "восемдесят ";
break;
case 9:
cout << "девяносто ";
break;
}
switch (i % 10){
case 1:
cout << "один";
break;
case 2:
cout << "два";
break;
case 3:
cout << "три";
break;
case 4:
cout << "четыре";
break;
case 5:
cout << "пять";
break;
case 6:
cout << "шесть";
break;
case 7:
cout << "семь";
break;
case 8:
cout << "восемь";
break;
case 9:
cout << "девять";
break;
}
break;
}
}

return 0;
}
/*input:
1
13
20
79
100
88
0
43
56
19

output:
1 - один
13 - тринадцать
20 - двадцать
79 - семдесят девять
100 - сто
88 - восемдесят восемь
0 - ноль
43 - сорок три
56 - пятьдесят шесть
19 - девятнадцать*/

Аватар пользователя
Знаток
8лет

Напиши в вк https://vk.com/id374834438

Вопрос решения задачи не совсем понимаю

Вопрос для начала надо уметь сформулировывать.

Или я просто тупой)

Аватар пользователя
Искусственный Интеллект
8лет

Сделай массив для десятков от 2 и выше. Для чисел от 0 до 19.

Аватар пользователя
Просветленный
8лет

это тупизм в 99 строчек, согласен. Делается проще, создается массив и запписывается последовательно один, два, три, четыре. а потом по введенному числу обращаются к ключу массива.