Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
VasekNkp
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 18
1

Использование if совместно с case

11.03.2017, 21:57. Просмотров 727. Ответов 8
Метки c++ (Все метки)

Добрейшего времени бытия, товарищи!
У меня возник вот такой вопрос:"Можно ли сделать IF по результату выбора какого-то SWITCH-CASE?"?
Поясню. Можно ли написать что-то наподобие if(switch(f)==1)?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2017, 21:57
Ответы с готовыми решениями:

Циклы и использование case
Вот задание: Напишите программу, которая читает из cin входные числа (целые или вещественные) и...

Использование switch-case
Помогите пожалуйста!!! мне нужно через case, но у меня он не работает, выдает ошибку. Как...

Использование оператора switch/case
Недавно начал изучать C++ и решил написать простенький калькулятор, в итоге получил ошибки. ...

Использование case в зависимости от строки
Хочу сделать функцию: int checkLexeme(const char lexeme, ...) { switch (lexeme) { case...

Использование двух cpp файлов вместо switch case
Доброго времени суток, Я новичек в программировании, так что не судите строго :) Использую...

8
Azazel-San
Mental handicap
1004 / 488 / 139
Регистрация: 24.11.2015
Сообщений: 2,051
Завершенные тесты: 1
11.03.2017, 22:01 2
Цитата Сообщение от VasekNkp Посмотреть сообщение
if(switch(f)==1)?
так, точно нет, т.к. тело switch не определено
Главное зачем?
0
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
5200 / 2585 / 715
Регистрация: 18.10.2014
Сообщений: 4,504
11.03.2017, 22:03 3
Цитата Сообщение от VasekNkp Посмотреть сообщение
У меня возник вот такой вопрос:"Можно ли сделать IF по результату выбора какого-то SWITCH-CASE?"?
Поясню. Можно ли написать что-то наподобие if(switch(f)==1)?
Совершенно не ясно, о чем идет речь. Ваше "поясню" ничего не поясняет.
0
VasekNkp
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 18
11.03.2017, 22:28  [ТС] 4
Добавлено через 2 минуты
Цитата Сообщение от Azazel-San Посмотреть сообщение
Главное зачем?
Для разного развития сюжета. Например если я взял оружие, то у меня получится выполнить действие, если же нет, то лишь смерть.
Я так понял что можно просто сделать IF по переменной, например написать
C++
1
2
3
4
5
6
7
char weapon=0;
cout<<"Взять оружие? 1)Yes 2)No";
cin>>weapon;
if(weapon==1)
cout<<"Вы успешно воспользовались свои оружием и победили";
else
cout<<"Вас убили потому что вам не было чем отбиться";
0
11.03.2017, 22:28
Azazel-San
Mental handicap
1004 / 488 / 139
Регистрация: 24.11.2015
Сообщений: 2,051
Завершенные тесты: 1
11.03.2017, 22:37 5
Цитата Сообщение от VasekNkp Посмотреть сообщение
Для разного развития сюжета.
для этого еще существуют конструкции if — else if
C++
1
2
3
4
5
6
7
if (num < 10) {  // Если введенное число меньше 10.
    cout << "Это число меньше 10." << endl;
} else if (num == 10) {
    cout << "Это число равно 10." << endl;
} else {  // иначе
    cout << "Это число больше 10." << endl;
}
и собственно switch
C++
1
2
3
4
5
6
7
8
9
10
11
12
switch ( <переменная> ) {
case значение1:
  Выполнить если <переменная> == значение1
  break;
case значение2:
  Выполнить если <переменная> == значение2
  break;
...
default:
  выполнить, если ни один вариант не подошел
  break;
}
1
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
5200 / 2585 / 715
Регистрация: 18.10.2014
Сообщений: 4,504
11.03.2017, 22:46 6
Цитата Сообщение от VasekNkp Посмотреть сообщение
Я так понял что можно просто сделать IF по переменной, например написать
Можно. Но при чем здесь switch?
0
Mournful Max
Велосипедист...
349 / 216 / 74
Регистрация: 15.12.2015
Сообщений: 785
Завершенные тесты: 1
11.03.2017, 23:50 7
Цитата Сообщение от VasekNkp Посмотреть сообщение
У меня возник вот такой вопрос:"Можно ли сделать IF по результату выбора какого-то SWITCH-CASE?"?
Если я правильно понял, то:
C++
1
2
3
4
5
6
7
8
9
10
11
12
int result = 0;
 
switch(variable)
{
case 1: ... result = 1; break;
case 2: ... result = -1; break;
 
default: ... result = 0;
}
 
if (result >= 0) cout << "Awesome!\n";
else cout << "Awful!\n";
Цитата Сообщение от VasekNkp Посмотреть сообщение
Можно ли написать что-то наподобие if(switch(f)==1)?
Нельзя... switch() ничего не возвращает.
1
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7457 / 3683 / 503
Регистрация: 04.12.2011
Сообщений: 10,500
Записей в блоге: 5
12.03.2017, 00:03 8
VasekNkp, посмотрите на вот это утверждение:
switch(f)==1
инфиксная операция == требует двух операндов для которых данная операция определена. Для единицы она не определена, даже. То есть тип этой единицы понятен компилятору после анализа другого операнда. Это может быть целый тип или тип с плавающей точкой... . А switch(f) пока вы не задефайните ключевое слово типа того:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream> 
#define switch foo_byaka
 
int switch( int f){
return f;
}
using namespace std; 
void main()
{
int f=1;
if(switch(f) == 1) cout<<"shizza cosit "<< f <<" odin raz";
else
cout<< cout<<"shiza cosit "<< f <<" ne odin raz";
cout<<endl;
system("pause");    
}
ничего не выйдет. Скорей всего, прока лучше без оружия обойтись. Посмотрите синтаксис.
1
VasekNkp
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 18
14.03.2017, 01:35  [ТС] 9
Я имел ввиду что его можно использовать как альтернативу.

Добавлено через 53 секунды
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Можно. Но при чем здесь switch?
Я имел ввиду что его можно использовать как альтернативу.
0
14.03.2017, 01:35
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2017, 01:35

в case 7 - нужно сделать поиск по номеру группы, а в case 6 сортировку по имени
Помогите пожалуйста: в case 7 - нужно сделать поиск по номеру группы, а в case 6 сортировку по...

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

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


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

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

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