192 lines
6.0 KiB
Markdown
192 lines
6.0 KiB
Markdown
---
|
||
title: If-Else Statement
|
||
localeTitle: If-Else Statement
|
||
---
|
||
## Что делает заявление If-Else?
|
||
|
||
* Оператор If-Else является расширением простого оператора If.
|
||
* В простой инструкции If, если значение тестового выражения ложно, мы пропустим код блока и продолжим наш следующий оператор.
|
||
* Но много раз мы хотим выполнить определенные шаги, если значение тестового выражения ложно.
|
||
* В таких случаях мы используем оператор if-else.
|
||
|
||
### Общая форма выражения If-Else
|
||
|
||
```cpp
|
||
if (test expression)
|
||
{
|
||
//statements that run if the test expression is true
|
||
}
|
||
else
|
||
{
|
||
//statements that run if the test expression is false
|
||
}
|
||
```
|
||
|
||
### Пример выражения If-Else
|
||
|
||
Если тестовое выражение истинно:
|
||
|
||
```cpp
|
||
int a=10;
|
||
if (a < 20) // This expression is true, so...
|
||
{
|
||
//...the code in this block gets executed, and...
|
||
}
|
||
else
|
||
{
|
||
//...the code in this block gets skipped.
|
||
}
|
||
//program continues
|
||
```
|
||
|
||
Если тестовое выражение ложно:
|
||
|
||
```cpp
|
||
int a=10;
|
||
if (a>20) // This expression is false, so this time...
|
||
{
|
||
//...this code gets skipped...
|
||
}
|
||
else
|
||
{
|
||
//...and this code executes instead.
|
||
}
|
||
//program continues
|
||
```
|
||
|
||
### Пример в C ++:
|
||
|
||
```cpp
|
||
//Program to check whether number entered by user is positive or negative
|
||
#include <iostream>
|
||
using namespace std;
|
||
int main()
|
||
{
|
||
int no;
|
||
cout << "Enter a number: " << endl;
|
||
|
||
cin >> no;
|
||
|
||
// condition to check if number is positive or negative
|
||
if (no >= 0) // positive
|
||
{
|
||
// block if value is true
|
||
cout << "You entered a positive number: " << no << endl;
|
||
}
|
||
else // negative
|
||
{
|
||
// block if value is false
|
||
cout << "You entered a negative number: " << no << endl;
|
||
}
|
||
|
||
// program continues
|
||
cout << "This step is always printed" << endl;
|
||
return 0;
|
||
}
|
||
```
|
||
|
||
#### Вывод
|
||
|
||
* Когда вводится положительное число:
|
||
```
|
||
Enter a number:
|
||
4
|
||
You entered a positive number: 4
|
||
This step is always printed
|
||
```
|
||
|
||
* Когда вводится отрицательное число:
|
||
```
|
||
Enter a number:
|
||
-200
|
||
You entered a negative number: -200
|
||
This step is always printed
|
||
```
|
||
|
||
[Попробуйте сам код](https://repl.it/MzBq)
|
||
|
||
# **Не стесняйтесь задавать любые вопросы на странице GitHub [FreeCodeCamp](https://forum.freecodecamp.org/) или [форуме FreeCodeCamp.](https://forum.freecodecamp.org/)**
|
||
|
||
[Попробуйте сам код](https://repl.it/MzBq)
|
||
|
||
### Использование if ... else if ... else ladder
|
||
|
||
Если мы должны принимать решения, основанные на более чем одном условии, используя, если иначе. Мы используем else, если условие следующим образом:
|
||
|
||
```cpp
|
||
#include<iostream>
|
||
int main()
|
||
{
|
||
int score;
|
||
std::cout<<"Enter your score: \n";
|
||
std::cin>>score;
|
||
if(score>=90)
|
||
std::cout<<"Top performance.";
|
||
else if(score<90 && score>=70)
|
||
std::cout<<"Good performance";
|
||
else if(score<70 && score>=45)
|
||
std::cout<<"Average performance";
|
||
else if(score<45 && score>=30)
|
||
std::cout<<"You can improve it.";
|
||
return 0;
|
||
}
|
||
```
|
||
|
||
#### Вывод
|
||
```
|
||
Enter your score:
|
||
85
|
||
Good performance
|
||
```
|
||
|
||
### Другой пример if ... else if ... else ladder
|
||
|
||
Предположим, что пользователь вводит два числа, и мы собираемся отобразить, если либо число больше, чем другое. И если ни один не больше другого, тогда мы печатаем утверждение «Оба равны».
|
||
|
||
В этом scinerio нам понадобится if ... else if ... else ladder statement. Программа будет выглядеть так:
|
||
```
|
||
#include<iostream>
|
||
using namespace std;
|
||
int main()
|
||
{
|
||
int number1,number2;
|
||
cout << "Enter first number: \n";
|
||
cin >> number1;
|
||
cout << "Enter second number: \n";
|
||
cin >> number2;
|
||
|
||
if(number1 > number2) // Checks if the first number is greater than the second number
|
||
{
|
||
cout << "Number 1 is greater.";
|
||
}
|
||
else if(number2 > number1) // Checks if the second number is greater than the first number
|
||
{
|
||
cout << "Number 2 is greater.";
|
||
}
|
||
else // If both of the above cases return false, then both numbers are equal
|
||
{
|
||
cout << "Both the numbers are equal.";
|
||
}
|
||
|
||
return 0;
|
||
}
|
||
```
|
||
|
||
#### Вывод
|
||
```
|
||
Enter first number:
|
||
85
|
||
Enter second number:
|
||
86
|
||
Number 2 is greater.
|
||
```
|
||
|
||
* Обратите внимание, что программа будет проверять условие «else if», если условие «если» не выполнено. И если ни одно из этих условий не выполняется, выполняется последний блок «else», который печатает утверждение: «Оба числа равны».
|
||
|
||
* Размер if ... else if ... else ladder может варьироваться в зависимости от проблемы, которую пытается решить программа, и количества условий, которые необходимо проверить.
|
||
|
||
|
||
**Удачи всем вам**
|
||
|
||
**Счастливое кодирование! :)**
|
||
|
||
**Не стесняйтесь задавать любые вопросы на странице GitHub [FreeCodeCamp.org](https://forum.freecodecamp.org/) или [на форуме FreeCodeCamp.org](https://forum.freecodecamp.org/)** . |