Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

[c++] "IF", "ELSE IF" ir "ELSE"


MrMou6

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3496 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Sveiki, pabandysiu jums paaiškinti kaip ir kur naudojamos if sąlygos.

 

Pirmiausiai kas yra if sąlyga?

 

Programavime dažnai pasitaiko jog reikia patikrinti tam tikras sąlygas ir pagal jas spręsti kaip kodas turėtų veikti, sąlyga if padeda tai padaryti. Jos prototipas atrodo štai taip:

if(sąlyga)
{
// kodas kuris suveiks jeigu sąlyga teisinga.
}
else
{
// kodas kuris suveiks jeigu sąlyga neteisinga.
}

pavizdys:

int sk1, sk2;
cout << "Iveskite pirmaji skaiciu:";
cin >> sk1;
cout << "Iveskite antraji skaiciu:";
cin >> sk2;
if(sk1 > sk2)
{
    cout << "Pirmas skaicius yra didesnis" << endl;
}
else
{
    cout << "Pirmas skaicius yra mazesnis arba lygus antram" << endl;
}


Šis kodas sukuria du integer tipo kintamuosius, ir įvesties metodu jiem priskiramos skirtingos reikšmės.

Toliau yra sąlyga if, ji tikrina ar sk1 yra didesnis už sk2. po jos seka kodo blokas "{}" jame rašomas visas kodas kuris turi įvykti jeigu if salyga teisinga. Mūsų atveju išvedamas tekstas kuriuo pasakome kad pirmas skaičius yra didesnis.

 

Toliau seka žodelis else - tai reiškia visi kiti atvejai.

Mastykime logiškai, šios salygos visi kiti atvejai tai yra kai sk1 daugiau už sk2 arba kai jie yra lygus. Po else esame kodo bloke rašome kodą kuris suveiks tik neįvykdžius if sąlygos.

Mūsų atveju jeigu skaičius sk1 bus nedidesnis(tai reiškia mažesnis arba lygus) už sk2, tai išvesime tekstą:
"Pirmas skaicius yra mazesnis arba lygus antram"

 

ELSE IF

 

Tarkim mums reikia patikrinti tris variantus. sk1 > sk2, sk1 = sk2 ir sk1 < sk2.

Tai mums reikia 1 if sąlygos, 1 else if sąlygos ir else.

pavizdys:

int sk1, sk2;
cout << "Iveskite pirmaji skaiciu:";
cin >> sk1;
cout << "Iveskite antraji skaiciu:";
cin >> sk2;
if(sk1 > sk2)
{
	cout << "Pirmas skaicius yra didesnis" << endl;
}
else if(sk1 == sk2)
{
	cout << "Pirmas skaicius yra lygus antrajam" << endl;
}
else
{
	cout << "Pirmas skaicius yra mazesnis" << endl;
}

Gali iškilti klausimas kodėl else if, o ne tiesiog kitas if?

Taip yra todėl kad pirmas if užduoda sąlygą, antras paprastas if jau užduotų naują salygą. Taigi po visų if sąlygu esantis else suveiktų tada kai neatitiktų paskutinis if. Tarkim:

	int sk1, sk2;
	cout << "Iveskite pirmaji skaiciu:";
	cin >> sk1;
	cout << "Iveskite antraji skaiciu:";
	cin >> sk2;
	if(sk1 > sk2)
	{
		cout << "Pirmas skaicius yra didesnis" << endl;
	}
	if(sk1 == sk2)
	{
		cout << "Pirmas skaicius yra lygus antrajam" << endl;
	}
	else
	{
		cout << "Pirmas skaicius yra mazesnis" << endl;
	}

jei pirmas skaičius bus didesnis už antrajį tai mum išves štai tokį tesktą:

Pirmas skaicius yra didesnis
Antras skaicius yra didesnis

Ir tai įvyks todėl kad kad musų else suprato kad sk1 == sk2 salyga nesuveikė vadinasi reikia veikti man.

 

 

Tai kai turime daug sąlygų mūsų if sąlygos atrodytu maždaug taip:

if()
{}
else if()
{}
..... // dar kažinkiek else if()
else if()
{}
else
{}

Dažniausiai užduodamų sąlygų operatoriai:

if(sk1 == sk2) - Jeigu sk1 lygus sk2

if(sk1 != sk2) - Jeigu sk1 nelygus sk2

if(sk1 > sk2) Jeigu sk1 daugiau už sk2

if(sk1 < sk2) Jeigu sk1 mažiau už sk2

if(sk1 >= sk2) Jeigu sk1 yra didesnis arba lygus sk2

if(sk1 <=sk2) Jeigu sk1 yra mažesnis arba lygus sk2

 

bool kintamiesiems:

if(op) jei bool kintamojo "op" reikšmė lygi true

if(!op) jei bool kintamojo "op" reikšmė lygi false

 

SVARBU!!

Įsidėmėkite kad if sąlygoj tikrintant ar du kintamieji yra lygus naudojame "==", o ne "=".

 

IF sąlygos sutrumpinimas

jeigu po if, else if arba else einantis kodas užima tik vieną eilute tada nebūtina rašyti kodo blokų išskyrimo simbolių, tiesiog tą vieną eilutę atskirkite vienu tabuliavimo simboliu:

if(sk1 > sk2)
	cout << "Pirmas skaicius yra didesnis" << endl;

Arba galima rašyti netgi toje pačioje eilutėje, ir netabuliuojant:

if(sk1 > sk2) cout << "Pirmas skaicius yra didesnis" << endl;

Taigi sutrumpintas visas mūsų prieš tai darytas kodas atrodytų štai taip:

	int sk1, sk2;
	cout << "Iveskite pirmaji skaiciu:";
	cin >> sk1;
	cout << "Iveskite antraji skaiciu:";
	cin >> sk2;
	if(sk1 > sk2) cout << "Pirmas skaicius yra didesnis" << endl;
	if(sk1 == sk2) cout << "Pirmas skaicius yra lygus antrajam" << endl;
	else cout << "Pirmas skaicius yra mazesnis" << endl;

Operatoriai && ir ||

 

tarkim mum vienoje salygoje reikia užduoti du klausimus, šiais atvejais naudojam operatorius && arba ||

Kuo jie skiriasi?

tarkim:

if(sąlyga1 || sąlyga2)

po šios sąlygos esantis kodas suveiks kai teisinga yra nors viena iš dviejų sąlygų.

Jeigu naudosime:

if(sąlyga1 && sąlyga2)

Tada abidvi sąlygos turi būti teisingos kad suveiktų toliau esantis kodas.

 

pavizdys:

int sk1 = 5, sk2 = 9, sk3 = 14;
if(sk1 < sk2 && sk1 < sk3)
	cout << "sk1 skaicius yra maziausias" << endl;

šį tekstą išves tik tuomet kai sk1 bus mažesnis už kitus du kintamuosius.

 

P.S. Jeigu kas nors pamatėte klaidų pasakykite, nenoriu skleisti klaidingos informacijos :D

Redaguota , nario MrMou6
  • Teigiamai 1
Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3496 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...