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

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

Войти
Регистрация
Восстановить пароль
 
sergey.shuvalov
-6 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 268
#1

Условие в условии - C++

02.05.2013, 10:11. Просмотров 1068. Ответов 10
Метки нет (Все метки)

Здравствуйте всем.

Периодически нужно менять условия и поэтому одно из двух условий делал неактивным помещая в /*----*/

Код
if( 
  условие 1

 /*условие 2*/

  ){очень много строк}


Попытался сделать так, но компилятор не пропустил.

Код
if( 
  if(k==1){условие 1}

   else {условие 2}

  ){очень много строк}

Подскажите, пожалуйста, как можно в данном случае решить вопрос.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2013, 10:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Условие в условии (C++):

Ошибка в условии if - C++
Только начал учится на с++.В общем,при вводе числа а>1000 или <0 должен выводит "неверный ввод".С меньше нуля все отлично работает,а вот...

Указатель в условии - C++
while (*p){...} if (*p) {...} Что означает подобная запись?

Апострофы в условии - C++
Доброго времени, вопрос следующий: Как, в условии if сравнивать символы с апострофом? я никак не могу понять как его обозначить Заранее...

Конструкция в условии - C++
if(a==b==c==5) Такая конструкции будет работать без сбоев? А то компилятор делает предупреждение.

Строки в условии - C++
Помоги разобраться со строками в условии. cout<<"Is it a worker or a student?"<<endl; cin>>s; if(s=="worker") ...

Составить программу, которая выводит на экран слово «ИСТИНА», если условие выполнено или слово «ЛОЖЬ», если условие не выполнено. - C++
Цифры данного трехзначного числа V являются членами арифметической прогрессии

10
Miwa123
37 / 37 / 1
Регистрация: 16.04.2013
Сообщений: 317
Записей в блоге: 1
02.05.2013, 11:07 #2
if(усл)
{
if(усл){}
else {}
}
else
{
if(усл){}
else {}
}

можно разветвлять до бесконечности
0
sergey.shuvalov
-6 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 268
02.05.2013, 11:31  [ТС] #3
В {....} находиться около 2 тысяч строк программного кода, 4*2000=8000. Многовато будет.
0
0x10
02.05.2013, 11:44
  #4

Не по теме:

До конца так и не понял что же хочет автор, но 2к строк кода - почти наверняка стоит разбить на функции.

0
sergey.shuvalov
-6 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 268
02.05.2013, 11:58  [ТС] #5
Miwa123, В {....} находиться около 2 тысяч строк программного кода, 4*2000=8000. Многовато будет.
0
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
02.05.2013, 16:29 #6
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
Периодически нужно менять условия и поэтому одно из двух условий делал неактивным помещая в /*----*/
Юзай флаг переключения условий:
C++
1
2
3
4
5
if (((условие1)&&f)||((условие2)&&(!f))){
}
else
{
}
.
1
sergey.shuvalov
-6 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 268
02.05.2013, 17:19  [ТС] #7
taras atavin, Надо попробовать.

Добавлено через 23 минуты
taras atavin, Кстати, натолкнули на классную идею. Если int f=1, f=2,f=3,f=3,f=4,....... , тогда можно переключать и выбирать из "бесконечного" числа условий.
if( ........ ((условие n)&&(f==n))||((условие n)&&(f==n))||((условие n)&&(f==n))..........){}
0
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
02.05.2013, 17:26 #8
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
Если int f=1, f=2,f=3,f=3,f=4,....... , тогда
Брез собачий. f должно быть булевым. А если тебе надо индексировать условия, то
C++
1
2
3
4
5
 if (((условие1)&&(f==1))||((условие2)&&(f==2))||((условие3)&&(f==3))||((условие4)&&(f==4))){
}
else
{
}
0
sergey.shuvalov
-6 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 268
02.05.2013, 19:11  [ТС] #9
taras atavin, Да я уже сделал и всё работает. Насчёт бреда. Может ты меня не понял. Когда я объявил int f,
я уже подразумевал, что f уже не флаг, а обычная целочисленная переменная. Я подумал, что это и так понятно. Извиняюсь, если это не все сразу поняли.

А else я в данном случае не использую.

И f никому ничего не должно.
0
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
03.05.2013, 17:11 #10
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
я уже подразумевал, что f уже не флаг, а обычная целочисленная переменная. Я подумал, что это и так понятно. Извиняюсь, если это не все сразу поняли.
Это как раз легко читается. Но в самом условии должен быть bool.

Добавлено через 1 минуту
Цитата Сообщение от sergey.shuvalov Посмотреть сообщение
И f никому ничего не должно.
Это ты никому и ничего не должен, ты творец, а f в данном случае тварь и должна.
0
sergey.shuvalov
-6 / 1 / 0
Регистрация: 06.11.2011
Сообщений: 268
04.05.2013, 13:24  [ТС] #11
taras atavin, Скорее не в условии bool, а само условие является bool.
f - это символ переменной в данном случае. Может инициализироваться как int, float, bool и т.д.
Поэтому символ не может кому-либо и чему-либо должен. За подсказку спасибо большое, но по поводу f, я останусь при своём мнении, и при этом никто не запрещает Вам иметь, отличное от моего, мнение.
0
04.05.2013, 13:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2013, 13:24
Привет! Вот еще темы с ответами:

Ошибка в условии if в функции - C++
Вот фрагмент кода. class directoryNote { protected: vector <telephone> telephones; string mail; string twitter;...

Функция getline в условии while - C++
Здравствуйте! Перевожу код с c++ на c#. Но возникла проблема с условием цикла while while(getline(cin,S)) {...} Почитал в...

Ошибка в условии цикла - C++
Кароч пишу крестики-нолики и тут на пути появилась непонятная ошибка int cell; if (num==1) { cout <<...

Функции амперсанда в условии if - C++
Второй день как изучаю С++, учусь по учебнику Глушакова, Коваля Смирнова. В главе про цикл while не могу разобрать пример. А конкретней...


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

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

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