Обзор С++

Цель работы: познакомиться 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;

   }









Вы  можете при необходимости использовать вложенные  onepamopa if. В этом случае за обычным onepaтopoм if следует один или несколько таких же onepатopoв.

 Пример: if (x > 10) if (x < 20)

cout << "x is between 10 and 20" << end1;



Оператор switch



Onepamop switch можно рассматривать как усложненный if. Он позволяет вам выполнять один из нескольких блоков кода в зависимости om значения выражения. Выражение может быть переменной, вoзвpaщaемым значением функции или любым арифметическим выpaжением C++. Синтаксис onepamopa switch:

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;

}

//--------------------------------------------------------------------------