diff --git a/src/data/roadmaps/cpp/content/if-else--switch--goto@bjpFWxiCKGz28E-ukhZBp.md b/src/data/roadmaps/cpp/content/if-else--switch--goto@bjpFWxiCKGz28E-ukhZBp.md index 508114a8b..c85d47b8e 100644 --- a/src/data/roadmaps/cpp/content/if-else--switch--goto@bjpFWxiCKGz28E-ukhZBp.md +++ b/src/data/roadmaps/cpp/content/if-else--switch--goto@bjpFWxiCKGz28E-ukhZBp.md @@ -1 +1,106 @@ -# if else / switch / goto \ No newline at end of file +# Branching Statements + +Branching statements allow you to conditionally or unconditionally execute different parts of your code. The branching statements that will be covered are `if-else`, `switch`, and `goto`. + +## if-else +The `if-else` statement is a conditional branching statement that allows you to execute one of two blocks of code depending on whether a condition is satisfied. This statement is useful for making decisions based on a boolean expression. The syntax for the `if-else` statement is: + +```cpp +if (condition) { + // Block of code executed if the condition is true +} else { + // Block of code executed if the condition is false +} +``` + +For example: + +```cpp +#include <iostream> +using namespace std; + +int main() { + int a = 10, b = 5; + if (a > b) { + cout << "a is greater than b"; + } else { + cout << "b is greater than a"; + } +} +``` + +## switch +The `switch` statement allows you to execute different blocks of code based on the value of a `control variable`. It uses `cases` to define code blocks that run when a specific value matches. A `default` case is executed if none of the other cases match. Each `case` must end with a `break` statement; otherwise, all following cases will execute. `switch` is useful when you want to compare a `control variable` to multiple constant values. The syntax for the `switch` statement is: + +```cpp +switch (control_variable) { + case 1: { + // Code to be executed for case 1 + break; + } + case 2: { + // Code to be executed for case 2 + break; + } + default: { + // Code to be executed if no cases match + break; + } +} +``` + +For example: + +```cpp +#include <iostream> +using namespace std; + +int main() { + int ch; + cout << "Select a language: 1. English 2. French"; + cin >> ch; + switch (ch) { + case 1: { + cout << "Good morning!"; + break; + } + case 2: { + cout << "Bonjour!"; + break; + } + default: { + cout << "The option does not exist :)"; + break; + } + } +} +``` + +## goto +The `goto` statement allows you to unconditionally jump to different parts of your program using `labels` as location points. The syntax for `goto` is: + +```cpp +goto label_name; +``` + +For example: + +```cpp +#include <iostream> +using namespace std; + +int main() { + cout << "This is line 1"; + goto line_3; + + // This line will be skipped + cout << "This line will be skipped"; + +line_3: + cout << "This is line 3"; +} +``` + +- [@article@C++ if else](https://www.w3schools.com/cpp/cpp_conditions.asp) +- [@article@C++ switch](https://www.w3schools.com/cpp/cpp_switch.asp) +- [@article@C++ goto](https://www.programiz.com/cpp-programming/goto)