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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
#1

Case - C++

01.10.2011, 18:22. Просмотров 2570. Ответов 22
Метки нет (Все метки)

Можно ли как то в конструкции switch case задавать условие например case n<0:и выполнить действие
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2011, 18:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Case (C++):

в case 7 - нужно сделать поиск по номеру группы, а в case 6 сортировку по имени - C++
Помогите пожалуйста: в case 7 - нужно сделать поиск по номеру группы, а в case 6 сортировку по имени #include &lt;iostream&gt; #include...

При выборе case 1 всегда черный экран? как правильно указать путь в case - C++
Доброго времени суток) проблема с компиляций когда при компилирование появляется экран выбора. Нажимаю 1 и все черный экран) пожалуйста...

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

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

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

Case - C++
Есть ли в C++ аналог дэльфишному Case i of? Я конечно могу прописать на каждый вариант if но не красиво же будет )) и дабы не...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alkagolik
Заблокирован
01.10.2011, 18:27 #2
Цитата Сообщение от sergeu90 Посмотреть сообщение
Можно ли как то в конструкции switch case задавать условие например case n<0:и выполнить действие
именно для этого нет необходимости. Для такого условия есть оператор if(). Оператор swith(n) применим к конкретным значениям n, например
C++
1
2
3
4
5
6
std::cin >> n;
swith(n){
      case 1: оператор;
      case 2: оператор;
      default: std::cout << "n не равно 1 или 2" << "\n";
}
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
01.10.2011, 18:30  [ТС] #3
Просто у меня задание именно через эту конструкцию сделать надо там есть например 10 чисел и мне нужно ввести число и вывести числа не меньше заданного через switch case
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
01.10.2011, 18:37 #4
После case должно быть константное значение
Overmind024
99 / 99 / 6
Регистрация: 10.09.2010
Сообщений: 267
01.10.2011, 18:38 #5
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
int n;
cin >> n;
switch(n)
{
case 1:
    cout << 1 << endl;
case 2:
    cout << 2 << endl;
case 3:
    cout << 3 << endl;
case 4:
    cout << 4 << endl;
case 5:
    cout << 5 << endl;
case 6:
    cout << 6 << endl;
case 7:
    cout << 7 << endl;
case 8:
    cout << 8 << endl;
case 9:
    cout << 9 << endl;
case 10:
    cout << 10 << endl;
}
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
01.10.2011, 18:38 #6
Цитата Сообщение от sergeu90 Посмотреть сообщение
там есть например 10 чисел и мне нужно ввести число и вывести числа не меньше заданного через switch case
Можно. Но только для маленьких чисел, т.к. под будет выглядеть следующим образом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void Func(int n )
{
switch( n )
{
     case 1: cout << 1 << " ";
     case 2: cout << 2 << " ";
     case 3: cout << 3 << " ";
     case 4: cout << 4 << " ";
     case 5: cout << 5 << " ";
     case 6: cout << 6 << " ";
     case 7: cout << 7 << " ";
     case 8: cout << 8 << " ";
     case 9: cout << 9 << " ";
     case 10: cout << 10 << " ";
}
}
 
//вызов
Func(5);
 
//вывод
// 5 6 7 8 9 10
Т.е. придётся явно прописать все возможные числа.
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
01.10.2011, 18:39 #7
Overmind024, кхм.. А если 100 значений?
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
01.10.2011, 18:42  [ТС] #8
Вы неправильно поняли есть 10 чисел в таблице их вводить не надо они разные мне надо ввести одно число и вывести те числа которые не меньше заданного
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
01.10.2011, 18:46 #9
Цитата Сообщение от sergeu90 Посмотреть сообщение
их вводить не надо они разные
Если они задаются при компиляции, то решение в постах 4-5 иначе при помощи case эта задача не решается.
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
01.10.2011, 18:49  [ТС] #10
Там уже числа готовые есть например 100 200 300 и так далее я ввожу 250 и мне должно вывести 100 и 200
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
01.10.2011, 18:53 #11
Цитата Сообщение от sergeu90 Посмотреть сообщение
ввожу 250 и мне должно вывести 100 и 200
Ты наверное удивишься, но 100 и 200 не "не меньше" 250...
Решение предоставлено дважды. Просто добавь воды...
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
01.10.2011, 18:58  [ТС] #12
Попутал должно вывести 300 и так далее как это с case сделать

Добавлено через 1 минуту
Я могу ввести любое число и мне как то проверку надо делать
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
01.10.2011, 18:59 #13
sergeu90, на это есть оператор условия (if)
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
01.10.2011, 19:02 #14
Цитата Сообщение от sergeu90 Посмотреть сообщение
Я могу ввести любое число и мне как то проверку надо делать
case предназначен не для таких задач. Тут только кучей if'ов или любым другим способом, использующем if.
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,608
01.10.2011, 19:03 #15
Цитата Сообщение от Deviaphan Посмотреть сообщение
при помощи case эта задача не решается.
Да ну?!
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int main(void){
    int arr[5] = { 2, 3, 5, 1, 4 }, num = 3, i;
    
    for ( i = 0; i < 5; ++i ){
        switch ( arr[i] < num ){
            case 0:
                printf("%d ", arr[i]);
                break;
        }
    }
    
    printf("\n");
}
Хотя дурдом, конечно...
sergeu90, это вас препод надоумил case использовать? Этот оператор лучше немного в других ситуациях, для операций сравнения if предназначен. switch/case больше подходит для выбора одного из конечного числа значений...

Не по теме:

Собственно то же самое alkagolik, ещё во втором посте сказал. Вот, почему так здо'рово темы с первой страницы читать...

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2011, 19:03
Привет! Вот еще темы с ответами:

CASE(C++) - C++
Помогите решить задачку, пожалуйста. С начала 1990 года по некоторый день прошло n месяцев и 2 дня. Определить название месяца(январь,...

CASE - C++
Не могу понять почему программа выводит пустой массив, при входе в case функция перестаёт слушаться. За сase-ом работает отлично. В сase...

If и case - C++
Нужно чтобы программа принимала числа от -100 до 1000. Используя if, при значении, которое не входит в этот диапазон, программа...

case -> if - C++
Надо переделать с си++ на си, т.е. case на if while(choice != 4) { switch(choice) { case 1: add_student(); ...


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

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

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