Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
REFERAT / Tarmaqlanıwshı hám tańlaw operatorları.docx
Скачиваний:
1
Добавлен:
14.01.2024
Размер:
135.15 Кб
Скачать

Int main()

{

char Juwap = ’ ’;

cout << ”Process dawam etsin be? (‘y’,’Y’): ”

cin >> Juwap;

switch(Juwap)

{

case ‘Y’:

case ‘y’:

cout<<”Process dawam etedi!\n”;

break;

default:

cout<<”Process juwmaqlanadı!\n”;

return 0;

}

... // process

return 0;

}

Ulıwma alǵanda, tańlaw operatorında break hám default gilt sózlerin isletiw májbúriy emes. Biraq bul jaǵdayda operator mazmunı buzılıwı múmkin. Máselen, default bólegi bolmaǵan jaǵdayda, eger <ańlatpa> hesh bir <turaqlı ańlatpai> menen birdey bolmasa, operator hesh qanday ámel orınlamastan basqarıw tańlaw operatorınan keyingi operatorǵa ótedi. Eger break bolmasa, <ańlatpa> qandayda bir <turaqlı ańlatpai> menen birdey bolǵan jaǵdayda, oǵan sáykes keliwshi operatorlar toparın orınlaydı hám «toqtatpastan» keyingi qatardaǵı operatorlar toparın da orınlawdı dawam etedi. Máselen, joqarıdaǵı mısalda break operatorı bolmasa hám processti dawam ettiriwdi tastıyqlawshı (‘Y’) juwap bolǵan jaǵdayda ekranǵa

Process dawam etedi!

Process juwmaqlanadı!

хabarları shıǵadı hám programma óz jumısın juwmaqlaydı (return operatorınıń orınlanıwı nátiyjesinde).

Tańlaw operatorı sanap ótiliwshi tiptegi turaqlılar menen birgelikte isletilgende nátiyje beredi. Tómendegi programmada reńler gammasın klassifikaciyalaw máselesi sheshilgen.

#include <iostream.h>

using namespace std;

Int main()

{

enum Reńler{Qızıl, Toq_sarı, Sarı, Jasıl, kók, Kúlreń, Fiolet};

Reńler Reń;

//...

switch(Reń)

{

case Qızıl:

case Toq_sarı:

case Sarı:

cout << ”Íssı gamma saylandı.\n”; break;

case Jasıl:

case Kуk:

case Kúlreń:

case Fiolet:

cout << ”Suwıq gamma saylandı.\n”; break;

default:

cout << ”Raduga bunday reńge iye emes.\n”;

}

return 0;

}

Programma orınlanıwında basqarıw tańlaw operatorına kelgende, Reń mánisi Qızıl, Toq_sarı yamasa Sarı bolsa, “Íssı gamma saylandı” xabarı, eger Reń mánisi Jasıl, Kók, Kúlreń yamasa Fiolet bolsa, ekranǵa “Suwıq gamma saylandı” xabarı, eger Reń mánisi sanap ótilgen mánislerden parıqlı bolsa, ekranǵa “Raduga bunday reńge iye emes” xabarı shıǵarıladı hám programma óz jumısın juwmaqlaydı. switch operatorında járiyalaw operatorları da ushırawı múmkin. Biraq switch operatorı orınlanıwında «sekirip ótiw» jaǵdayları bolıwı esabına blok ishindegi ayrım járiyalawlar orınlanbawı hám bunıń aqıbetinde programma ishinde qátelik júzege keliwi múmkin:

//...

int k = 0, n = 0;

cin >> n;

switch(n)

{

int i = 10; //qáte, bul operator orınlanbaydı

case 1:

int j = 20; //eger n = 2 bolsa, bul járiyalaw

orınlanbaydı

case 2:

k += i + j; //qáte, sebebi i, j ózgeriwshiler belgisiz

}

cout << k;

//...

Másele.

Tómende sanap ótiliwshi tipler hám sol tiptegi ózgeriwshiler járiyalanǵan:

enum Birlik {decimetr, kilometr, metr, millimetr, santimetr};

float x; Birlik r;

r birlikte berilgen x уzgeriwshisiniń mбnisi metrlerde shıǵarılsın.

#include <iostream.h>

using namespace std;

int main()

{

enum

Birlik{decimetr, kilometr, metr, millimetr, santimetr};

float x, y;

Birlik r;

cout << "Uzınlıqtı kiritiń: x = ";

cin >> x;

cout << "Uzınlıq birlikleri\n";

cout << "0 - decimetr\n";

cout << "1 - kilometr\n";

cout << "2 - metr\n";

cout << "3 - millimetr\n";

cout << "4 - santimetr\n";

cout << "Uzınlıqtıń birligin saylań: r = ";

cin >> r;

switch(r)

{

case decimetr: y = x / 10; break;

case kilometr: y = x * 1000; break;

case metr: y = x; break;

case millimetr: y = x / 1000; break;

case santimetr: y = x / 100; break;

default:

cout << "Uzınlıq birligi nadurıs kiritildi!";

return 0;

}

cout << y << " metr";

return 0;

}

Соседние файлы в папке REFERAT