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

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

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

Case - C++

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

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

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

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alkagolik
Заблокирован
01.10.2011, 18:27     Case #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  [ТС]     Case #3
Просто у меня задание именно через эту конструкцию сделать надо там есть например 10 чисел и мне нужно ввести число и вывести числа не меньше заданного через switch case
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
01.10.2011, 18:37     Case #4
После case должно быть константное значение
Overmind024
99 / 99 / 6
Регистрация: 10.09.2010
Сообщений: 267
01.10.2011, 18:38     Case #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     Case #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     Case #7
Overmind024, кхм.. А если 100 значений?
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
01.10.2011, 18:42  [ТС]     Case #8
Вы неправильно поняли есть 10 чисел в таблице их вводить не надо они разные мне надо ввести одно число и вывести те числа которые не меньше заданного
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
01.10.2011, 18:46     Case #9
Цитата Сообщение от sergeu90 Посмотреть сообщение
их вводить не надо они разные
Если они задаются при компиляции, то решение в постах 4-5 иначе при помощи case эта задача не решается.
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
01.10.2011, 18:49  [ТС]     Case #10
Там уже числа готовые есть например 100 200 300 и так далее я ввожу 250 и мне должно вывести 100 и 200
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
01.10.2011, 18:53     Case #11
Цитата Сообщение от sergeu90 Посмотреть сообщение
ввожу 250 и мне должно вывести 100 и 200
Ты наверное удивишься, но 100 и 200 не "не меньше" 250...
Решение предоставлено дважды. Просто добавь воды...
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
01.10.2011, 18:58  [ТС]     Case #12
Попутал должно вывести 300 и так далее как это с case сделать

Добавлено через 1 минуту
Я могу ввести любое число и мне как то проверку надо делать
Zverit
Уничтожитель печенек
277 / 205 / 21
Регистрация: 07.02.2010
Сообщений: 723
01.10.2011, 18:59     Case #13
sergeu90, на это есть оператор условия (if)
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
01.10.2011, 19:02     Case #14
Цитата Сообщение от sergeu90 Посмотреть сообщение
Я могу ввести любое число и мне как то проверку надо делать
case предназначен не для таких задач. Тут только кучей if'ов или любым другим способом, использующем if.
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
01.10.2011, 19:03     Case #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, ещё во втором посте сказал. Вот, почему так здо'рово темы с первой страницы читать...

sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
01.10.2011, 19:06  [ТС]     Case #16
Я это знаю но задание написано через case

Добавлено через 3 минуты
Это 2 лаба и там нельзя циклы и массивы использовать
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
01.10.2011, 19:11     Case #17
Цитата Сообщение от sergeu90 Посмотреть сообщение
Это 2 лаба и там нельзя циклы и массивы использовать
И в правду дурдом... Ну перепешите всё то же самое ещё 9 раз, а не в цикле и будет вам счастье... Просто из любопытства: это где так учат?
alkagolik
Заблокирован
01.10.2011, 19:12     Case #18
Цитата Сообщение от sergeu90 Посмотреть сообщение
Это 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
#include <stdio.h>
#include <stdlib.h>
 
int main(){
    int a[5] = {100, 200, 300, 400, 500};
    int n = 250, i = 0;
 
    if (n < a[0])
        n = a[0];
    else if(n > a[0] && n < a[1])
        n = a[1];
    else if(n > a[1] && n < a[2])
        n = a[2];
    else if(n > a[2] && n < a[3])
        n = a[3];
    else if(n > a[3] && n < a[4])
        n = a[4];
 
    switch(n){
        case 100: printf(" %d", a[0]);
        case 200: printf(" %d", a[1]);
        case 300: printf(" %d", a[2]);
        case 400: printf(" %d", a[3]);
        case 500: printf(" %d", a[4]);
    }
    return 0;
}
sergeu90
27 / 28 / 3
Регистрация: 17.10.2009
Сообщений: 739
01.10.2011, 19:15  [ТС]     Case #19
В белоруссии бнту
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2011, 19:15     Case
Еще ссылки по теме:

switch i case - C++
v 4jom u menja o6ibka? i kak vivisti rezultat? # include &lt;iostream&gt; # include &lt;conio.h&gt; using namespace std; int main () ...

case-switch - C++
Вот то задание что с case-switch надо сделать помогите знаю что задание дурное

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

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

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


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

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
01.10.2011, 19:15     Case #20
Цитата Сообщение от alkagolik Посмотреть сообщение
int a[5] = {100, 200, 300, 400, 500};
Ага, щас!
C
1
int a1, a2, a3...
Yandex
Объявления
01.10.2011, 19:15     Case
Ответ Создать тему
Опции темы

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