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

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

Войти
Регистрация
Восстановить пароль
 
Corax111
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 74
#1

switch и case - C++

29.08.2013, 14:27. Просмотров 732. Ответов 14
Метки нет (Все метки)

Пишет, что 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/case
C++ Оператор case switch
switch case 1 ИЛИ 2 C++
switch... case и #include C++
Switch - case vs While loop C++
Switch-case C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6471 / 2246 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
29.08.2013, 14:31     switch и case #2
case с константой должен быть.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2583 / 235
Регистрация: 01.11.2011
Сообщений: 6,391
Завершенные тесты: 1
29.08.2013, 14:31     switch и case #3
17 и 21 строки. При case должны быть цифры, но не символы.
Vourhey
Почетный модератор
6471 / 2246 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
29.08.2013, 14:33     switch и case #4
Цитата Сообщение от SatanaXIII Посмотреть сообщение
но не символы
Почему нет?
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2583 / 235
Регистрация: 01.11.2011
Сообщений: 6,391
Завершенные тесты: 1
29.08.2013, 14:35     switch и case #5
Цитата Сообщение от Vourhey Посмотреть сообщение
Почему нет?
Потому что тогда они должны быть в виде своих кодов.
Aleator
 Аватар для Aleator
65 / 66 / 3
Регистрация: 04.05.2011
Сообщений: 1,166
29.08.2013, 14:35     switch и case #6
Проинициализируйте переменные s, cu, до блока switch.
Vourhey
Почетный модератор
6471 / 2246 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
29.08.2013, 14:37     switch и case #7
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Потому что тогда они должны быть в виде своих кодов.
А они в другом виде? Что мешает сделать case 'a'?
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2583 / 235
Регистрация: 01.11.2011
Сообщений: 6,391
Завершенные тесты: 1
29.08.2013, 14:38     switch и case #8
Цитата Сообщение от Vourhey Посмотреть сообщение
Что мешает сделать case 'a'?
Видимо то, что у ТС нет апострофов.
Vourhey
Почетный модератор
6471 / 2246 / 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
Почетный модератор
6471 / 2246 / 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
5549 / 2583 / 235
Регистрация: 01.11.2011
Сообщений: 6,391
Завершенные тесты: 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
Case switch и функции C++
Оператор Switch,Case C++
Switch case калькулятор C++
Оператор switch case C++

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

Или воспользуйтесь поиском по форуму:
Vourhey
Почетный модератор
6471 / 2246 / 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
Ответ Создать тему
Опции темы

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