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

switch (Программа должна переводить введенные цифры в слова) - C++

Восстановить пароль Регистрация
 
Казаков Игорь
0 / 0 / 0
Регистрация: 01.03.2013
Сообщений: 34
23.08.2013, 11:59     switch (Программа должна переводить введенные цифры в слова) #1
Программа должна переводить введенные цифры в слова.
проблема: в каждом switch выполняются только default .

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
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
 
void G(int* mass)
{
    for (int i = 3; i >= 0 ; i--)
    {
        switch (i)
        {
        case 1: switch (mass[i])
                    {
                        case 0: cout << ""; 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;
                        default: cout << "incorret input data";
                            exit(1);
                            break;
                    } 
                    break;
        case 2: switch (mass[i-1])
                    {
                        case 0: cout << ""; break;
                        case 1: switch (mass[i])
                                {
                                    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 << "fiveteen"; break;
                                    case 6: cout << "sixteen"; break;
                                    case 7: cout << "seventeen"; break;
                                    case 8: cout << "eighteen"; break;
                                    case 9: cout << "nineteen"; break;
                                    default: cout << "incorret input data";
                                        exit(1);
                                        break;
                                }
                                i = 0;
                                break;
                        case 2: cout << "twenty"; break;
                        case 3: cout << "thrirty"; 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;
                        default: cout << "incorret input data";
                            exit(1);
                            break;
                    }break;
        case 3: switch (mass[i])
                {
                    case 0 : cout << ""; break;
                    case 1 : cout << "one hundred"; break;
                    case 2 : cout << "two hundred"; break;
                    case 3 : cout << "three hundred"; break;
                    case 4 : cout << "four hundred"; break;
                    case 5 : cout << "five hundred"; break;
                    case 6 : cout << "six hundred"; break;
                    case 7 : cout << "seven hundred"; break;
                    case 8 : cout << "eight hundred"; break;
                    case 9 : cout << "nine hundred"; break;
                    default: cout << "incorret input data";
                        exit(1);
                        break;
                }break;
        }
    }
}
 
void  main()
{
    int mass[3];
    cout << "input digit:" << endl;
    for (int i = 0; i < 3; i++)
    {
        cin >> mass[i];
    }
    G(mass);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.08.2013, 11:59     switch (Программа должна переводить введенные цифры в слова)
Посмотрите здесь:

программа принемает строку, находит самую часто всречающуюся букву, и выводит слова в которых НЕТУ этой буквы. вернее она должна это делать. C++
Программа должна считывать английский текст и выводить на экран слова, которые начинаются на гласные буквы C++
C++ В строку через пробел вводятся слова. Отсортировать введенные слова по алфавиту. Результат вывести в виде столбца.
C++ Пользователь вводит 10 чисел программа должна выдать 2 максимальных(берём от 1 до 10,если выпадает 2 10,то программа должна выдать 2 10,а не 10,9)
C++ Функция (при вводе любого слова с цифрами программа определила бы цифры)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Semyon2105
1 / 1 / 0
Регистрация: 16.12.2012
Сообщений: 6
23.08.2013, 12:05     switch (Программа должна переводить введенные цифры в слова) #2
Тут при вводе цифр они преобразуются в int не по цифрам, а по кодам символов цифр (т. е. цифра '0' может к примеру быть int(56) при вводе). Тут надо после ввода в int вычесть из него символ '0', т. е.:
C++
1
2
cin >> mass[i];
mass[i] -= '0';
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
23.08.2013, 12:06     switch (Программа должна переводить введенные цифры в слова) #3
могу сказать, что при i = 3 будет выход за границы массива
полностью код еще не смотрел
Казаков Игорь
0 / 0 / 0
Регистрация: 01.03.2013
Сообщений: 34
23.08.2013, 12:18  [ТС]     switch (Программа должна переводить введенные цифры в слова) #4
не работает, видимо преобразование в цифру идет автоматически (ввожу 1, потом вычитается '0', и в ячейке оказывается -47)
Yandex
Объявления
23.08.2013, 12:18     switch (Программа должна переводить введенные цифры в слова)
Ответ Создать тему
Опции темы

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