Вывести заданное целое положительное число a прописью:
а) a<100, то есть число не более чем двухзначное;
б) a<1000, то есть число не более чем трёхзначное.
Например, 145 — сто сорок пять, 26 — двадцать шесть, 7 — семь.
Кто может, помогите, пожалуйста, с кодом.
C/C++
Задача на языке C++
#include <iostream>
#define LIMIT 100
using namespace std;
void e_print(char e)
{
switch (e)
{
case 1:
cout << "один" << endl;
break;
case 2:
cout << "два" << endl;
break;
case 3:
cout << "три" << endl;
break;
case 4:
cout << "четыре" << endl;
break;
case 5:
cout << "пять" << endl;
break;
case 6:
cout << "шесть" << endl;
break;
case 7:
cout << "семнь" << endl;
break;
case 8:
cout << "восемнь" << endl;
break;
case 9:
cout << "девять" << endl;
break;
};
}
int main()
{
unsigned a;
do
{
cout << "Введите a: ";
cin >> a;
if (a == 0 || a >= LIMIT) cerr << "Число должно быть больше нуля и меньше " << LIMIT << '.' << endl;
} while (a == 0 || a >= LIMIT);
unsigned d,e;
d = a/10;
e = a - d*10;
switch (d)
{
case 9:
cout << "девяносто ";
e_print(e);
break;
case 8:
cout << "восемьдесят ";
e_print(e);
break;
case 7:
cout << "семьдесят ";
e_print(e);
break;
case 6:
cout << "шестьдесят ";
e_print(e);
break;
case 5:
cout << "пятьдесят ";
e_print(e);
break;
case 4:
cout << "сорок ";
e_print(e);
break;
case 3:
cout << "тридцать ";
e_print(e);
break;
case 2:
cout << "двадцать ";
e_print(e);
break;
case 1:
{
switch (e)
{
case 0:
cout << "десять" << endl;
break;
case 1:
cout << "одиннадцать" << endl;
break;
case 2:
cout << "двенадцать" << endl;
break;
case 3:
cout << "тринадцать" << endl;
break;
case 4:
cout << "четырнадцать" << endl;
break;
case 5:
cout << "пятнадцать" << endl;
break;
case 6:
cout << "шестнадцать" << endl;
break;
case 7:
cout << "семнадцать" << endl;
break;
case 8:
cout << "восемнадцать" << endl;
break;
case 9:
cout << "девятнадцать" << endl;
break;
};
break;
};
case 0:
e_print(e);
break;
};
return 0;
}
#define LIMIT 100
using namespace std;
void e_print(char e)
{
switch (e)
{
case 1:
cout << "один" << endl;
break;
case 2:
cout << "два" << endl;
break;
case 3:
cout << "три" << endl;
break;
case 4:
cout << "четыре" << endl;
break;
case 5:
cout << "пять" << endl;
break;
case 6:
cout << "шесть" << endl;
break;
case 7:
cout << "семнь" << endl;
break;
case 8:
cout << "восемнь" << endl;
break;
case 9:
cout << "девять" << endl;
break;
};
}
int main()
{
unsigned a;
do
{
cout << "Введите a: ";
cin >> a;
if (a == 0 || a >= LIMIT) cerr << "Число должно быть больше нуля и меньше " << LIMIT << '.' << endl;
} while (a == 0 || a >= LIMIT);
unsigned d,e;
d = a/10;
e = a - d*10;
switch (d)
{
case 9:
cout << "девяносто ";
e_print(e);
break;
case 8:
cout << "восемьдесят ";
e_print(e);
break;
case 7:
cout << "семьдесят ";
e_print(e);
break;
case 6:
cout << "шестьдесят ";
e_print(e);
break;
case 5:
cout << "пятьдесят ";
e_print(e);
break;
case 4:
cout << "сорок ";
e_print(e);
break;
case 3:
cout << "тридцать ";
e_print(e);
break;
case 2:
cout << "двадцать ";
e_print(e);
break;
case 1:
{
switch (e)
{
case 0:
cout << "десять" << endl;
break;
case 1:
cout << "одиннадцать" << endl;
break;
case 2:
cout << "двенадцать" << endl;
break;
case 3:
cout << "тринадцать" << endl;
break;
case 4:
cout << "четырнадцать" << endl;
break;
case 5:
cout << "пятнадцать" << endl;
break;
case 6:
cout << "шестнадцать" << endl;
break;
case 7:
cout << "семнадцать" << endl;
break;
case 8:
cout << "восемнадцать" << endl;
break;
case 9:
cout << "девятнадцать" << endl;
break;
};
break;
};
case 0:
e_print(e);
break;
};
return 0;
}
Павел Старовойтов
Я думаю, что для a < 1000 сам догадаешься как написать код.
Похожие вопросы
- Задача на языке C.
- Решить задачу на языке C (НЕ С++!!!)
- Задача по программированию C++
- Задача на языке программирования C++
- Помогите решить задачу пожалуйста, в C++
- Чем лучше язык С языка C++?
- Задача на языке программирования C#
- Задача на языке программирования C++
- Задача по языку программированию C++
- Задача на сортировку структур. Язык C++.