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

switch и case - C++

Восстановить пароль Регистрация
 
Corax111
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 74
29.08.2013, 14:27     switch и case #1
Пишет, что switch не содержит case, но судя по коду - это не так... как же заставить его видеть этот case?

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
#include <iostream>
using namespace std;
 
int main() 
{
    setlocale( LC_ALL, "Russian" );
    float x;
    float y;
    char o;
    char s;
    char cu;
    while ((true) || (false))
    {
        cout << "Введите s - для вывода квадратов " << "или cu для вывода кубов" << endl;
        switch (o) {
        case s:
            cout << "Введите число ";
            cin >> x;
            cout << "Квадрат числа "<< x << " равен: " << x * x << endl;
        case cu:
            cout << "Введите число ";
            cin >> y;
            cout << "Куб числа " << y << " равен: " << y*y*y << endl;
        }
    }
 
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.08.2013, 14:27     switch и case
Посмотрите здесь:

C++ switch case
C++ switch i case
case-switch C++
C++ Switch + case
C++ switch-case, как писать в самом case
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
29.08.2013, 14:31     switch и case #2
case с константой должен быть.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5547 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
29.08.2013, 14:31     switch и case #3
17 и 21 строки. При case должны быть цифры, но не символы.
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
29.08.2013, 14:33     switch и case #4
Цитата Сообщение от SatanaXIII Посмотреть сообщение
но не символы
Почему нет?
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5547 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
29.08.2013, 14:35     switch и case #5
Цитата Сообщение от Vourhey Посмотреть сообщение
Почему нет?
Потому что тогда они должны быть в виде своих кодов.
Aleator
 Аватар для Aleator
66 / 66 / 3
Регистрация: 04.05.2011
Сообщений: 1,142
29.08.2013, 14:35     switch и case #6
Проинициализируйте переменные s, cu, до блока switch.
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
29.08.2013, 14:37     switch и case #7
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Потому что тогда они должны быть в виде своих кодов.
А они в другом виде? Что мешает сделать case 'a'?
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5547 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
29.08.2013, 14:38     switch и case #8
Цитата Сообщение от Vourhey Посмотреть сообщение
Что мешает сделать case 'a'?
Видимо то, что у ТС нет апострофов.
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
29.08.2013, 14:39     switch и case #9
Цитата Сообщение от Aleator Посмотреть сообщение
Проинициализируйте переменные s, cu.
Чем это поможет таблице переходов?
Corax111
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 74
29.08.2013, 14:39  [ТС]     switch и case #10
http://s020.***********/i719/1308/bc/2d129bcc6c10.jpg

Вот, с case я разобрался, возникла новая проблема, подскажите пожалуйста) Пропустить - не выходит...
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
29.08.2013, 14:41     switch и case #11
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Видимо то, что у ТС нет апострофов.
Можно добавить const перед символами и case будет нормально работать с ними. Проблема в константности, а не в том, char там , или int.
Corax111
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 74
29.08.2013, 14:41  [ТС]     switch и case #12
Насчет case'a, там в общем-то работает case 's': , с этим проблем нет, только вот окошко это вылазит... не знаю из-за чего, раньше вылазило, "пропустить" - и все, все работает..))
Rogov
8 / 8 / 1
Регистрация: 06.07.2013
Сообщений: 21
29.08.2013, 14:43     switch и case #13
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
/
#include <iostream>
using namespace std;
 
int main() 
{
    setlocale( LC_ALL, "Russian" );
    float x;
    float y;
    char o;
    while (1)
    {
        cout << "Введите s - для вывода квадратов или c для вывода кубов, e - для выхода" << endl;
        cin >> o; 
        switch (o) {
        case 's':
            cout << "Введите число ";
            cin >> x;
            break;
            cout << "Квадрат числа "<< x << " равен: " << x * x << endl;
        case 'c':
            cout << "Введите число ";
            cin >> y;
            cout << "Куб числа " << y << " равен: " << y*y*y << endl;
            break;
        case 'e': exit(0);
        }
    }
}
немножко неределал
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5547 / 2561 / 233
Регистрация: 01.11.2011
Сообщений: 6,330
Завершенные тесты: 1
29.08.2013, 14:44     switch и case #14
Цитата Сообщение от Vourhey Посмотреть сообщение
Можно добавить const перед символами и case будет нормально работать с ними.
C++
1
const case cu:
[C++ Error] Unit1.cpp(20): E2040 Declaration terminated incorrectly
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.08.2013, 14:46     switch и case
Еще ссылки по теме:

C++ Switch (Case)
Switch-case C++
C++ Switch - Case

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

Или воспользуйтесь поиском по форуму:
Vourhey
Почетный модератор
6468 / 2243 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
29.08.2013, 14:46     switch и case #15
Цитата Сообщение от SatanaXIII Посмотреть сообщение
const case cu:
C
1
const cu = 'a';
Вот символ. И с ним case будет работать нормально.
Yandex
Объявления
29.08.2013, 14:46     switch и case
Ответ Создать тему
Опции темы

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