Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Казаков Игорь
0 / 0 / 0
Регистрация: 01.03.2013
Сообщений: 34
1

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

23.08.2013, 11:59. Просмотров 772. Ответов 3
Метки нет (Все метки)

Программа должна переводить введенные цифры в слова.
проблема: в каждом 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);
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.08.2013, 11:59
Ответы с готовыми решениями:

Пользователь вводит 10 чисел программа должна выдать 2 максимальных(берём от 1 до 10,если выпадает 2 10,то программа должна выдать 2 10,а не 10,9)
#include &lt;iostream&gt; using namespace std; int main () { int number, largest_1, largest_2,...

Программа должна считывать английский текст и выводить на экран слова, которые начинаются на гласные буквы
Привет всем)) Вот такая проблема, прога должна считывать английский текст и выводить на экран...

Программа должна находить в вводимом тексте цифры и вписывать их после слова "цифры"
Добрый день! Написал вот такую программму: #define _CRT_SECURE_NO_WARNINGS #include...

Программа должна переводить из любой системы счисления в любую другую + в римскую
Здравствуйте! У меня такая проблема... Учусь в школе, задали написать проект по информатики...Я в...

Программа должна вывести на экран, введенные с клавиатуры числа, по возростанию
Здравствуйте. Программа должна вывести на экран, введенные с клавиатуры числа, по возростанию....

3
Semyon2105
1 / 1 / 0
Регистрация: 16.12.2012
Сообщений: 6
23.08.2013, 12:05 2
Тут при вводе цифр они преобразуются в int не по цифрам, а по кодам символов цифр (т. е. цифра '0' может к примеру быть int(56) при вводе). Тут надо после ввода в int вычесть из него символ '0', т. е.:
C++
1
2
cin >> mass[i];
mass[i] -= '0';
0
I.M.
570 / 553 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
23.08.2013, 12:06 3
могу сказать, что при i = 3 будет выход за границы массива
полностью код еще не смотрел
0
Казаков Игорь
0 / 0 / 0
Регистрация: 01.03.2013
Сообщений: 34
23.08.2013, 12:18  [ТС] 4
не работает, видимо преобразование в цифру идет автоматически (ввожу 1, потом вычитается '0', и в ячейке оказывается -47)
0
23.08.2013, 12:18
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.08.2013, 12:18

программа должна переводить температуру в другие шкалы и шкалы выбирает юзер но что то не работает
#include &lt;stdio.h&gt; int main() { char inputType; double vveditechislo; double...

Распечатать введенные слова группами, каждая из которых должна состоять из слов, три первых буквы которых совпадают
Задача: &quot;Ввести последовательность не связанных слов. Распечатать введенные слова группами, каждая...

Программа должна в заданном тексте найти каждое слово и вывести все слова в столбец (слова разделяются разделителями)
Ваша программа должна в заданном тексте найти каждое слово и вывести все слова в столбец (слова...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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