Gautam Naresh Ответов: 2

Как сравнить значение в 2-х состояниях.


у меня есть 2 целых числа a и b, которые нужно использовать в 2-х условиях.

int condition1()
{
  if (a==0){
   b=5;
  }
  else(a==1)
   b=7;
  }
  ......
}

int condition2()
{
  if (b==5){
   a=0;
  }
  else(b==7)
   a=1;
  }
  ......
}


Что я уже пробовал:

я хочу как
int condition1()
{
int x;
 check(x);
}

int condition2()
{
int x;
 check(x);
}

int check(int a)
{
 int b
// and i dont know how to write condition in here which use in both condition.
return b;
}

2 Ответов

Рейтинг:
0

CPallini

Обратите внимание, что

Цитата:
инт условие1()
{
если (a==0){
b=5;
}
else(a==1)
b=7;
}
......
}
это недопустимый код. Вы должны написать что-то вроде
int condition1()
{
  if (a == 0)
  {
    b = 5;
  }
  else if ( a == 1)
  {
    b = 7;
  }
  //...
}


Для того чтобы объединить два (или более) условия, существуют логические операторы, мягко предоставляемые языком программирования, см., например: Логические Операторы C++ [^].
Например
if ( a == 0 && b ==5)
{
  //do something wonderful here..
}


Рейтинг:
0

OriginalGriff

Совершенно не ясно, что вы пытаетесь сделать, но ясно, что вы делаете это совершенно неправильно.
Ваш check метод возвращает значение, которое является правильным, но вызывающий его код не использует его.
Ваш condition методы должны возвращать значение, но не делают этого.
Ваш check метод принимает параметр, но не использует его.
Вы condition методы не принимают параметр и должны принимать его.

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

Если вы имеете в виду следующее: "Могу ли я написать функцию, которая одновременно condition1 и condition2 может позвонить?", то вам нужно будет быть гораздо более конкретным о том, что он должен делать - особенно когда значение не соответствует ни одному из следующих параметров. if условия!