Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ZarinZomanu4
5 / 5 / 0
Регистрация: 27.05.2013
Сообщений: 89
#1

Записать целое число буквами (можно ли упростить код?) - C++

20.06.2014, 22:09. Просмотров 1329. Ответов 3
Метки нет (Все метки)

Здравствуйте помогите упростить код.
Условие:
Напишите программу которая вводит целое число, не превышающее 100, и выводит его прописью, например,
21→"двадцать один".
Мой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <iostream>
using namespace std;
int main ()
{
    int a,b,c ;
    cin>>a;
        if (a<100)
        {   b=a/10;
            c=a%10;
        if (b==0)
        switch (c)
        {case 0:
        cout<< "zero";
        break;
        case 1:
        cout<< "one";
        break;
        case 2:
        cout<< "two";
        break;  
        case 3:
        cout<< "Three";
        break;
        case 4:
        cout<< "four";
        break;
        case 5:
        cout<< "five";
        break;
        case 6:
        cout<< "six";
        break;
        case 7:
        cout<< "Seven";
        break;
        case 8:
        cout<< "eight";
        break;
        case 9:
        cout<< "nine";
        break;}
        if (b==1)
        switch (c)
        {case 0:
        cout<< "ten";
        break;
        case 1:
        cout<< "eleven";
        break;
        case 2:
        cout<< "twelve";
        break;  
        case 3:
        cout<< "thirteen";
        break;
        case 4:
        cout<< "fourteen";
        break;
        case 5:
        cout<< "fifteen";
        break;
        case 6:
        cout<< "sixteen";
        break;
        case 7:
        cout<< "seventeen";
        break;
        case 8:
        cout<< "eighteen";
        break;
        case 9:
        cout<< "nineteen";
        break;}     
        /*и так далее*/
        }
        else 
        cout<<"Error"<<endl;
 
        return 0;
}
Мозг понимает что можно как то сделать через метки, но практики не хватает это реализовать.

Добавлено через 8 минут
Бред написал.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2014, 22:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Записать целое число буквами (можно ли упростить код?) (C++):

Можно ли упростить код? - C++
Есть последовательность тестов, можно ли сделать так, что бы каждый раз не писать if(бла бла бла) cout « &quot;бла бла бла&quot; « endl; и т.д void...

Дано вещественное число A и целое число N. Вывести A в степени N (код внутри) - C++
Дано вещественное число A и целое число N (N больше 0). Вывести A в степени N: AN =A•A•...•A (числа A перемножаются N раз). Использовать...

Подскажите, как можно упростить/укоротить код - мини-калькулятора? - C++
Дорогие форумчане! Посоветуйте как можно укоротить, точнее упростить нижеследующий код: #include &lt;iostream&gt; using namespace...

Составить функцию, которая, получив целое число определяет, уменьшается ли оно в целое число раз - C++
задание такое Составить функцию, которая, получив целое число определяет, уменьшается ли оно в целое число раз, если у него удалить...

Написать объявление функции, возвращающую целое число и принимающую указатель на целое число - C++
объявите функцию f2, возвращающую результат целого типа и передающую указатель на переменную а целого типа. вызовите функцию f2 с...

Ввести с клавиатуры целое число n и записать в новый файл те слова, которые содержат n или больше согласных - C++
Дана задача: Задан файл формата .txt с текстом на английском языке, ввести с клавиатуры целое число n и записать в новый файл те слова,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zss
Модератор
Эксперт С++
6359 / 5923 / 1920
Регистрация: 18.12.2011
Сообщений: 15,224
Завершенные тесты: 1
20.06.2014, 22:34 #2
C++
1
2
3
4
char numbers[20][10]={"zero","one","two",...,"nineteen"};
int a;cin>>a;
if(a>19 || a<0)a=0;
cout<<numbers[a];
ZarinZomanu4
5 / 5 / 0
Регистрация: 27.05.2013
Сообщений: 89
20.06.2014, 22:50  [ТС] #3
вот теперь более менее
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#include <iostream>
using namespace std;
int main ()
{
    int a,b,c ;
    cin>>a;
        if (a<100)
        {   b=a/10;
            c=a%10;
        if (b==0)
        switch (c)
        {case 0:
        cout<< "zero ";
        break;
        case 1:
        cout<< "one ";
        break;
        case 2:
        cout<< "two ";
        break;  
        case 3:
        cout<< "Three ";
        break;
        case 4:
        cout<< "four ";
        break;
        case 5:
        cout<< "five ";
        break;
        case 6:
        cout<< "six ";
        break;
        case 7:
        cout<< "Seven ";
        break;
        case 8:
        cout<< "eight ";
        break;
        case 9:
        cout<< "nine ";
        break;}
        if (b>1)
        {switch (b)
        {case 2:
        cout<< "Twenty ";
        break;  
        case 3:
        cout<< "Thirty  ";
        break;
        case 4:
        cout<< "Forty  ";
        break;
        case 5:
        cout<< "Fifty  ";
        break;
        case 6:
        cout<< "Sixty  ";
        break;
        case 7:
        cout<< "Seventy  ";
        break;
        case 8:
        cout<< "Eighty  ";
        break;
        case 9:
        cout<< " Ninety  ";
        break;}
        switch (c)
        {case 1:
        cout<< "one "<<endl;
        break;
        case 2:
        cout<< "two ";
        break;  
        case 3:
        cout<< "Three ";
        break;
        case 4:
        cout<< "four ";
        break;
        case 5:
        cout<< "five ";
        break;
        case 6:
        cout<< "six " ;
        break;
        case 7:
        cout<< "Seven";
        break;
        case 8:
        cout<< "eight ";
        break;
        case 9:
        cout<< "nine ";
        break;}
        goto label ;
        }
        if (a==10)
        cout<< "ten ";
        else if (a==11)
        cout<< "eleven";
        else if (a==12)
        cout<< "twelve";
        else if (a==13)
        cout<< "thirteen";
        else if (a==14)
        cout<< "fourteen";
        else if (a==15)
        cout<< "fifteen";
        else if (a==16)
        cout<< "sixteen";
        else if (a==17)
        cout<< "seventeen";
        else if (a==18)
        cout<< "eighteen";
        else if (a==19)
        cout<< "nineteen";
        }
        else 
        {cout<<"Error"<<endl;}
        label :
 
        return 0;
}
Добавлено через 2 минуты
Цитата Сообщение от zss Посмотреть сообщение
char numbers[20][10]={"zero","one","two",...,"nineteen"};
Простите за непонимание, но в этой строчке нужно прописывать каждый элемент массива?
zss
Модератор
Эксперт С++
6359 / 5923 / 1920
Регистрация: 18.12.2011
Сообщений: 15,224
Завершенные тесты: 1
21.06.2014, 08:26 #4
Цитата Сообщение от ZarinZomanu4 Посмотреть сообщение
прописывать каждый элемент массива?
Естественно
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2014, 08:26
Привет! Вот еще темы с ответами:

Процедура, переводящая переданное ей неотрицательное целое число в четырёхзначный шестнадцатеричный код - C++
Напишите программу, которая переводит переданное ей неотрицательное целое число в четырёхзначный шестнадцатеричный код, сохранив лидирующие...

Если целое число М делится на целое число N, то на экран выводится частное от деления, в противном случае выводится сообщение - C++
Если целое число М делится на целое число N, то на экран выводится частное от деления, в противном случае выводится сообщение «M на N...

Дано целое число N (> 0). Найти сумму N2 + (N + 1)2+ (N + 2)2+ … + (2*N)2 (целое число) - C++
Дано целое число N (&gt; 0). Найти сумму N2 + (N + 1)2+ (N + 2)2+ … + (2*N)2 (целое число).подскажите как решается или подскажите где можно...

Сформировать строку из заданного массива, превратив каждое целое число в символ, имеющий указанный код - C++
Двухмерный массив содержит целые числа и заполняется случайным образом значениями из интервалa . Пользователь задаёт размерность массива с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.06.2014, 08:26
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru