Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/40: Рейтинг темы: голосов - 40, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 10.02.2018
Сообщений: 3

Вывести двузначное целое число прописью

10.02.2018, 22:50. Показов 8939. Ответов 6

Студворк — интернет-сервис помощи студентам
"Напишите программу, которая вводит целое число, не превышающее 100, и выводит его
прописью, например, 21 → «двадцать один». "
Я написал код, но он выдает мне не то, что нужно.
(решить её мне сказали через switch и if)
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
#include <iostream>
using namespace std;
 
int main()
{
  int n, g;
  cout << "Введите число: ";
  cin >> n;
  {
  
  if (n >= 0 && n < 11)
  switch (n) {
    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;
  }
  else
  if (n >= 11 && n <= 20)
    switch (n) {
    case 11: cout << "Одиннадцать" << endl;
    break;
    case 12: cout << "Двенадцать" << endl;
    break;
    case 13: cout << "Тринадцать" << endl;
    break;
    case 14: cout << "Четырнадцать" << endl;
    break;
    case 15: cout << "Пятнадцать" << endl;
    break;
    case 16: cout << "Шестнадцать" << endl;
    break;
    case 17: cout << "Семнадцать" << endl;
    break;
    case 18: cout << "Восемнадцать" << endl;
    break;
    case 19: cout << "Девятнадцать" << endl;
    break;
}
else
 {
 g = n / 10;
     switch (g) {
    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;
    case 10: cout << "СТО!" << endl;
    break;
}
}
}
  
  cout << g << " " << n << endl;
   cin.get(); cin.get();
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.02.2018, 22:50
Ответы с готовыми решениями:

Вывести двузначное целое число прописью
Ввести целое число в диапазоне -99...99 и вывести в консоль его словесное описание. Пример: -57 – минус пятьдесят семь. Помогите ...

Вывести целое число из интервала [0,99] прописью
моё решение выводит лишние слова, так как условию Number &lt; числа (например, 30) удовлетворяют любые числа до 30. как можно упростить...

ввести целое двузначное число. вывести числа кратные 3
ввести целое двузначное число. вывести числа кратные 3

6
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
10.02.2018, 23:29
DIXN, выделяешь 2 разряда: десятки и еденицы. Для каждого находишь строку прописью через switch.

Добавлено через 59 секунд
DIXN, if надо для исключение 10..19
0
710 / 356 / 104
Регистрация: 09.02.2018
Сообщений: 805
11.02.2018, 00:05
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
#include <iostream>
using namespace std;
 
int main()
{
  int n, g;
  setlocale(LC_ALL, "rus");
  cout << "Введите число: ";
  cin >> n;
  {
dgfsd:  
  if (n >= 0 && n < 11)
  switch (n) {
    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;
  }
  else
  if (n >= 11 && n < 20)
    switch (n) {
    case 11: cout << "Одиннадцать" << endl;
    break;
    case 12: cout << "Двенадцать" << endl;
    break;
    case 13: cout << "Тринадцать" << endl;
    break;
    case 14: cout << "Четырнадцать" << endl;
    break;
    case 15: cout << "Пятнадцать" << endl;
    break;
    case 16: cout << "Шестнадцать" << endl;
    break;
    case 17: cout << "Семнадцать" << endl;
    break;
    case 18: cout << "Восемнадцать" << endl;
    break;
    case 19: cout << "Девятнадцать" << endl;
    break;
}
else
 {
 g = n / 10;
     switch (g) {
    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;
    case 10: cout << "СТО!" << endl;
    break;
}
     n = n % 10;
     goto dgfsd;
}
}
  
  cout << g << " " << n << endl;
   cin.get(); cin.get();
}
0
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
11.02.2018, 01:14
Цитата Сообщение от КулХацкеръ Посмотреть сообщение
goto dgfsd;
OMG рекурсивно себя первызвать не судьба?
1
 Аватар для Тупенький
2 / 29 / 7
Регистрация: 09.11.2015
Сообщений: 168
11.02.2018, 05:12
немного исправил, вроде работает
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#include <iostream>
#include <string>
#include <locale>
 
using namespace std;
 
char * recurs(const char * s);
 
int main(){
    setlocale(LC_ALL, "Russian");
    cout << "Enter a number: " << endl;
    string s1;
    getline(cin, s1);
    if(s1[0]=='1'&&s1[1]=='0'&&s1[2]=='0') cout << "СТО!"<<endl;
    else if(s1[0]!='0'&&s1[1]=='0'&&s1[2]=='\0'){
        switch(s1[0]){
        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;
        }
    }
    else if(s1[0]=='1'&&s1[1]!='0'&&s1[2]=='\0'){
        switch (s1[1]) {
            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;
        }
    }
    else if(s1[0]!='0'-1&&s1[1]=='\0'){
        switch (s1[0]) {
            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;
        }
    }
    else if(s1[0]>'1'&&s1[1]>'0'){
        recurs(s1.c_str()); 
    }
    
    return 0;
}
 
char * recurs(const char * s){
    if(s[0]=='\0') return 0;
    else if(s[0]>'1'&&s[1]>'0'&&s[2]=='\0'){
        switch(s[0]){
        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;
        }
    }
    else if(s[0]!='0'-1&&s[1]=='\0'){
        switch (s[0]) {
            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;
        }
    }
    return recurs(s+1);
}
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
11.02.2018, 12:38
Цитата Сообщение от DIXN Посмотреть сообщение
целое число, не превышающее 100,
-123456789 тоже можно вводить?

Добавлено через 4 минуты
Вывод числа в символьном виде
1
 Аватар для Herji
299 / 208 / 174
Регистрация: 11.05.2016
Сообщений: 655
11.02.2018, 13:54
Лучший ответ Сообщение было отмечено DIXN как решение

Решение

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
#include <iostream>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
 
    int n, g;
    
    while(cin >> n)
    {
        std::cout << "\n";
 
        if(n<0 || n>100) 
        {
            cout << "Wrong input\n";
            continue;
        }
 
        if(!n)
        {
            std::cout << "Ноль\n";
            continue;
        }
 
        if(n>9 && n<20)
        {
            switch (n) {
                case 10: 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;
            }
            std::cout << "\n";
            continue;
        }
 
        g = n/10;
 
        switch (g) {
            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;
            case 10: cout << "СТО " ;
            break;
        }
        
        g = n%10;
 
        switch (g) {
        //  case 0: cout << "Ноль!" << endl;
        //  break;
            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;
        }
        std::cout << "\n";
 
    }
 
    system("pause");
    return(0);
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.02.2018, 13:54
Помогаю со студенческими работами здесь

Дано двузначное число. Вывести число, полученное при перестановке цифр исходного числа.
Скоро экзамен , кто чем может ) Помоги ближнему , ибо смех продлевает жизнь...) 4. Дано двузначное число. Вывести число,...

Ввести целое двузначное число, 2ю цифру числа увеличить в 2 раза, 1ю - уменьшить в 2 раза
я еще плохо ознакомлен с кодами с++,поэтому обращаюсь к вам задача выглядит так: 1)ввести с клавиатуры целое двузначное число ,2ю цифру...

Дано целое число N (> 1). Вывести наибольшее целое К, при котором выполняется неравенство
ловие: Дано целое число N (&gt; 1). Вывести наибольшее целое К, при котором выполняется неравенство Зк&lt;N, и само значение Зк. Мои...

Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д.
Дано целое число. Вывести его строку-описание вида «отрицательное чет-ное число», «нулевое число», «положительное нечетное число» и т. д. ...

Вывести число прописью
Задание преобразовать числа в слова, чтобы если пользователь вводит число 10 - то выводилось &quot;Numx is equal to 'ten'&quot; Но я не...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru