logo

Manipulações de proporção em C++ | Conjunto 2 (Comparação)

Pré-requisito - Manipulações de proporção em C++ | Conjunto 1 (Aritmética)
Em C++ o O arquivo de cabeçalho nos permite manipular proporções usando vários alias de modelo integrados. O arquivo de cabeçalho foi introduzido a partir do C++ 11. Neste artigo iremos discutir a comparação de manipulações de proporção em C++. As seguintes funções são usadas:

  • proporção_igual
  • proporção_não_igual
  • proporção_maior
  • proporção_less
  • proporção_maior_igual
  • proporção_menos_igual

1. proporção_igual: Este alias de modelo verifica se o proporções em seus argumentos são iguais . Retorna verdadeiro se for igual, caso contrário retorna falso. Ele retorna um membro booleano constante 'valor'
2. proporção_não_igual: Este alias de modelo verifica se o proporções em seus argumentos são não é igual . Retorna verdadeiro se não for igual, caso contrário, se igual retornar falso. Ele retorna um membro booleano constante 'valor' .  



CPP
// C++ code to demonstrate the working of // ratio_equal and ratio_not_equal #include    #include  // for ratio manipulation using namespace std; // Driver Code int main() {  // Declaring ratios  typedef ratio<10 100> ratio1;  typedef ratio<1 10> ratio2;  // Checking if ratios are equal using ratio_equal  ratio_equal<ratio1 ratio2>::value  ? cout << 'Ratios are equal'  : cout << 'Ratios are not equal';  cout << endl;  // Checking if ratios are not equal using  // ratio_not_equal  ratio_not_equal<ratio1 ratio2>::value  ? cout << 'Ratios are not equal'  : cout << 'Ratios are equal';  return 0; } 

Saída
Ratios are equal Ratios are equal

3. proporção_maior: Este alias temporário verifica se razão1 é maior que razão2 . Isto retorna um membro booleano constante 'valor' que retorna verdadeiro se razão1 for maior que razão2, caso contrário, retorna falso.
4. proporção_less: Este alias temporário verifica se razão1 é menor que razão2 . Isto retorna um membro booleano constante 'valor' que retorna verdadeiro se proporção1 for menor que proporção2, caso contrário, retorna falso. 

CPP
// C++ code to demonstrate the working of // ratio_greater and ratio_less #include    #include  // for ratio manipulation using namespace std; // Driver Code int main() {  // Declaring ratios  typedef ratio<10 100> ratio1;  typedef ratio<11 100> ratio2;  // Checking if ratio1 is greater than ratio2  // using ratio_greater  ratio_greater<ratio1 ratio2>::value  ? cout << 'ratio1 is greater than ratio2'  : cout << 'ratio1 is not greater than ratio2';  cout << endl;  // Checking if ratio1 is less than ratio2  // using ratio_less  ratio_less<ratio1 ratio2>::value  ? cout << 'ratio1 is less than ratio2'  : cout << 'ratio1 is not less than ratio2';  cout << endl;  return 0; } 

Saída
ratio1 is not greater than ratio2 ratio1 is less than ratio2

5. proporção_maior_igual: Este alias temporário verifica se razão1 é maior ou igual que razão2 . Isto retorna um membro booleano constante 'valor' que retorna verdadeiro se proporção1 for maior ou igual a proporção2, caso contrário, retorna falso.
6. proporção_less_equal: Este alias temporário verifica se razão1 é menor ou igual que razão2 . Isto retorna um membro booleano constante 'valor' que retorna verdadeiro se proporção1 for menor ou igual a proporção2, caso contrário, retorna falso. 

CPP
// C++ code to demonstrate the working of // ratio_greater_equal and ratio_less_equal #include    #include  // for ratio manipulation using namespace std; // Driver Code int main() {  // Declaring ratios  typedef ratio<10 100> ratio1;  typedef ratio<1 10> ratio2;  // Checking if ratio1 is greater or equal than ratio2  // using ratio_greater_equal  ratio_greater_equal<ratio1 ratio2>::value  ? cout << 'ratio1 is greater or equal than ratio2'  : cout << 'ratio1 is not greater or equal than '  'ratio2';  cout << endl;  // Checking if ratio1 is less or equal than ratio2  // using ratio_less_equal  ratio_less_equal<ratio1 ratio2>::value  ? cout << 'ratio1 is less or equal than ratio2'  : cout << 'ratio1 is not less or equal than ratio2';  cout << endl;  return 0; } 

Saída
ratio1 is greater or equal than ratio2 ratio1 is less or equal than ratio2