Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/25: Рейтинг темы: голосов - 25, средняя оценка - 4.56
 Аватар для VasekNkp
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 18

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

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

Студворк — интернет-сервис помощи студентам
Добрейшего времени бытия, товарищи!
У меня возник вот такой вопрос:"Можно ли сделать IF по результату выбора какого-то SWITCH-CASE?"?
Поясню. Можно ли написать что-то наподобие if(switch(f)==1)?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.03.2017, 21:57
Ответы с готовыми решениями:

Использование TOP и GROUP BY совместно
Мне нужно получить по одной записи из каждой группы в таблице. Например, А Б В 1 2 3 2 3 3 3 6 4 4 5 ...

Использование нескольких языков совместно с C#
Ребята, я слышал что в С# можно использовать несколько языков, что например можно часть кода написать на С++ а часть на С#. Только на этом...

Использование VB или VB .NET совместно с IIS
В указанных программах есть поддержка для упрощенного написания ASP скриптов из этих оболочек. VB6.0 требует IIS версии 3.0 и выше но мою...

8
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
11.03.2017, 22:01
Цитата Сообщение от VasekNkp Посмотреть сообщение
if(switch(f)==1)?
так, точно нет, т.к. тело switch не определено
Главное зачем?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12922 / 6789 / 1818
Регистрация: 18.10.2014
Сообщений: 17,178
11.03.2017, 22:03
Цитата Сообщение от VasekNkp Посмотреть сообщение
У меня возник вот такой вопрос:"Можно ли сделать IF по результату выбора какого-то SWITCH-CASE?"?
Поясню. Можно ли написать что-то наподобие if(switch(f)==1)?
Совершенно не ясно, о чем идет речь. Ваше "поясню" ничего не поясняет.
0
 Аватар для VasekNkp
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 18
11.03.2017, 22:28  [ТС]
Добавлено через 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
Mental handicap
 Аватар для Azazel-San
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
11.03.2017, 22:37
Цитата Сообщение от 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
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12922 / 6789 / 1818
Регистрация: 18.10.2014
Сообщений: 17,178
11.03.2017, 22:46
Цитата Сообщение от VasekNkp Посмотреть сообщение
Я так понял что можно просто сделать IF по переменной, например написать
Можно. Но при чем здесь switch?
0
Велосипедист...
 Аватар для Mournful Max
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
11.03.2017, 23:50
Цитата Сообщение от 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
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
12.03.2017, 00:03
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  [ТС]
Я имел ввиду что его можно использовать как альтернативу.

Добавлено через 53 секунды
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Можно. Но при чем здесь switch?
Я имел ввиду что его можно использовать как альтернативу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.03.2017, 01:35
Помогаю со студенческими работами здесь

Использование Entity Framework совместно с SQLite
Подскажите пожалуйста как совместить их? Только при создании БД из графического интерфейса (через диаграмму). Я еще только только впервые...

Использование совместно паттернов Builder и Abstract Factory
Добрый день. При изучении паттернов возникла идя написать программу моделирующую процесс производства авто с момента заказа клиентом. Суть...

Использование SqlDataSource совместно с MySql для удаления записей из БД
Добрый день! Не могу заставить SqlDataSource удалять записи из таблицы MySql. Все остальные операции (Select, Update, Insert) выполняет...

Использование диаграмм состояний и действий совместно с железнодорожной библиотекой
Добрый день! Возник небольшой вопрос касаемо возможностей агентного моделирования: можно ли использовать диаграммы состояний и действий...

Использование hibernate.hbm2ddl.auto совместно с MySql8 и Hibernate
Это справедливо для H2, которая может быть настроена для распаковки в оперативную память ? Или же можно настроить таким образом работу...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru