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

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

Войти
Регистрация
Восстановить пароль
 
Yordl
Заблокирован
#1

Переключение - C++

05.06.2013, 16:55. Просмотров 316. Ответов 5
Метки нет (Все метки)

Вводится с клавы число К. К принадлежит [-9;9]. Вывести значение числа и знак СЛОВАМИ. Писал , использую свитч. Вышел код большой. Мне сказали, что надо упростить и свитч не рационален..Надо написать более короткий вариант. Я понятия не имею как. Помогите пожалуйста.
Вот первоначальный мой код:
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
#include <stdio.h> 
#include <conio.h> 
#include <locale.h>
 
void main()
{
setlocale( 0, "Russian" );
int S;
printf("Введите число от -9 до 9 включительно\n");
scanf("%i", &S);
switch(x)
{
case -9:
    puts("минус девять");
break;
case -8:
    puts("минус восемь");
break;
case -7:
    puts("минус семь");
break;
case -6:
    puts("минус шесть");
break;
case -5:
    puts("минус пять");
break;
case -4:
    puts("минус четыре");
break;
case -3:
    puts("минус три");
break;
case -2:
    puts("минус два");
break;
case -1:
    puts("минус один");
break;
case 0:
    puts("ноль");
break;
case 9:
    puts("девять");
break;
case 8:
    puts("восемь");
break;
case 7:
    puts(" семь");
break;
case 6:
    puts(" шесть");
break;
case 5:
    puts("пять");
break;
case 4:
    puts(" четыре");
break;
case 3:
    puts("три");
break;
case 2:
    puts(" два");
break;
case 1:
    puts("один");
break;
default :
printf("Вы ввели число, которое нe входит в заданное множество\n");
 
 
 
}
getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2013, 16:55
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переключение (C++):

Переключение форм - C++
Я в формах только начал работать.Как в Борланде сделать переключение между формами?Например, на первой форме вводим данные энного числа...

Переключение контекста потоков - C++
Подскажите код программы на с++, которая реализует переключение контекста потоков.

Переключение раскладки на Windows XP - C++
Доброго времени суток! Столкнулся с очень интересным глюком: есть программа A и программа B. Программа B запускает программу A через...

Переключение кнопок вентилятора - C++
Помогите пожалуйста написать программу в С++. Вот задание: С помощью кнопочного переключателя на |1 вентилятор запускается на уровне...

Переключение кодовых страниц в Windows? - C++
Некоторая программма под виндами принимает (вводит с клавиатуры) символы в обычной русской кодировке (1251), после этого программа передает...

Переключение на новою строку. Команды endl и \n - C++
Помогите пожалуста!Сегодня дошел в книге по обучению С++ до темы «переключение на новою строку при помощи команд endl и \n»команда endl...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zss
Модератор
Эксперт С++
6358 / 5922 / 1919
Регистрация: 18.12.2011
Сообщений: 15,219
Завершенные тесты: 1
05.06.2013, 17:08 #2
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
void main()
{
   int n;
   char texts[19][13]={"минус девять", "минус восемь", ...., "девять"};
   cin>>n;
   if(n<-9)n=-9;
   else if(n>9)n=9;
   cout>>texts[n+9];
}
Yordl
Заблокирован
05.06.2013, 18:47  [ТС] #3
Переключение
Как это можно исправить подскажите пожалуйста.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.06.2013, 19:04 #4
Как вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int main()
 {
    setlocale( 0, "Russian" );
    char digit[10][13] = {"ноль", "один", "два", "три", "черыре", 
                        "пять", "шесть", "семь", "восемь", "девять"};
    char minus[12] = "минус ";
    int S;
    
    cout << "Введите число от -9 до 9 включительно\n";
    cin >> S;
    
    if (S <= 9 && S >= -9)
    {
        if (S < 0) cout << minus << digit[abs(S)] << endl;
        if (S >= 0) cout << digit[S] << endl;
    }
    else cout << "Вы ввели число, которое нe входит в заданное множество\n";
    
    system ("pause");
    return 0;
 }
Yordl
Заблокирован
05.06.2013, 19:26  [ТС] #5
Спасибо, все работает отлично.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
05.06.2013, 19:44 #6
На здоровье!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2013, 19:44
Привет! Вот еще темы с ответами:

Переключение файлового потока ввода вывода - C++
Есть прога. Если закоментить первый цикл то будет читать из файла, если второй то будет его писать. Теперь вопрос: как её заставить делать...

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

Переключение между программами в source files - C++
Пусть имеется несколько программами в source files. Как запускать ту программу, которую мне нужно? А то компилируется программа, которая...

переключение "флага" - C++
подскажите пожалуйста, вот есть код, базой клас и производный и есть два метода заполнения масива в базовом класе последовательными числами...


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

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

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