0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 74
1

switch и case

29.08.2013, 14:27. Показов 1712. Ответов 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;
        }
    }
 
    
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.08.2013, 14:27
Ответы с готовыми решениями:

Оптимальная конструкция switch-case-while / while-switch-case
Имеется конструкция типа: switch() { case 1: while() { ... }

Switch case внутри switch case
Привет всем! Нужна помощь. Пишу калькулятор с консольным меню. Так вот, используется цикл...

switch-case, как писать в самом case
Такс дело вот в чём,прога работает всё хорошо,вот только мне не нравится как записваю страны в...

Switch - case
Доброго времени суток. Сделал меню по такой схеме: switch(a) { case 1: { case 1:...

14
Почетный модератор
7392 / 2638 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
29.08.2013, 14:31 2
case с константой должен быть.
0
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
29.08.2013, 14:31 3
17 и 21 строки. При case должны быть цифры, но не символы.
0
Почетный модератор
7392 / 2638 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
29.08.2013, 14:33 4
Цитата Сообщение от SatanaXIII Посмотреть сообщение
но не символы
Почему нет?
0
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
29.08.2013, 14:35 5
Цитата Сообщение от Vourhey Посмотреть сообщение
Почему нет?
Потому что тогда они должны быть в виде своих кодов.
0
102 / 87 / 17
Регистрация: 04.05.2011
Сообщений: 1,330
29.08.2013, 14:35 6
Проинициализируйте переменные s, cu, до блока switch.
0
Почетный модератор
7392 / 2638 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
29.08.2013, 14:37 7
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Потому что тогда они должны быть в виде своих кодов.
А они в другом виде? Что мешает сделать case 'a'?
0
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
29.08.2013, 14:38 8
Цитата Сообщение от Vourhey Посмотреть сообщение
Что мешает сделать case 'a'?
Видимо то, что у ТС нет апострофов.
0
Почетный модератор
7392 / 2638 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
29.08.2013, 14:39 9
Цитата Сообщение от Aleator Посмотреть сообщение
Проинициализируйте переменные s, cu.
Чем это поможет таблице переходов?
0
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 74
29.08.2013, 14:39  [ТС] 10


Вот, с case я разобрался, возникла новая проблема, подскажите пожалуйста) Пропустить - не выходит...
0
Почетный модератор
7392 / 2638 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
29.08.2013, 14:41 11
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Видимо то, что у ТС нет апострофов.
Можно добавить const перед символами и case будет нормально работать с ними. Проблема в константности, а не в том, char там , или int.
0
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 74
29.08.2013, 14:41  [ТС] 12
Насчет case'a, там в общем-то работает case 's': , с этим проблем нет, только вот окошко это вылазит... не знаю из-за чего, раньше вылазило, "пропустить" - и все, все работает..))
0
8 / 8 / 1
Регистрация: 06.07.2013
Сообщений: 21
29.08.2013, 14:43 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);
        }
    }
}
немножко неределал
0
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
29.08.2013, 14:44 14
Цитата Сообщение от Vourhey Посмотреть сообщение
Можно добавить const перед символами и case будет нормально работать с ними.
C++
1
const case cu:
[C++ Error] Unit1.cpp(20): E2040 Declaration terminated incorrectly
0
Почетный модератор
7392 / 2638 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
29.08.2013, 14:46 15
Цитата Сообщение от SatanaXIII Посмотреть сообщение
const case cu:
C
1
const cu = 'a';
Вот символ. И с ним case будет работать нормально.
1
29.08.2013, 14:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2013, 14:46
Помогаю со студенческими работами здесь

Switch - case
Обязательно с использованием классов Есть задача. Дан массив вещественных чисел. а) Ко всем...

switch i case
v 4jom u menja o6ibka? i kak vivisti rezultat? # include &lt;iostream&gt; # include &lt;conio.h&gt;...

Switch + case
Суть задания: Задан шифр книги из библиотеки в виде шестизначного целого числа. ...

Switch - Case
Составить программу, определяющую результат гадания на ромашке («любит–не любит– плюнет–поцелует–к...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru