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

Строка: Вывести строку-описание данного числа, например: 256 — «двести пятьдесят шесть» - C++

Восстановить пароль Регистрация
 
Десс
0 / 0 / 0
Регистрация: 26.05.2012
Сообщений: 22
03.10.2012, 14:29     Строка: Вывести строку-описание данного числа, например: 256 — «двести пятьдесят шесть» #1
Дано целое число в диапазоне 100–999. Вывести строку-описание данного числа, например: 256 — «двести пятьдесят шесть», 814 — «во- семьсот четырнадцать в c++ с использованием cin, cout, witch, case! Буду благодарен!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2012, 14:29     Строка: Вывести строку-описание данного числа, например: 256 — «двести пятьдесят шесть»
Посмотрите здесь:

C++ Вывести строку-описание
C++ Напечатайте все точные квадраты натуральных чисел, не превосходящие данного числа n (например, при вводе 50 программа выводит 1 4 9 16 25 36 49).
. Дана строка, изображающая десятичную запись целого положительного числа. Вывести строку, изображающую двоичную запись этого же числа C++
C++ Дано целое число , лежащие в диапазоне от -999 до 999.Вывести строку - словесного описание данного числа вида "отрицательное двухзначное число", "отри
Вывести строку — словесное описание данного числа C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
 Аватар для David Sylva
1281 / 943 / 51
Регистрация: 17.05.2012
Сообщений: 2,686
03.10.2012, 15:01     Строка: Вывести строку-описание данного числа, например: 256 — «двести пятьдесят шесть» #2
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
#include <iostream> 
 
int main() 
{   
    setlocale(0, "rus");
    int number;  
    int num;
    int st = 100;
    std::cout << "Введите число " << std::endl; 
    std::cin >> number; 
    if(number < 100 || number > 999) 
        std::cout << "Не корретное число " << std::endl;  
 
    
        num = number; 
        num = num / st;
        switch(num) 
        { 
        case 1: std:: cout << "сто "; break;
        case 2: std:: cout << "двести "; break;
        case 3: std:: cout << "триста "; break;
        case 4: std:: cout << "четыриста "; break;
        case 5: std:: cout << "пятьсот "; break;
        case 6: std:: cout << "шестьсот "; break;
        case 7: std:: cout << "семьсот ";break;
        case 8: std:: cout << "восемьсот ";break;
        case 9: std:: cout << "девятьсот "; break;
        } 
        number = number % st; 
        st = st / 10; 
 
        num = number;
        num /= st; 
 
        switch(num) 
        { 
        case 1: std::cout << "десять "; break;
        case 2: std::cout << "двадцать "; break;
        case 3: std::cout << "тридцать "; break;
        case 4: std::cout << "сорок ";break;
        case 5: std::cout << "петьдесят ";break;
        case 6: std::cout << "шесьдесят ";break;
        case 7: std::cout << "семьдесят ";break;
        case 8: std::cout << "восемьдесят ";break;
        case 9: std::cout << "девяносто ";break; 
        } 
 
        number = number % st; 
        st = st / 10; 
 
        number /= st; 
 
        switch(number) 
        { 
        case 1:std::cout << "один "; break;
        case 2:std::cout << "два "; break;
        case 3:std::cout << "три "; break;
        case 4:std::cout << "четыри "; break;
        case 5:std::cout << "пять "; break;
        case 6:std::cout << "шесть ";break;
        case 7:std::cout << "семь ";break;
        case 8:std::cout << "восемь ";break;
        case 9:std::cout << "девять ";break; 
        }  
        std::cout << std::endl;
}
Кот Ангенс
 Аватар для Кот Ангенс
317 / 267 / 37
Регистрация: 24.05.2012
Сообщений: 629
03.10.2012, 15:09     Строка: Вывести строку-описание данного числа, например: 256 — «двести пятьдесят шесть» #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
125
126
127
128
129
130
#include <iostream>
 
using namespace std;
 
void printAbove4(char n) {
    switch (n) {
    case 5:
        cout << "пять";
        break;
 
    case 6:
        cout << "шесть";
        break;
 
    case 7:
        cout << "семь";
        break;
 
    case 8:
        cout << "восемь";
        break;
 
    default:
        cout << "девять";
    }
}
 
int main() {
    short x;
    cin >> x;
    char c1 = x / 100;
    char c2 = x % 100 / 10;
    char c3 = x % 10;
    switch (c1) {
    case 1:
        cout << "сто";
        break;
 
    case 2:
        cout << "двести";
        break;
 
    case 3:
        cout << "триста";
        break;
 
    case 4:
        cout << "четыреста";
        break;
 
    default:
        printAbove4(c1);
        cout << "сот";
    }
    switch (c2) {
    case 1:
        cout << ' ';
        switch (c3) {
        case 0:
            cout << "десять";
            break;
 
        case 1:
            cout << "одиннадцать";
            break;
 
        case 2:
            cout << "двенадцать";
            break;
 
        case 3:
            cout << "тринадцать";
            break;
 
        case 4:
            cout << "четырнадцать";
            break;
 
        default:
            printAbove4(c3);
            cout << "\bнадцать";
        }
        break;
 
    case 2:
        cout << " двадцать";
        break;
 
    case 3:
        cout << " тридцать";
        break;
 
    case 4:
        cout << " сорок";
        break;
 
    case 9:
        cout << " девяносто";
    case 0:
        break;
 
    default:
        cout << ' ';
        printAbove4(c2);
        cout << "десят";
    }
    if (c2 != 1)
        switch (c3) {
        case 1:
            cout << " один";
            break;
 
        case 2:
            cout << " два";
            break;
 
        case 3:
            cout << " три";
            break;
 
        case 4:
            cout << " четыре";
        case 0:
            break;
 
        default:
            cout << ' ';
            printAbove4(c3);
        }
}
Добавлено через 44 секунды
David Sylva, проверьте свою программу с числом 814.
Десс
0 / 0 / 0
Регистрация: 26.05.2012
Сообщений: 22
03.10.2012, 19:53  [ТС]     Строка: Вывести строку-описание данного числа, например: 256 — «двести пятьдесят шесть» #4
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
#include <iostream>
using namespace std;
int main()
{
    int a,a1,a2,a3;
    cout<<"vvedite chislo=";
        cin>> a;
        a1 = a/100;
        a2=(a-(a1*100))/10;
        a3=a%10;
        switch(a1)
        {
        case 1: cout << "sto "; break;
        case 2: cout << "dvesti "; break;
        case 3: cout << "trista "; break;
        case 4: cout << "chetiresta "; break;
        case 5: cout << "patsot "; break;
        case 6: cout << "chesot "; break;
        case 7: cout << "semsot ";break;
        case 8: cout << "vosemsot ";break;
        case 9: cout << "devatsot "; break;
        }
            if (a2==1)
            {
            switch (a3)
                   {
        case 1:cout << "odinnadcatb "; break;
        case 2:cout << "dvennadcatb "; break;
        case 3:cout << "trennadcatbb "; break;
        case 4:cout << "chetirnadcatb "; break;
        case 5:cout << "patbnadcatb "; break;
        case 6:cout << "chectbnadcatb ";break;
        case 7:cout << "sembnadcatb ";break;
        case 8:cout << "vosemnadcatb ";break;
        case 9:cout << "devatb nadcatb";break;
                   }
            }
        else
            {
        switch(a2)
        {
        case 1: cout << "desatb "; break;
        case 2: cout << "dvadcatb "; break;
        case 3: cout << "tridcat "; break;
        case 4: cout << "sorok ";break;
        case 5: cout << "patdesat ";break;
        case 6: cout << "chesdesat ";break;
        case 7: cout << "semdesat ";break;
        case 8: cout << "vosemdesat ";break;
        case 9: cout << "devanosto ";break;
        }
 
        switch(a3)
        {
        case 1:cout << "odin "; break;
        case 2:cout << "dva "; break;
        case 3:cout << "tri "; break;
        case 4:cout << "chetire "; break;
        case 5:cout << "patb "; break;
        case 6:cout << "chectb ";break;
        case 7:cout << "semb ";break;
        case 8:cout << "vosemb ";break;
        case 9:cout << "devatb ";break;
        }
            }
}
Сделал как учитель требует СПАСИБО ЗА ИДЕЮ!
Yandex
Объявления
03.10.2012, 19:53     Строка: Вывести строку-описание данного числа, например: 256 — «двести пятьдесят шесть»
Ответ Создать тему
Опции темы

Текущее время: 17:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru