Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2010, 15:47   #1
Marmelade
Пользователь
 
Аватар для Marmelade
 
Регистрация: 29.09.2010
Сообщений: 25
По умолчанию Не могу разобраться с фигурными скобками в оператарах if , else

Выполняю услвие оператора:
{
if ()
cout<<"Otvet"<<"\n";
else ()
cout<<("otvet");
}

{
if ()
cout<<"Otvet"<<"\n";
else ()
cout<<("otvet");
}

Так вот если этихз условий несколько, и какоей нибудь условие не выполняется, постоянно выводятся на ответ все else.... Думаю что проблемма в фигурных скобках... Подскажите в чем ошибка, я только учусь...
Marmelade вне форума Ответить с цитированием
Старый 29.09.2010, 16:46   #2
maryan.vetrov
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 75
По умолчанию

Ты должен понимать что если условие в if ложно, то выполняются операторы из блока else, если истинно, блок else пропускается, таким образом если у тебя идут два подряд отдельных блока операторов if/else, и твое условие в обоих ложно, то оба блока else выполнятся соответственно. Скобки применяются если блок содержит более одного оператора, и необходимо чтобы все они выполнялись внутри этого блока. Каждый оператор if/else также может содержать вложенные условия и т.д.
maryan.vetrov вне форума Ответить с цитированием
Старый 29.09.2010, 16:53   #3
Marmelade
Пользователь
 
Аватар для Marmelade
 
Регистрация: 29.09.2010
Сообщений: 25
По умолчанию

Запутался.... Зачем мне тогда вообще else ? Я могу постоянно делать условие таким образом, что бы оно было правильным...

Последний раз редактировалось Marmelade; 29.09.2010 в 17:02.
Marmelade вне форума Ответить с цитированием
Старый 29.09.2010, 17:16   #4
maryan.vetrov
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 75
По умолчанию

Цитата:
Сообщение от Marmelade Посмотреть сообщение
Запутался.... Зачем мне тогда вообще else ? Я могу постоянно делать условие таким образом, что бы оно было правильным...
Делать ты можешь все что угодно, else применяется для того, чтобы выполняться в случае если условие не выполняется, и не выполняться - если условие выполняется. Если опустить else, то следующий оператор, за блоком операторов условия if, будет выполняться независимо от того, выполняется условие или нет.
maryan.vetrov вне форума Ответить с цитированием
Старый 29.09.2010, 17:18   #5
Marmelade
Пользователь
 
Аватар для Marmelade
 
Регистрация: 29.09.2010
Сообщений: 25
По умолчанию

Хорошо, вот пример:

int a,b;
cin>>a>>b;
{
if (a+b<3)
cout<<"true";
else (a+b>3);
cout<<"false";
}
return 0;
}

Если сумма меньше 3-х, то истина... А получается и истина и ложь... А вот если больше трех то все правильно...
Marmelade вне форума Ответить с цитированием
Старый 29.09.2010, 17:20   #6
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

Код:
if( x > 0 )
   puts( "x больше нуля");
else 
   puts( "x меньше нуля");
Гораздо проще чем :
Код:
if( x > 0 )
   puts( "х больше нуля" );
if( x < 0 )
   puts( "x меньше нуля" );
Но можно и :
Код:
puts( ( x > 0 ? "х больше нуля" : "х меньше нуля" ) );
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux
ozo вне форума Ответить с цитированием
Старый 29.09.2010, 17:22   #7
mrChester
Я
Форумчанин
 
Аватар для mrChester
 
Регистрация: 24.04.2010
Сообщений: 693
По умолчанию

Код:
{int a,b;
cin>>a>>b;

if (a+b<3)
   cout<<"true";
else
   cout<<"false";

return 0;
}
Я понятно объясняю?
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©.
mrChester вне форума Ответить с цитированием
Старый 29.09.2010, 17:25   #8
Marmelade
Пользователь
 
Аватар для Marmelade
 
Регистрация: 29.09.2010
Сообщений: 25
Хорошо

Цитата:
Сообщение от mrChester Посмотреть сообщение
Код:
{int a,b;
cin>>a>>b;

if (a+b<3)
   cout<<"true";
else
   cout<<"false";

return 0;
}
Я понятно объясняю?

Да, теперь, все понятно, спасбо
Marmelade вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не могу разобраться Var17 Общие вопросы Delphi 6 27.03.2010 01:21
[C++] Не могу разобраться ... AquaticSoul Общие вопросы C/C++ 8 24.03.2010 16:23
Не могу разобраться semAz Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 10.03.2010 17:43
НЕ МОГУ РАЗОБРАТЬСЯ... GSV84 HTML и CSS 0 03.02.2010 01:38