Relationelle Operatorer
Relationale operatorer (>, <, >=, <=, ==, !=) bruges til at sammenligne to værdier. De fastslår forholdet mellem værdierne og returnerer true eller false.
For at vise true, når en boolesk værdi udskrives med std::cout, kan du blot bruge std::cout med en boolsk værdi.
main.cpp
123456#include <iostream> int main() { std::cout << true; }
Som standard udskriver std::cout ét for true og nul for false. For at udskrive true og false som ord, skal du bruge manipulatoren std::boolalpha. Den instruerer std::cout i at vise booleske værdier som ord i stedet for tal.
first_boolaplha_usage.cpp
second_boolaplha_usage.cpp
123456#include <iostream> int main() { std::cout << std::boolalpha << true; }
Brug af operatorer
For at sammenligne om noget er lig med, anvendes operatoren == med to lighedstegn. Bemærk, at = er en anden operator, der bruges til tildeling og ikke til sammenligning. Forskellig fra-operatoren (!=) er nyttig, når der kun skal udføres en handling, hvis to værdier er forskellige.
main.cpp
123456789101112#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; std::cout << ("yw>r'Peq/2d" != "yw>r'Peq/2d") << std::endl; std::cout << ("yw>r'Peq/2d" != "VzF>.6Qy(UI?") << std::endl; }
Ved brug af de relationelle operatorer > (større end) og < (mindre end) kan du sammenligne to værdier for at kontrollere, hvilken der er større eller mindre. Resultatet vil være true, hvis betingelsen er opfyldt, og false ellers.
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; }
Hvis brugeren ønsker at hæve 500, og deres saldo også er 500, vil >-operatoren returnere false, da den kontrollerer, om saldoen er strengt større end hævebeløbet. Hævningen er dog stadig mulig. I dette tilfælde bør du bruge operatoren >= eller <= for at kontrollere, om saldoen er større end eller lig med hævebeløbet, hvilket korrekt vil returnere 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. Hvad er standardadfærden for std::cout, når en boolsk værdi udskrives?
2. Hvordan kan du kontrollere, om to strenge ikke er ens?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
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
Relationelle Operatorer
Stryg for at vise menuen
Relationale operatorer (>, <, >=, <=, ==, !=) bruges til at sammenligne to værdier. De fastslår forholdet mellem værdierne og returnerer true eller false.
For at vise true, når en boolesk værdi udskrives med std::cout, kan du blot bruge std::cout med en boolsk værdi.
main.cpp
123456#include <iostream> int main() { std::cout << true; }
Som standard udskriver std::cout ét for true og nul for false. For at udskrive true og false som ord, skal du bruge manipulatoren std::boolalpha. Den instruerer std::cout i at vise booleske værdier som ord i stedet for tal.
first_boolaplha_usage.cpp
second_boolaplha_usage.cpp
123456#include <iostream> int main() { std::cout << std::boolalpha << true; }
Brug af operatorer
For at sammenligne om noget er lig med, anvendes operatoren == med to lighedstegn. Bemærk, at = er en anden operator, der bruges til tildeling og ikke til sammenligning. Forskellig fra-operatoren (!=) er nyttig, når der kun skal udføres en handling, hvis to værdier er forskellige.
main.cpp
123456789101112#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; std::cout << ("yw>r'Peq/2d" != "yw>r'Peq/2d") << std::endl; std::cout << ("yw>r'Peq/2d" != "VzF>.6Qy(UI?") << std::endl; }
Ved brug af de relationelle operatorer > (større end) og < (mindre end) kan du sammenligne to værdier for at kontrollere, hvilken der er større eller mindre. Resultatet vil være true, hvis betingelsen er opfyldt, og false ellers.
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; }
Hvis brugeren ønsker at hæve 500, og deres saldo også er 500, vil >-operatoren returnere false, da den kontrollerer, om saldoen er strengt større end hævebeløbet. Hævningen er dog stadig mulig. I dette tilfælde bør du bruge operatoren >= eller <= for at kontrollere, om saldoen er større end eller lig med hævebeløbet, hvilket korrekt vil returnere 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. Hvad er standardadfærden for std::cout, når en boolsk værdi udskrives?
2. Hvordan kan du kontrollere, om to strenge ikke er ens?
Tak for dine kommentarer!