Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
150 / 137 / 35
Регистрация: 29.07.2012
Сообщений: 709
1

цикл switch

20.07.2013, 03:05. Просмотров 4040. Ответов 11
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#pragma hdrstop
#include <iostream>
#include <windows>
 
using namespace std;
void main()
{
int a;
cin >> a;
switch(a)
{
case '1','3','5','7','9':
cout << "Нечетное.\n";
break;
case '2','4','6','8':
cout << "Четное.\n";
break;
case '10':
cout << "Четное.\n";
break;
}
system("Pause");
}
В чем моя ошибка? На 2,4,6,8 ну и вообще не реагирует вот на 10, все хорошо. И еще вопрос можно ли вообще вот так.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.07.2013, 03:05
Ответы с готовыми решениями:

Цикл: Не могу создать цикл для switch
не могу создать цикл для switch

Switch case цикл
Здравствуйте. Возник вопрос который не могу решить. Запустите мой код и посмотрите в чем...

Цикл с встроенным Switch (вычислить значение произведения)
есть произведение, его нужно посчитать 3-мя разными способами, используя разные циклы - do, for и...

Как сделать, чтобы при вводе в меню (через switch) букв, не выпадал бесконечный цикл
Помогите, пожалуйста! Когда ввожу переменную не типа int, а допустим слово, то происходит...

11
1447 / 355 / 61
Регистрация: 03.04.2010
Сообщений: 2,098
20.07.2013, 03:11 2
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
#pragma hdrstop
#include <iostream>
#include <windows>
 
 
using namespace std;
void main()
{
    int a;
    cin >> a;
    switch(a)
    {
        case 1:
        case 3:
        case 5:
        case 7:
        case 9:
            cout << "Нечетное.\n";
        break;
        case 2:
        case 4:
        case 6:
        case 8:
            cout << "Четное.\n";
        break;
        case 10:
            cout << "Четное.\n";
        break;
    }
    system("Pause");
}
2
Заблокирован
20.07.2013, 03:32 3
C++
1
2
3
4
5
6
switch(a % 2)
{
    case 1: "нечетное";
        break;
    default: "четное";
}
2
Crypt0
20.07.2013, 10:15 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
    using namespace std;
int main()
    {
        int a;
        cin >> a;
                      if(a<=10)
{
        switch(a)
{
        case 1:;
            case 3:;
            case 5:;
            case 7:;
            case 9: cout << "Nechetnoe"<<endl; break;
default: cout << "chetnoe"<< endl;
    
}
}
else  cout << "error"<<endl;
system("Pause");
return 0;
}
Думаю, что можно расширить до скольки тебе нужно.
Заблокирован
Автор FAQ
20.07.2013, 10:30 5
Bend3r, в одном флаконе свитч и простое условие
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
#include <cmath>
#include <iostream>
using namespace std;
 
int main()
{
    int i;
    int arr[] = {3, 4, -6, 7, 11};
    for(i = 0; i < sizeof(arr)/sizeof(arr[0]); i++)
    {
        cout<<"Число : "<<arr[i]<<endl;
        cout<<"\tПроверка простым условием : "<<endl;
        if( arr[i] % 2 )
            cout<<"Число нечётное"<<endl;
        else
            cout<<"Число чётное"<<endl;
 
        cout<<"\tПроверка switch : "<<endl;
        switch(abs(arr[i]))
        {
        case 1:
        case 3:
        case 5:
        case 7:
        case 9:
            cout<<"Число нечётное"<<endl;
            break;
        case 0:
        case 2:
        case 4:
        case 6:
        case 8:
            cout<<"Число чётное"<<endl;
            break;
        default:
            cout<<"Число не из диапазона 0...9"<<endl;
            break;
        }
    }
    return 0;
}
2
Миниатюры
цикл switch  
Jesus loves me
Эксперт С++
5106 / 3119 / 352
Регистрация: 12.12.2009
Сообщений: 7,890
Записей в блоге: 2
20.07.2013, 10:36 6
C++
1
2
const char* answers[] = {"четное", "не четное"};
std::cout << answers[n & 1] << std::endl;
2
Эксперт С++
4964 / 3070 / 456
Регистрация: 10.11.2010
Сообщений: 11,159
Записей в блоге: 10
20.07.2013, 10:52 7
Лучший ответ Сообщение было отмечено как решение

Решение

C++
1
std::cout << &"не четное"[!(i & 1) * 3] << std::endl;
3
1447 / 355 / 61
Регистрация: 03.04.2010
Сообщений: 2,098
20.07.2013, 15:46 8
lazybiz, Kastaneda, -=ЮрА=-, я может ошибаюсь, но кажется автор хотел узнать как правильно пишется конструкция switch, а не как проверить число на четность?
2
Эксперт С++
4964 / 3070 / 456
Регистрация: 10.11.2010
Сообщений: 11,159
Записей в блоге: 10
20.07.2013, 15:49 9
Vlad_IT, совершенно верно.
Цитата Сообщение от Bend3r Посмотреть сообщение
В чем моя ошибка?
Ошибка в том, что ты вводишь цифры не как символы (char), а как целые числа (int). Т.е. должно быть так:
C++
1
2
3
...
case 5:
...
Без кавычек.
1
Заблокирован
Автор FAQ
20.07.2013, 16:36 10
Vlad_IT, ты у меня свича не видишь?
0
Vlad_IT
20.07.2013, 16:46
  #11

Не по теме:

-=ЮрА=-, вижу, но пример далеко не для начинающих :)

0
150 / 137 / 35
Регистрация: 29.07.2012
Сообщений: 709
20.07.2013, 20:16  [ТС] 12
Я знаю как устроить проверка четное, нечетное. Мне просто интересно было как организовать в 1 case, множество значений.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.07.2013, 20:16

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как сделать, чтобы switch работал как цикл?
Как сделать что бы switch работал как цикл ? Ну то есть: switch (n) case 1:break; {newfile1 ();...

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

While{switch{switch{break;}}} break выходит из while
В общем необходимо конструкцию switch запускать в цикле, в каждом case X: стоит свой break;, да бы...

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


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

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

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