Operatori Relazionali
Gli operatori relazionali (>
, <
, >=
, <=
, ==
, !=
) vengono utilizzati per confrontare due valori. Determinano la relazione tra i valori e restituiscono true
o false
.
Per visualizzare true
durante la stampa di un valore booleano con std::cout
, è sufficiente utilizzare std::cout
con un valore bool.
main.cpp
123456#include <iostream> int main() { std::cout << true; }
Per impostazione predefinita, std::cout
stampa uno per true
e zero per false
. Per stampare true
e false
come parole, è necessario utilizzare il manipolatore std::boolalpha
. Questo istruisce std::cout
a visualizzare i valori booleani come parole invece che come numeri.
first_boolaplha_usage.cpp
second_boolaplha_usage.cpp
123456#include <iostream> int main() { std::cout << std::boolalpha << true; }
Utilizzo degli operatori
Per confrontare se qualcosa è uguale, utilizzare l'operatore ==
con due segni di uguale. Ricorda che =
è un operatore diverso utilizzato per l'assegnazione, non per il confronto.
main.cpp
123456789#include <iostream> int main() { // Imagine you need to verify if the user has entered the correct password std::cout << std::boolalpha; std::cout << ("yw>r'Peq/2d" == "yw>r'Peq/2d") << std::endl; std::cout << ("yw>r'Peq/2d" == "VzF>.6Qy(UI?") << std::endl; }
Quando si utilizzano gli operatori relazionali >
(maggiore di) e <
(minore di), è possibile confrontare due valori per verificare quale sia maggiore o minore. Il risultato sarà true
se la condizione è soddisfatta, altrimenti sarà false
.
main.cpp
123456789#include <iostream> int main() { std::cout << std::boolalpha; // Checking if a customer has enough balance // To withdraw 300 from an account balance of 500 std::cout << (500 > 300) << std::endl; }
Se l'utente desidera prelevare 500 e il suo saldo è anch'esso 500, l'operatore >
restituirà false
, poiché verifica se il saldo è strettamente maggiore dell'importo del prelievo. Tuttavia, il prelievo è comunque possibile. In questo caso, è opportuno utilizzare l'operatore >=
o <=
per verificare se il saldo è maggiore o uguale a all'importo del prelievo, il che restituirebbe correttamente true
.
main.cpp
123456789#include <iostream> int main() { std::cout << std::boolalpha; // Checking if a customer has enough balance // To withdraw 500 from an account balance of 500 std::cout << (500 >= 500) << std::endl; }
1. Qual è il comportamento predefinito di std::cout
quando stampa un valore booleano?
2. Come si può verificare se due stringhe non sono uguali?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you give an example of using relational operators in code?
What does `std::boolalpha` do in practice?
When should I use `>=` instead of `>`?
Awesome!
Completion rate improved to 3.85
Operatori Relazionali
Scorri per mostrare il menu
Gli operatori relazionali (>
, <
, >=
, <=
, ==
, !=
) vengono utilizzati per confrontare due valori. Determinano la relazione tra i valori e restituiscono true
o false
.
Per visualizzare true
durante la stampa di un valore booleano con std::cout
, è sufficiente utilizzare std::cout
con un valore bool.
main.cpp
123456#include <iostream> int main() { std::cout << true; }
Per impostazione predefinita, std::cout
stampa uno per true
e zero per false
. Per stampare true
e false
come parole, è necessario utilizzare il manipolatore std::boolalpha
. Questo istruisce std::cout
a visualizzare i valori booleani come parole invece che come numeri.
first_boolaplha_usage.cpp
second_boolaplha_usage.cpp
123456#include <iostream> int main() { std::cout << std::boolalpha << true; }
Utilizzo degli operatori
Per confrontare se qualcosa è uguale, utilizzare l'operatore ==
con due segni di uguale. Ricorda che =
è un operatore diverso utilizzato per l'assegnazione, non per il confronto.
main.cpp
123456789#include <iostream> int main() { // Imagine you need to verify if the user has entered the correct password std::cout << std::boolalpha; std::cout << ("yw>r'Peq/2d" == "yw>r'Peq/2d") << std::endl; std::cout << ("yw>r'Peq/2d" == "VzF>.6Qy(UI?") << std::endl; }
Quando si utilizzano gli operatori relazionali >
(maggiore di) e <
(minore di), è possibile confrontare due valori per verificare quale sia maggiore o minore. Il risultato sarà true
se la condizione è soddisfatta, altrimenti sarà false
.
main.cpp
123456789#include <iostream> int main() { std::cout << std::boolalpha; // Checking if a customer has enough balance // To withdraw 300 from an account balance of 500 std::cout << (500 > 300) << std::endl; }
Se l'utente desidera prelevare 500 e il suo saldo è anch'esso 500, l'operatore >
restituirà false
, poiché verifica se il saldo è strettamente maggiore dell'importo del prelievo. Tuttavia, il prelievo è comunque possibile. In questo caso, è opportuno utilizzare l'operatore >=
o <=
per verificare se il saldo è maggiore o uguale a all'importo del prelievo, il che restituirebbe correttamente true
.
main.cpp
123456789#include <iostream> int main() { std::cout << std::boolalpha; // Checking if a customer has enough balance // To withdraw 500 from an account balance of 500 std::cout << (500 >= 500) << std::endl; }
1. Qual è il comportamento predefinito di std::cout
quando stampa un valore booleano?
2. Come si può verificare se due stringhe non sono uguali?
Grazie per i tuoi commenti!