Главная Учебники - Разные Лекции (разные) - часть 33
Цель работы:
познакомиться c конструкциями выбора языка программирования С++, научиться составлять простые программы, использующие оператор if, оператор if
else
и оператор switch.
Краткие теоретические сведения.
Оператор if
if (условие) вы раженіте1;
Onepaтop if используется для проверки условия и в зависимости от того, истинно (true) это условие или ложна (false) последующего выполнения выражения1.
Если в случае истинности условия должны выполняться несколько строк кода, необходимо использовать фигурные скобки для объединения этих строк в блок: if (условие)
{
выражение1;
выражение2;
…
выражение N;
}
Если условие
принимает значение false
, блок кода, связанный c оператором if,
игнорируется, u выполнение программы продолжается c первого onepamopa, следующего за этим блоком. Пример 1.
// поиск большего из двух чисе #pragma hdrstop #include<condefs.h> #include<iostream.h> #include<conio.h> #pragma argsused int main(int argc, char** argv) { int a,b,max; cout<<"Input a,b:"; cin>>a>>b; max=a; if(b>max) max=b; cout<<"max="<<max<<endl; getch(); return 0; } B некоторых случаях при истинности условия
нужно выполнить одни действия, a npu ложности — другие. Для этого применяется onepamop if else
: Оператор if else
if
(условие) {блок_1}
else {блок_2}
Оператор else
используется в сочетании c оператором if
u определяет блок кода, который выполняется в том случае, когда условие
принимает значение false
. Т. е., если услови
е истинно (не равно нулю), то выполняется блок_1
, если условие
ложно, то выполняется блок_2
. Пример 2.
// поиск большего из двух чисел #pragma hdrstop #include <condefs.h> #include <iostream.h> #include <conio.h> //--------------------------------------------------------------------------------------- #pragma argsused int main(int argc,char** argv) { int a, b, max; cout <<"Input a, b:" ; cin >>а>>b; if (b>=a) mаx = b; else max=a; cout <<"max = "<<max<<endl; getch(); return 0; Вы можете при необходимости использовать вложенные onepamopaif
. В этом случае за обычным onepaтopoмif
следует один или несколько таких же onepатopoв. Пример:if
(x > 10) if
(x < 20) cout << "x is between 10 and 20" << end1; Оператор
switch
Onepamopswitch
можно рассматривать как усложненный if
.
Он позволяет вам выполнять один из нескольких блоков кода в зависимости om значения выражения. Выражение может быть переменной, вoзвpaщaемым значением функции или любым арифметическим выpaжением C++. Синтаксис onepamopaswitch
: switch
(выражение)
{
case
значение_1: блoк_1; break; case
значенue_2: блок_2; break; …
case
значение_п: 6лoк_п, break; default
: блок_last; break; }
Оператор switch
состоит из нескольких частей. Прежде всего, вы можете заметить выражение. Затем операторы case
проверяют выражение
на равенство определенной величине. Оператор switch
позволяет выполнять различные блоки кода в зависимости от значения выражения
. Блок_1 выполняется, когда выражение равно значение _1, блок_2- когда выражение равно значение_2, u т,д. до блока_п, когда выpажeние
равно значение _п. Если выражени
е не pавно ни одному из значение_1 значение_п, выполняется блок_last. B каждом из case
присутствует опеpатор break
. Он используется для выxода из блока switch
- это означает, что значение выражения совпало c одной из величин и оставшаяся часть onepamopa switch
может быть игнорирована. B самом конце вы видите оператор default
. Блок, следующий за этим оператором, выполняется при отсутствии совпадений, Включение оператора defalt
не обязательно. Пример 3
.// определение дня недели по номеру #pragma hdrstop #include <condefs.h> #include <iostream.h> #include <conio.h> #pragma argsused int main(int argc, char* argv[]) { int n; cout<<"Input n:"; cin>>n; switch (n) { case o:cout<<"Sunday"<<endl; break; case 1:cout<<"Monday"<<endl; break; case 2:cout<<"Tuesday"<<endl; break; case 3:cout<<"Wednesday"<<endl; break; case 4:cout<<"Thursday"<<endl; break; case 5:cout<<"Friday"<<endl; break; case 6:cout<<"Saturday"<<endl; break; default: cout<<"Mistake"; } getch(); return 0; } Программа, которая по дате определяет день недели , на который эта дата приходится.
#pragma hdrstop #include <condefs.h> #include <iostream.h> #include <conio.h> //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char** argv) { int n; cout <<"Input n:"; cin>>n; if (n>1) if (n<8) switch (n) { case 1:cout <<"Sunday"<<endl; break; case 2:cout <<"Monday"<<endl; break; case 3:cout <<"Tuesday"<<endl; break; case 4:cout <<"Wednesday"<<endl; break; case 5:cout <<"Thursday"<<endl; break; case 6:cout <<"Friday"<<endl; break; case 7:cout <<"Saturday"<<endl; break; } else if (n>7) if (n<15) switch (n) { case 8:cout <<"Sunday"<<endl; break; case 9:cout <<"Monday"<<endl; break; case 10:cout <<"Tuesday"<<endl; break; case 11:cout <<"Wednesday"<<endl; break; case 12:cout <<"Thursday"<<endl; break; case 13:cout <<"Friday"<<endl; break; case 14:cout <<"Saturday"<<endl; break; } else if (n>14) if (n<22) switch (n) { case 15:cout <<"Sunday"<<endl; break; case 16:cout <<"Monday"<<endl; break; case 17:cout <<"Tuesday"<<endl; break; case 18:cout <<"Wednesday"<<endl; break; case 19:cout <<"Thursday"<<endl; break; case 20:cout <<"Friday"<<endl; break; case 21:cout <<"Saturday"<<endl; break; } else if (n>21) if (n<29) switch (n) { case 22:cout <<"Sunday"<<endl; break; case 23:cout <<"Monday"<<endl; break; case 24:cout <<"Tuesday"<<endl; break; case 25:cout <<"Wednesday"<<endl; break; case 26:cout <<"Thursday"<<endl; break; case 27:cout <<"Friday"<<endl; break; case 28:cout <<"Saturday"<<endl; break; } else if (n>28) if (n<32) switch (n) { case 29:cout <<"Sunday"<<endl; break; case 30:cout <<"Monday"<<endl; break; case 31:cout <<"Tuesday"<<endl; break; default:cout<<"Mistake"; } getch(); return 0; } //--------------------------------------------------------------------------
|