# Patikrinimo sąlyga if

# Apie patikrinimo sąlygą if

if sąlyga skirta norint ką nors patikrinti ar palyginti. Pavyzdžiui:

  • Ar skaičiai lygūs?
  • Ar vartotojo amžius yra didesnis už 18?
  • Ar vartotojas prisijungęs?
  • Ar vartotojo rolė yra tinkama norint pasiekti turinį?
  • Ar failas egzistuoja?
  • ...

Kai sąlyga teisinga (kai užduotas klausimas yra tiesa (true)), tuomet yra vykdomas atitinkamas kodas.

# Palyginimo operatoriai

Operatorius Pavadinimas Pavyzdys Apibūdinimas
> daugiau x > y grąžina true jei x daugiau už y
< mažiau x < y grąžina true jei x mažiau už y
>= daugiau arba lygu x >= y grąžina true jei x daugiau arba lygu y
<= mažiau arba lygu x <= y grąžina true jei x mažiau arba lygu y
== lygu x == y grąžina true jei x ir y yra lygūs
!= nelygu x != y grąžina true jei x ir y yra nelygūs

# if sąlygos dalys

if sąlyga gali susidėti iš kelių dalių:

  • if - būtinoji dalis.
  • else if - jeigu reikia tikrinti daugiau sąlygų, galima rašyti tiek else if dalių kiek tik reikia.
  • else - jei reikia galima rašyti, rašosi pačiame gale, vieną kartą.

# Patikrinimo sąlyga if: if dalis

# Apie if dalį

Rašoma norint patikrinti ar palyginti vieną dalyką ir įvykdyti kodą, jei patikrinimas grąžins true tipo atsakymą.

# if dalies veikimas

if dalies veikimas

# if sintaksė

if (<sąlyga>)
{
    /* kodas, jei sąlyga yra teisinga (atsakymas į
    klausimą yra true) */
}
  • sąlyga - užrašomas tikrinimas, kuris gali grąžinti true arba false tipo atsakymą, šis atsakymas naudojamas norint nustatyti ar tarp { ... } skliaustų esantis kodas turi būti vykdomas ar ne.
  • kodas - kodas, kuris bus vykdomas kai sąlyga grąžina true tipo atsakymą.

# Pavyzdžiai

# Pavyzdys 1

Kodas:

#include <iostream>
using namespace std;

int main()
{
	if (5 > 3)
	{
		cout << "5 yra daugiau uz 3" << endl;
	}

	if (-7 > -10)
	{
		cout << "-7 yra daugiau uz -10" << endl;
	}
}

Rezultatai:

5 yra daugiau uz 3
-7 yra daugiau uz -10

# Pavyzdys 2

Kodas:

#include <iostream>
using namespace std;

int main()
{
	if (3 < 5)
	{
		cout << "3 yra maziau uz 5" << endl;
	}

	if (8 < 0)
	{
		cout << "8 yra maziau uz 0" << endl;
	}
}

Rezultatai:

3 yra maziau uz 5

# Pavyzdys 3

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius = 5;

	if (skaicius > 0)
	{
		cout << "skaicius yra teigiamas" << endl;
	}

	if (skaicius < 0)
	{
		cout << "skaicius yra neigiamas" << endl;
	}
}

Rezultatai:

skaicius yra teigiamas

# Pavyzdys 4

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius = 4;

	if (skaicius > 0)
	{
		cout << "skaicius yra teigiamas" << endl;
	}

	if (skaicius == 0)
	{
		cout << "skaicius yra lygus 0" << endl;
	}
}

Rezultatai:

skaicius yra teigiamas

# Pavyzdys 5

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius = 5;

	if (skaicius > 5)
	{
		cout << skaicius << " > 5" << endl;
	}

	if (skaicius >= 5)
	{
		cout << skaicius << " >= 5" << endl;
	}

	if (skaicius == 5)
	{
		cout << skaicius << " == 5" << endl;
	}
}

Rezultatai:

5 >= 5
5 == 5

# Pavyzdys 6

Kodas:

#include <iostream>
#include <string>
using namespace std;

int main()
{
	string zodis = "suo";

	if (zodis == "Suo")
	{
		cout << "Suo";
	}

	if (zodis == "suo")
	{
		cout << "suo";
	}

	if (zodis == "SUO")
	{
		cout << "SUO";
	}
}

Rezultatai:

suo

# Pavyzdys 7

Kodas:

#include <iostream>
#include <string>
using namespace std;

int main()
{
	string vardas = "Paulius";
	int amzius = 20;

	if (amzius >= 18)
	{
		cout << vardas << " yra pilnametis";
	}
}

Rezultatai:

Paulius yra pilnametis

# Pavyzdys 8

Kodas:

#include <iostream>
using namespace std;

int main()
{
	if (5 + 3 >= 6)
	{
		cout << "salyga 5 + 3 >= 6 yra teisinga" << endl;
	}

	if (8 * 2 < 20)
	{
		cout << "salyga 8 * 2 < 20 yra teisinga" << endl;
	}
}

Rezultatai:

salyga 5 + 3 >= 6 yra teisinga
salyga 8 * 2 < 20 yra teisinga

# Pavyzdys 9

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int pirmas = -5;
	int antras = 4;

	if (pirmas + 7 > 0)
	{
		cout << "prie " << pirmas << " pridejus 7, jis yra teigiamas" << endl;
	}

	if (antras * 2 > 10)
	{
		cout << "skaiciu " << antras
            << " padauginus is 2, jis yra didesnis nei 10" << endl;
	}
}

Rezultatai:

prie -5 pridejus 7, jis yra teigiamas

# Pavyzdys 10

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius = 4;

	if (skaicius % 2 == 0)
	{
		cout << "skaicius " << skaicius << " dalinasi is 2" << endl;
	}

	if (skaicius % 3 == 0)
	{
		cout << "skaicius " << skaicius << " dalinasi is 3" << endl;
	}

	if (skaicius % 4 == 0)
	{
		cout << "skaicius " << skaicius << " dalinasi is 4" << endl;
	}
}

Rezultatai:

skaicius 4 dalinasi is 2
skaicius 4 dalinasi is 4

# Pavyzdys 11

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius = 8;

	if (skaicius % 2 != 0)
	{
		cout << "skaicius " << skaicius << " nedalinasi is 2" << endl;
	}

	if (skaicius % 3 != 0)
	{
		cout << "skaicius " << skaicius << " nedalinasi is 3" << endl;
	}

	if (skaicius % 4 != 0)
	{
		cout << "skaicius " << skaicius << " nedalinasi is 4" << endl;
	}
}

Rezultatai:

skaicius 8 nedalinasi is 3

# Pavyzdys 12

Kodas:

#include <iostream>
using namespace std;

int main()
{
	bool mokausi_programuoti = true;

	if (mokausi_programuoti == true)
	{
		cout << "mokausi programuoti! 1" << endl;
	}

	if (mokausi_programuoti)
	{
		cout << "mokausi programuoti! 2" << endl;
	}
}

Rezultatai:

mokausi programuoti! 1
mokausi programuoti! 2

# Pavyzdys 13

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius;
	cout << "iveskite skaiciu: ";
	cin >> skaicius;

	if (skaicius > 0)
	{
		cout << "ivestas skaicius teigiamas" << endl;
	}

	if (skaicius < 0)
	{
		cout << "ivestas skaicius neigiamas" << endl;
	}
}

Rezultatas 1:

iveskite skaiciu: 8
ivestas skaicius teigiamas

Rezultatas 2:

iveskite skaiciu: -7
ivestas skaicius neigiamas

# Pavyzdys 14

Kodas:

#include <iostream>
#include <string>
using namespace std;

int main()
{
	string marke, modelis;
	int gamybos_metai, dabar_metai;

	cout << "Iveskite marke: ";
	cin >> marke;

	cout << "Iveskite modeli: ";
	cin >> modelis;
	
	cout << "Iveskite gamybos metus: ";
	cin >> gamybos_metai;

	cout << "Iveskite dabartinius metus: ";
	cin >> dabar_metai;

	if (dabar_metai - gamybos_metai < 5)
	{
		cout << "Automobilis " << marke << " "
			<< modelis << " yra naujesnis nei 5 metu." << endl;
	}
}

Rezultatas 1:

Iveskite marke: ford
Iveskite modeli: focus
Iveskite gamybos metus: 2002
Iveskite dabartinius metus: 2020

Rezultatas 2:

Iveskite marke: ford
Iveskite modeli: kazkoks
Iveskite gamybos metus: 2018
Iveskite dabartinius metus: 2020
Automobilis ford kazkoks yra naujesnis nei 5 metu.

# Užduotys

# Užduotis 1

Liepkite vartotojui įvesti tris skaičius. Parašykite šias atskiras if sąlygas:

  • Ar pirmas ir antras skaičiai yra lygūs?
  • Ar antras ir trečias skaičiai yra lygūs?
  • Ar pirmas skaičius yra didesnis už antrąjį?
  • Ar antras skaičius yra didesnis už dvigubą trečiojo skaičiaus reikšmę (trečias skaičius padaugintas iš 2)?
  • Ar pirmas skaičius yra lyginis (ar dalinasi iš 2)?
  • Ar antras skaičius yra nelyginis (ar nesidalina iš 2)?
  • Ar trečias skaičius yra teigiamas (didesnis už 0)?
  • Ar pirmas skaičius yra neigiamas (mažesnis už 0)?
  • Ar antras skaičius dalinasi iš 4?
  • Ar trečias skaičius dalinasi iš 8?

# Užduotis 2

Liepkite vartotojui įvesti amžių. Patikrinkite ar amžius yra didesnis arba lygus 18-ai, jei taip - išveskite "jūs galite balsuoti".

# Užduotis 3

Liepkite vartotojui įvesti kelis pažymius. Raskite šių pažymių vidurkį. Patikrinkite ar vidurkis teigiamas (daugiau arba lygu 5-iems), jei taip - išveskite "vidurkis teigiamas".

# Užduotis 4

Liepkite vartotojui įvesti bet kokį skaičių. Atlikite šiuos patikrinimus ir veiksmus:

  • Jei skaičius dalinasi iš 5, tuomet išveskite šio skaičiaus daugybos lentelę nuo 1 iki 5.
  • Jei skaičius lyginis, tuomet išveskite šį skaičių, jo kvadratą ir jį padalintą iš 2.
  • Jei skaičius nesidalina iš 7, tuomet susikurkite antrąjį kintamąjį, išveskite šių dviejų skaičių sumą, skirtumą, sandaugą, dalmenį.

# Užduotis 5

Liepkite vartotojui įvesti bet kokį teigiamą skaičių. Parašykite šias atskiras if sąlygas:

  • patikrinti ar skaičius neigiamas, jei taip - aprėkti vartotoją 😃
  • patikrinti ar skaičius teigiamas, jei taip - pasveikinti vartotoją;
  • patikrinti ar skaičius lyginis;
  • patikrinti ar skaičius dalinasi iš 4;
  • patikrinti ar skaičius yra didesnis nei 10.

# Užduotis 6

Liepkite įvesti skaičių. Parašykite šias atskiras if sąlygas:

  • Jei skaičius lyginis, tuomet išveskite šį skaičių, bei jo penktą laipsnį.
  • Jei skaičius nesidalina iš 4, tuomet liepkite įveskite antrąjį skaičių. Išveskite abiejų skaičių sumą ir sandaugą.

# Patikrinimo sąlyga if: else if dalis

# Apie else if dalį

  • Naudojant tik if dalį tikriausiai pastebėjote, kad tikrinate tik vieną dalyką. else if leidžia tikrinti kelis dalykus vieną po kito. Pavyzdžiui:
    • Ar skaičius teigiamas? Jei ne - sekantis tikrinimas: o gal skaičius neigiamas?
    • Ar vartotojui yra 18 metų? Jei ne - sekantis tikrinimas: o gal vartotojui yra 16 metų? Jei ne - sekantis tikrinimas - o gal vartotojui mažiau nei 16?
  • Galima naudoti tiek else if dalių kiek tik reikia.
  • Kiekviena else if dalis atsakinga už naujos sąlygos patikrinimą.
  • Jei tikrinant skirtingas sąlygas (einant per if ir else if dalis) yra randama teisinga, tuomet jai priskirtas kodas yra įvykdomas ir sekančios sąlygos nebetikrinamos. T.y. yra vykdoma tik pirma teisinga sąlyga.

# else if dalies sintaksė

if (<pirma sąlyga>)
{
    // jeigu pirma salyga true - vykdomas čia esantis kodas
}
else if (<antra sąlyga>)
{
    // jeigu antra salyga true - vykdomas čia esantis kodas
}

# Pavyzdžiai

# Pavyzdys 1

Kodas:

#include <iostream>
using namespace std;

int main()
{
	if (5 > 8)
	{
		cout << "5 > 8";
	}
	else if (7 > 3)
	{
		cout << "7 > 3";
	}
	else if (1 == 1)
	{
		cout << "1 == 1";
	}
}

Rezultatai:

7 > 3

# Pavyzdys 2

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius = 3;

	if (skaicius == 1)
	{
		cout << "skaicius yra 1";
	}
	else if (skaicius == 2)
	{
		cout << "skaicius yra 2";
	}
	else if (skaicius == 3)
	{
		cout << "skaicius yra 3";
	}
	else if (skaicius == 4)
	{
		cout << "skaicius yra 4";
	}
}

Rezultatai:

skaicius yra 3

# Pavyzdys 3

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int pinigai = 10;
	bool vip = true;

	if (vip)
	{
		cout << "vip iejimas";
	}
	else if (pinigai >= 5)
	{
		cout << "galite nusipirkti bilieta";
	}
}

Rezultatai:

vip iejimas

# Pavyzdys 4

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int pinigai;
	bool vip;

	cout << "Ar turite vip statusa? (1 - taip; 0 - ne)" << endl;
	cin >> vip;

	cout << "Kiek pinigu turite?" << endl;
	cin >> pinigai;

	if (vip)
	{
		cout << "vip iejimas";
	}
	else if (pinigai >= 5)
	{
		cout << "galite nusipirkti bilieta";
	}
}

Rezultatas 1:

Ar turite vip statusa? (1 - taip; 0 - ne)
1
Kiek pinigu turite?
55
vip iejimas

Rezultatas 2:

Ar turite vip statusa? (1 - taip; 0 - ne)
0
Kiek pinigu turite?
88
galite nusipirkti bilieta

Rezultatas 3:

Ar turite vip statusa? (1 - taip; 0 - ne)
0
Kiek pinigu turite?
2

# Pavyzdys 5

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int amzius;
	cout << "iveskite savo amziu: ";
	cin >> amzius;

	if (amzius >= 18)
	{
		cout << "esate pilnametis";
	}
	else if (amzius >= 16)
	{
		cout << "jusu amzius yra 16 arba 17";
	}
	else if (amzius < 16)
	{
		cout << "jums yra iki 16 metu";
	}
}

Rezultatas 1:

iveskite savo amziu: 15
jums yra iki 16 metu

Rezultatas 2:

iveskite savo amziu: 16
jusu amzius yra 16 arba 17

Rezultatas 3:

iveskite savo amziu: 18
esate pilnametis

# Pavyzdys 6

Kodas:

#include <iostream>
#include <string>
using namespace std;

int main()
{
	string gyvunas;
	cout << "iveskite gyvuna: ";
	cin >> gyvunas;

	if (gyvunas == "suo")
	{
		cout << "ivestas gyvunas yra suo" << endl;
	}
	else if (gyvunas == "kate")
	{
		cout << "ivestas gyvunas yra kate" << endl;
	}
	else if (gyvunas == "ziurkenas")
	{
		cout << "ivestas gyvunas yra ziurkenas" << endl;
	}
	else if (gyvunas == "triusis")
	{
		cout << "ivestas gyvunas yra triusis" << endl;
	}

    cout << "dar kazkas toliau";
}

Rezultatas 1:

iveskite gyvuna: suo
ivestas gyvunas yra suo
dar kazkas toliau

Rezultatas 2:

iveskite gyvuna: kate
ivestas gyvunas yra kate
dar kazkas toliau

Rezultatas 3:

iveskite gyvuna: zirafa
dar kazkas toliau

Rezultatas 4:

iveskite gyvuna: triusis
ivestas gyvunas yra triusis
dar kazkas toliau

# Užduotys

# Užduotis 1

Liepkite vartotojui įvesti tris skaičius. Parašykite šiuos patikrinimus, naudojant else if dalis:

  • Ar pirmas skaičius didesnis už antrą?
  • Ar trečias skaičius didesnis už pirmą?
  • Ar pirmi du skaičiai yra lygūs?
  • Ar paskutiniai du skaičiai yra lygūs?

# Užduotis 2

Liepkite vartotojui įvesti egzamino pažymį [0-10]. Naudojant else if dalis patikrinkite šias sąlygas ir išveskite atitinkamą tekstą:

  • Jei pažymys yra lygus 10 išvesti "puiku".
  • Jei pažymys yra lygus 9 išvesti "labai gerai".
  • Jei pažymys yra lygus arba didesnis nei 7 išvesti "gerai".
  • Jei pažymys yra lygus arba didesnis nei 5 išvesti "patenkinamai".
  • Jei pažymys mažesnis nei 5 išvesti "egzaminas neišlaikytas".

# Patikrinimo sąlyga if: else dalis

# Apie else dalį

  • else bus vykdomas visada kai jokia kita, prieš jį ėjusi sąlyga nebus teisinga.
  • else dalyje nebereikia rašyti jokios sąlygos, jis automatiškai vykdomas kai niekas kitas netinka.
  • else dalis rašoma tik vieną kartą, visos if sąlygos pabaigoje.
  • else dalies rašyti nebūtina.
  • else dalyje galima:
    • išvesti klaidos pranešimą;
    • leisti kartoti veiksmą;
    • įrašyti klaidą į "log" failus;
    • atlikti kitus veiksmus, kurie nėra priskiriami jokiai tikrintai sąlygai;
    • ...

# else dalies sintaksė

if (<sąlyga>)
{
    // jeigu salyga true - vykdomas čia esantis kodas
}
else
{
    // jeigu sąlyga false - vykdomas čia esantis kodas
}

# Pavyzdžiai

# Pavyzdys 1

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius;
	cout << "iveskite skaiciu: ";
	cin >> skaicius;

	if (skaicius >= 0)
	{
		cout << "skaicius yra teigiamas arba lygus 0";
	}
	else
	{
		cout << "skaicius yra neigiamas";
	}
}

Rezultatas 1:

iveskite skaiciu: 5
skaicius yra teigiamas arba lygus 0

Rezultatas 2:

iveskite skaiciu: 0
skaicius yra teigiamas arba lygus 0

Rezultatas 3:

iveskite skaiciu: -4
skaicius yra neigiamas

# Pavyzdys 2

Kodas:

#include <iostream>
#include <string>
using namespace std;

int main()
{
	string gyvunas;
	cout << "Iveskite gyvuna: ";
	cin >> gyvunas;

	if (gyvunas == "zirafa")
	{
		cout << "oho";
	}
	else
	{
		cout << "turimas gyvunas: " << gyvunas;
	}
}

Rezultatas 1:

Iveskite gyvuna: suo
turimas gyvunas: suo

Rezultatas 2:

Iveskite gyvuna: zirafa
oho

# Pavyzdys 3

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int pirmas = 7, antras = 9;

	if (pirmas > antras)
	{
		cout << pirmas << " yra didesnis uz " << antras;
	}
	else
	{
		cout << "skaiciai yra lygus arba "
			<< pirmas << " yra mazesnis uz " << antras;
	}
}

Rezultatai:

skaiciai yra lygus arba 7 yra mazesnis uz 9

# Užduotys

# Užduotis 1

Liepkite vartotojui įvesti teigiamą skaičių. Patikrinkite ar skaičius teigiamas, jei taip - išveskite pasveikinimą, o jei ne - aprėkite vartotoją.

# Užduotis 2

Liepkite vartotojui įvesti skaičių. Patikrinkite ar skaičius lyginis, jei taip - išveskite, kad skaičius lyginis, o jei ne - kad nelyginis.

# Užduotis 3

Liepkite vartotojui įvesti teigiamą skaičių. Patikrinkite ar tas skaičius dalinasi iš 7, jei taip - išveskite norimą tekstą, o jei ne - išveskite, kad toks skaičius netinka.

# Užduotis 4

Liepkite vartotojui įvesti du skaičius. Patikrinkite ar pirmas skaičius didesnis už antrąjį, jei taip - išveskite, kad pirmas skaičius didesnis už antrąjį, o jei ne - išveskite, kad įvyko klaida.

# Patikrinimo sąlyga if: pilna sąlyga

# Apie pilną if sąlygą

Pilnoje if sąlygoje naudosite visas galimas if sąlygos dalis (if, else if, else).

Šiuo atveju patikrinsite kelias galimas sąlygas, bei jei niekas netiks - vistiek kažką padarysite su else dalimi.

# Pilnos if sąlygos sintaksė

if (<pirma sąlyga>)
{
    // jeigu pirma salyga true - vykdomas čia esantis kodas
}
else if (<antra sąlyga>)
{
    // jeigu antra salyga true - vykdomas čia esantis kodas
}
else if (<trečia sąlyga>)
{
    // jeigu trečia salyga true - vykdomas čia esantis kodas
}
else {
	// jeigu sąlyga false - vykdomas čia esantis kodas
}

Dėl else if dalies

else if dalių galima dėti tiek kiek reikia. Todėl gali būti viena dalis, dvi dalys, ar daugiau, nei parodyta šiame pavyzdyje.

# Pavyzdžiai

# Pavyzdys 1

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius = -3;

	if (skaicius > 0)
	{
		cout << "skaicius yra teigiamas";
	}
	else if (skaicius < 0)
	{
		cout << "skaicius yra neigiamas";
	}
	else
	{
		cout << "skaicius lygus 0";
	}

	cout << endl << "o pats skaicius: " << skaicius;
}

Rezultatai:

skaicius yra neigiamas
o pats skaicius: -3

# Pavyzdys 2

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius = 123;

	if (skaicius % 2 == 0)
	{
		cout << "skaicius dalinasi is 2";
	}
	else if (skaicius % 3 == 0)
	{
		cout << "skaicius dalinasi is 3";
	}
	else if (skaicius % 4 == 0)
	{
		cout << "skaicius dalinasi is 4";
	}
	else
	{
		cout << "nepavyko rasti, kad skaicius is ko nors dalintusi";
	}
}

Rezultatai:

skaicius dalinasi is 3

# Pavyzdys 3

Kodas:

#include <iostream>
#include <string>
using namespace std;

int main()
{
	string vardas;
	cout << "iveskite varda: ";
	cin >> vardas;

	if (vardas == "Jonas")
	{
		cout << "Labas, Jonai";
	}
	else if (vardas == "Tomas")
	{
		cout << "labas, Tomai";
	}
	else
	{
		cout << "labas, nepazistamasis";
	}
}

Rezultatas 1:

iveskite varda: Tomas
labas, Tomai

Rezultatas 2:

iveskite varda: Petras
labas, nepazistamasis

Rezultatas 3:

iveskite varda: Giedrius
labas, nepazistamasis

# Užduotys

# Užduotis 1

Liepkite vartotojui įvesti skaičių. Patikrinkite:

  • Ar skaičius dalinasi iš 2?
  • Ar skaičius dalinasi iš 3?
  • Ar skaičius dalinasi iš 4?
  • Ar skaičius dalinasi iš 5?
  • Ar skaičius dalinasi iš 7?
  • Jeigu skaičius iš nieko nesidalina, išvesti klaidos pranešimą.

# Užduotis 2

Liepkite vartotojui įvesti du skaičius. Patikrinkite:

  • Ar pirmas skaičius didesnis už antrą?
  • Ar antras skaičius didesnis už pirmą?
  • Jeigu nei vienas skaičius nėra didesnis už kitą - tai skaičiai yra lygūs.

# Loginiai patikrinimo operatoriai

# Apie loginius patikrinimo operatorius

Loginiai operatoriai naudojami norint patikrinti kelias sąlygas vienu metu (o ne iš eilės kaip tai vyktų su else if). Pavyzdžiui:

  • Ar vartotojas prisijungęs IR ar vartotojas turi atitinkamą rolę?
  • Ar failas egzistuoja failų sistemoje ARBA yra nustatytas atsarginis failas?
  • Ar studentas turi užtektinai pinigų ant bilieto IR turi galiojantį LSP?
  • Ar skaičius patenka į rėžius (yra didesnis už pradžią IR yra mažesnis už pabaigą)?
  • Ar prie produkto yra įrašyta kaina ARBA produktas pažymėtas kaip nemokamas?
  • ...

# Sintaksė naudojant loginius patikrinimo operatorius

<sąlyga> <operatorius> <sąlyga>
  • sąlyga - bet kokia sąlyga, kuri grąžina true arba false atsakymą. Pavyzdžius: 4 > 2, gražina true atsakymą.
  • operatorius - iš anksto numatytas operatorius, leidžiantis apjungti kelias sąlygas norimu būdu.

Galima apjungti ir daugiau sąlygų:

<sąlyga> <operatorius> <sąlyga> <operatorius> <sąlyga>

Taip pat, galima su skliaustais nurodyti prioritetus apjungiant sąlygas:

<sąlyga> <operatorius> (<sąlyga> <operatorius> <sąlyga>)

Pirma bus patikrintos sąlygos, esančios tarp skliaustų, o vėliau likusi dalis.

# Loginiai operatoriai

Operatorius Pavadinimas Pavyzdys Apibūdinimas
&& ir x && y grąžins true jei x ir y bus teisingi
|| arba x || y grąžins true jei x arba y bus teisingas
! ne !x grąžins true jei x nėra true

# Operatorius &&(ir)

  • false && false = false
  • false && true = false
  • true && false = false
  • true && true = true
X Y X and Y
0 0 0
0 1 0
1 0 0
1 1 1

# Operatorius || (arba)

  • false || false = false
  • false || true = true
  • true || false = true
  • true || true = true
X Y X or Y
0 0 0
0 1 1
1 0 1
1 1 1

# Operatorius ! (ne)

  • !true = false
  • !false = true
X !X
0 1
1 0

# Pasitikrinkite

Kaip manote, kam bus lygios (true / false) tokios sąlygos?

  • (10 > 9) && (9 > 10) = ???
  • (10 > 9) || (9 > 10) = ???
  • !true = ???
  • (10 > 9) && (!(9 > 10)) = ???

# Kam bus lygus (10 > 9) && (9 > 10) ?

  1. (10 > 9) bus true, todėl: true && (9 > 10)
  2. (9 > 10) bus false, todėl: true && false
  3. Naudojant operatorių && visos sąlygos dalys turi būti true, kad visa sąlyga būtų true, todėl galutinis rezultatas: false

Apibendrinus: (10 > 9) && (9 > 10) = false

# Kam bus lygus (10 > 9) || (9 > 10) ?

  1. (10 > 9) bus true, todėl: true || (9 > 10)
  2. (9 > 10) bus false, todėl: true || false
  3. Naudojant operatorių || bent viena sąlygos dalis turi būti true, kad visa sąlyga būtų true, todėl galutinis rezultatas: true

Apibendrinus: (10 > 9) || (9 > 10) = true

# Kam bus lygus !true ?

  1. ! dalis reiškia priešingą veiksmą, todėl !true keičiasi į tiesiog false

Apibendrinus: !true = false

# Kam bus lygus (10 > 9) && (!(9 > 10)) ?

  1. (10 > 9) bus true, todėl: true && (!(9 > 10))
  2. (9 > 10) bus false, todėl: true && (!false)
  3. (!false) dalis verčiasi į priešingą jai, t. y. į true, todėl: true && true
  4. Naudojant operatorių && visos sąlygos dalys turi būti true, kad visa sąlyga būtų true, todėl galutinis rezultatas: true

Apibendrinus: (10 > 9) && (!(9 > 10)) = true

# Pavyzdžiai

# Pavyzdys 1

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius = 14;

	if (skaicius > 0 && skaicius <= 100)
	{
		cout << "Skaicius patenka tarp reziu [1-100]";
	}
}

Rezultatai:

Skaicius patenka tarp reziu [1-100]

# Pavyzdys 2

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius;
	cout << "Iveskite skaiciu: ";
	cin >> skaicius;

	if (skaicius > 0 && skaicius <= 100)
	{
		cout << "Skaicius patenka tarp reziu [1-100]";
	}
	else
	{
		cout << "Skaicius nepatenka tarp nurodytu reziu";
	}
}

Rezultatas 1:

Iveskite skaiciu: 20
Skaicius patenka tarp reziu [1-100]

Rezultatas 2:

Iveskite skaiciu: 120
Skaicius nepatenka tarp nurodytu reziu

# Pavyzdys 3

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius;
	cout << "Iveskite skaiciu: ";
	cin >> skaicius;

	if (skaicius == 3 || skaicius > 100)
	{
		cout << "skaicius lygus 3 arba yra didesnis nei 100";
	}
}

Rezultatas 1:

Iveskite skaiciu: 25

Rezultatas 2:

Iveskite skaiciu: 5000
skaicius lygus 3 arba yra didesnis nei 100

Rezultatas 3:

Iveskite skaiciu: 3
skaicius lygus 3 arba yra didesnis nei 100

# Pavyzdys 4

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int pradzia = 1;
	int pabaiga = 100;
	int skaicius;

	cout << "iveskite skaiciu: ";
	cin >> skaicius;

	cout << "reziai [" << pradzia << "-" << pabaiga << "]" << endl;

	if (skaicius >= pradzia && skaicius <= pabaiga)
	{
		cout << "skaicius patenka i nurodytus rezius";
	}
	else
	{
		cout << "skaicius nepatenka i nurodytus rezius";
	}
}

Rezultatas 1:

iveskite skaiciu: -65
reziai [1-100]
skaicius nepatenka i nurodytus rezius

Rezultatas 2:

iveskite skaiciu: 55
reziai [1-100]
skaicius patenka i nurodytus rezius

Rezultatas 3:

iveskite skaiciu: 200
reziai [1-100]
skaicius nepatenka i nurodytus rezius

# Pavyzdys 5

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius;
	cout << "iveskite skaiciu: ";
	cin >> skaicius;

	if (skaicius > 0 && skaicius % 2 == 0)
	{
		cout << "skaicius yra teigiamas ir lyginis";
	}
	else if (skaicius > 0 && skaicius % 3 == 0)
	{
		cout << "skaicius yra teigiamas ir dalinasi is 3";
	}
	else
	{
		cout << "skaicius neigiamas arba nesidalina nei is 2 nei is 3";
	}
}

Rezultatas 1:

iveskite skaiciu: 8
skaicius yra teigiamas ir lyginis

Rezultatas 2:

iveskite skaiciu: 9
skaicius yra teigiamas ir dalinasi is 3

Rezultatas 3:

iveskite skaiciu: -5
skaicius neigiamas arba nesidalina nei is 2 nei is 3

# Pavyzdys 6

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int kaina = 0;
	bool nemokama = true;

	if (kaina > 0 || nemokama == true)
	{
		cout << "preke parduodama" << endl;
	}

	if (kaina > 0 || nemokama)
	{
		cout << "preke parduodama" << endl;
	}
}

Rezultatai:

preke parduodama
preke parduodama

# Pavyzdys 7

Kodas:

#include <iostream>
using namespace std;

int main()
{
	if (5 + 3 > 0 || 100 < 100)
	{
		cout << "suveike";
	}
	else
	{
		cout << "nesuveike";
	}
}

Rezultatai:

suveike

# Pavyzdys 8

Kodas:

#include <iostream>
using namespace std;

int main()
{
	if (5 + 3 > 0 && 100 < 100)
	{
		cout << "suveike";
	}
	else
	{
		cout << "nesuveike";
	}
}

Rezultatai:

nesuveike

# Pavyzdys 9

Kodas:

#include <iostream>
using namespace std;

int main()
{
	if (8 * 2 == 16 && (8 + 9 * 2) % 2 == 0)
	{
		cout << "suveike";
	}
	else
	{
		cout << "nesuveike";
	}
}

Rezultatai:

suveike

# Pavyzdys 10

Kodas:

#include <iostream>
using namespace std;

int main()
{
	if (true && false || true)
	{
		cout << "suveike";
	}
	else
	{
		cout << "nesuveike";
	}
}

Rezultatai:

suveike

# Pavyzdys 11

Kodas:

#include <iostream>
using namespace std;

int main()
{
	if (false && (false || true))
	{
		cout << "suveike";
	}
	else
	{
		cout << "nesuveike";
	}
}

Rezultatai:

nesuveike

# Pavyzdys 12

Kodas:

#include <iostream>
using namespace std;

int main()
{
	bool bilietas = true;

	if (!bilietas)
	{
		cout << "bilieto nera";
	}
	else
	{
		cout << "bilietas yra";
	}
}

Rezultatai:

bilietas yra

# Pavyzdys 13

Kodas:

#include <iostream>
using namespace std;

int main()
{
	if (!(5 + 3 > 0))
	{
		cout << "suveike";
	}
	else
	{
		cout << "nesuveike";
	}
}

Rezultatai:

nesuveike

# Pavyzdys 14

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius;
	cout << "iveskite skaiciu: ";
	cin >> skaicius;

	if ((skaicius > 0 && skaicius < 100) || skaicius % 2 == 0)
	{
		cout << "skaicius patenka i rezius arba dalinasi is 2" << endl;
	}

	if (skaicius > 0 && (skaicius < 100 || skaicius % 2 == 0))
	{
		cout << "skaicius teigiamas ir mazesnis uz 100 arba lyginis" << endl;
	}
}

Rezultatas 1:

iveskite skaiciu: 55
skaicius patenka i rezius arba dalinasi is 2
skaicius teigiamas ir mazesnis uz 100 arba lyginis

Rezultatas 2:

iveskite skaiciu: -7777

Rezultatas 3:

iveskite skaiciu: 120
skaicius patenka i rezius arba dalinasi is 2
skaicius teigiamas ir mazesnis uz 100 arba lyginis

# Užduotys

# Užduotis 1

Susikurkite du kintamuosius rėžių pradžiai ir pabaigai saugoti. Liepkite vartotojui įvesti skaičių. Patikrinkite ar skaičius patenka į nurodytus rėžius.

# Užduotis 2

Liepkite vartotojui įvesti bet kokį teigiamą skaičių. Patikrinkite ar skaičius yra teigiamas (didesnis už nulį) ir ar yra lyginis (dalinasi iš 2).

# Užduotis 3

Liepkite vartotojui įvesti bet kokį skaičių. Patikrinkite ar skaičius dalinasi iš 2 arba 5 arba 7.

# Užduotis 4

Liepkite vartotojui įvesti tris skaičius. Raskite kuris iš šių skaičių yra didžiausias.

# Užduotis 5

Liepkite vartotojui įvesti tris skaičius. Raskite kuris iš šių skaičių yra mažiausias.

# Užduotis 6

Liepkite vartotojui įvesti trijų egzaminų rezultatus. Suraskite pažymių vidurkį. Atlikite šiuos patikrinimus:

  • ar gautas vidurkis yra [8-10];
  • ar gautas vidurkis yra [5-8);
  • ar gautas vidurkis yra < 5.

# Užduotis 7

Liepkite įvesti du skaičius. Patikrinkite, naudojant 4 atskiras if sąlygas:

  • ar pirmas skaičius yra didesnis už antrąjį, arba yra lygus 0;
  • ar antras skaičius yra didesnis už pirmąjį, arba yra lygus 5;
  • ar pirmas skaičius yra didesnis už antrąjį ir yra lygus 20;
  • ar antras skaičius yra didesnis už pirmąjį ir yra mažesnis už 100;

# Patikrinimo sąlyga switch

# Apie switch sąlygą

  • switch sąlyga skirta norint patikrinti kelias skirtingas galimas to paties kintamojo reikšmes.
  • Bus įvykdomas pirmos teisingos sąlygos kodas.

Pavyzdžiui, galima tikrinti klaidos kodą:

  • Ar kodas yra 1? Jei taip - išsiųsti pranešimą administratoriui.
  • Ar kodas yra 2? Jei taip - parodyti pranešimą vartotojui.
  • Ar kodas yra 3? Jei taip - išsiųsti pranešimą programuotojui.
  • Jei kodas nerastas - įrašyti į sistemos "log" failus.

Arba, pavyzdžiui, jei tikrintume užsakymo būseną:

  • Ar būsena yra "naujas"? Jei taip - siųsti pranešimus administratoriui ir pirkėjui.
  • Ar būsena yra "vykdomas"? Jei taip - sekti kurjerio pateiktą informaciją.
  • Ar būsena yra "parengtas"? Jei taip - siųsti pranešimą pirkėjui, kad gali atsiimti.
  • Ar būsena yra "įvykdytas"? Jei taip - rodyti pristatymo laiką ir nebeleisti atlikti kitų veiksmų.

# switch sąlygos sintaksė

switch (<kintamasis>)
{
case <tikrinimas1>:
    // vykdomas kodas, jei kintamasis == tikrinimas1
    break;
case <tikrinimas2>:
    // vykdomas kodas, jei kintamasis == tikrinimas2
    break;
default:
    // vykdomas kodas, jei joks case nebuvo įvykdytas
    break;
}

# Pavyzdžiai

# Pavyzdys 1

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius = 2;

	if (skaicius == 1)
	{
		cout << "skaicius lygus 1" << endl;
	}
	else if (skaicius == 2)
	{
		cout << "skaicius lygus 2" << endl;
	}
	else if (skaicius == 3)
	{
		cout << "skaicius lygus 3" << endl;
	}

	switch (skaicius)
	{
	case 1:
		cout << "skaicius lygus 1" << endl;
		break;
	case 2:
		cout << "skaicius lygus 2" << endl;
		break;
	case 3:
		cout << "skaicius lygus 3" << endl;
		break;
	}
}

Rezultatai:

skaicius lygus 2
skaicius lygus 2

# Pavyzdys 2

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius;

	cout << "iveskite norima skaiciu: ";
	cin >> skaicius;

	switch (skaicius)
	{
	case 1: cout << "pasirinkote 1!" << endl; break;
	case 2: cout << "pasirinkote 2!" << endl; break;
	case 5: cout << "pasirinkote 5!" << endl; break;
	case 10: cout << "pasirinkote 10!" << endl; break;
	}
}

Rezultatas 1:

iveskite norima skaiciu: 5
pasirinkote 5!

Rezultatas 2:

iveskite norima skaiciu: 2
pasirinkote 2!

Rezultatas 3:

iveskite norima skaiciu: 11

# Pavyzdys 3

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius;

	cout << "iveskite norima skaiciu: ";
	cin >> skaicius;

	if (skaicius == 1)
	{
		cout << "pasirinktas skaicius 1" << endl;
	}
	else
	{
		cout << "skaicius nerastas" << endl;
	}

	switch (skaicius)
	{
	case 1:
		cout << "pasirinktas skaicius 1" << endl;
		break;
	default:
		cout << "skaicius nerastas" << endl;
		break;
	}
}

Rezultatas 1:

iveskite norima skaiciu: 5
skaicius nerastas
skaicius nerastas

Rezultatas 2:

iveskite norima skaiciu: 1
pasirinktas skaicius 1
pasirinktas skaicius 1

# Pavyzdys 4

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius1, skaicius2, pasirinkimas;

	cout << "iveskite du skaicius: ";
	cin >> skaicius1 >> skaicius2;

	cout << "1 - suma\n"
		<< "2 - skirtumas\n"
		<< "3 - sandauga\n"
		<< "Pasirinkimas: ";
	cin >> pasirinkimas;

	switch (pasirinkimas)
	{
	case 1:
		cout << skaicius1 << " + " << skaicius2 << " = "
			<< skaicius1 + skaicius2 << endl;
		break;
	case 2:
		cout << skaicius1 << " - " << skaicius2 << " = "
			<< skaicius1 - skaicius2 << endl;
		break;
	case 3:
		cout << skaicius1 << " x " << skaicius2 << " = "
			<< skaicius1 * skaicius2 << endl;
		break;
	default:
		cout << "blogai pasirinktas veiksmas" << endl;
		break;
	}
}

Rezultatas 1:

iveskite du skaicius: 8 3
1 - suma
2 - skirtumas
3 - sandauga
Pasirinkimas: 2
8 - 3 = 5

Rezultatas 2:

iveskite du skaicius: 3
5
1 - suma
2 - skirtumas
3 - sandauga
Pasirinkimas: 1
3 + 5 = 8

Rezultatas 3:

iveskite du skaicius: 6 2
1 - suma
2 - skirtumas
3 - sandauga
Pasirinkimas: 3
6 x 2 = 12

Rezultatas 4:

iveskite du skaicius: 4 5
1 - suma
2 - skirtumas
3 - sandauga
Pasirinkimas: 9
blogai pasirinktas veiksmas

# Pavyzdys 5

Kodas:

#include <iostream>
using namespace std;

int main()
{
	cout << "kazkas kazkas" << endl;

	char pasirinkimas;
	cout << "ar norite testi? (t/n)" << endl;
	cin >> pasirinkimas;

	switch (pasirinkimas)
	{
	case 't':
		cout << "dar kazkas daroma" << endl;
		break;
	case 'n':
		cout << "pabaigos zodis" << endl;
		break;
	default:
		cout << "ivyko klaida" << endl;
		break;
	}
}

Rezultatas 1:

kazkas kazkas
ar norite testi? (t/n)
t
dar kazkas daroma

Rezultatas 2:

kazkas kazkas
ar norite testi? (t/n)
n
pabaigos zodis

Rezultatas 3:

kazkas kazkas
ar norite testi? (t/n)
d
ivyko klaida

# Pavyzdys 6

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius1, skaicius2;
	char pasirinkimas;

	int suma, skirtumas, sandauga;
	double dalmuo;

	cout << "ar norite skaiciuoti? (t/n)" << endl;
	cin >> pasirinkimas;

	switch (pasirinkimas)
	{
	case 't':
		cout << "Iveskite du skaicius: ";
		cin >> skaicius1 >> skaicius2;

		suma = skaicius1 + skaicius2;
		skirtumas = skaicius1 - skaicius2;
		sandauga = skaicius1 * skaicius2;
		dalmuo = (double)skaicius1 / skaicius2;

		cout << "skaiciu " << skaicius1 << " ir " << skaicius2
			<< " skaiciavimai:" << endl
			<< "suma = " << suma << endl
			<< "skirtumas = " << skirtumas << endl
			<< "sandauga = " << sandauga << endl
			<< "dalmuo = " << dalmuo << endl;
		break;
	case 'n':
		cout << "pabaigos zodis" << endl;
		break;
	default:
		cout << "ivyko klaida" << endl;
		break;
	}
}

Rezultatas 1:

ar norite skaiciuoti? (t/n)
n
pabaigos zodis

Rezultatas 2:

ar norite skaiciuoti? (t/n)
t
Iveskite du skaicius: 5 8
skaiciu 5 ir 8 skaiciavimai:
suma = 13
skirtumas = -3
sandauga = 40
dalmuo = 0.625

Rezultatas 3:

ar norite skaiciuoti? (t/n)
t
Iveskite du skaicius: 2 7
skaiciu 2 ir 7 skaiciavimai:
suma = 9
skirtumas = -5
sandauga = 14
dalmuo = 0.285714

# Pavyzdys 7

Kodas:

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
	int skaicius1, skaicius2, skaicius3, laipsnis;
	int pasirinkimas;

	cout << "Pasirinkimai:" << endl
		<< "1 - skaiciuoti dvieju skaiciu suma ir skirtuma" << endl
		<< "2 - skaiciuoti dvieju skaiciu sandauga" << endl
		<< "3 - skaiciuoti vieno skaiciaus laipsni" << endl
		<< "4 - skaiciuoti triju skaiciu suma" << endl << endl;

	cout << "Iveskite pasirinkimo numeri: ";
	cin >> pasirinkimas;
	cout << endl;

	switch (pasirinkimas)
	{
	case 1:
		cout << "Pasirinkta dvieju skaiciu suma ir skirtumas" << endl;
		cout << "Iveskite du skaicius: ";
		cin >> skaicius1 >> skaicius2;
		cout << "Suma = " << skaicius1 + skaicius2 << endl;
		cout << "Skirtumas = " << skaicius1 - skaicius2 << endl;
		break;
	case 2:
		cout << "Pasirinkta dvieju skaiciu sandauga" << endl;
		cout << "Iveskite du skaicius: ";
		cin >> skaicius1 >> skaicius2;
		cout << "Atsakymas = " << skaicius1 * skaicius2 << endl;
		break;
	case 3:
		cout << "Pasirinkta vieno skaiciaus laipsnis" << endl;
		cout << "Iveskite skaiciu: ";
		cin >> skaicius1;
		cout << "Iveskite norima laipsni: ";
		cin >> laipsnis;
		cout << "Atsakymas = " << pow(skaicius1, laipsnis) << endl;
		break;
	case 4:
		cout << "Pasirinkta triju skaiciu suma" << endl;
		cout << "Iveskite tris skaicius: ";
		cin >> skaicius1 >> skaicius2 >> skaicius3;
		cout << "Atsakymas = " << skaicius1 + skaicius2 + skaicius3 << endl;
		break;
	default:
		cout << "Nera tokio pasirinkimo varianto" << endl;
		break;
	}
}

Rezultatas 1:

Pasirinkimai:
1 - skaiciuoti dvieju skaiciu suma ir skirtuma
2 - skaiciuoti dvieju skaiciu sandauga
3 - skaiciuoti vieno skaiciaus laipsni
4 - skaiciuoti triju skaiciu suma

Iveskite pasirinkimo numeri: 1

Pasirinkta dvieju skaiciu suma ir skirtumas
Iveskite du skaicius: 4 5
Suma = 9
Skirtumas = -1

Rezultatas 2:

Pasirinkimai:
1 - skaiciuoti dvieju skaiciu suma ir skirtuma
2 - skaiciuoti dvieju skaiciu sandauga
3 - skaiciuoti vieno skaiciaus laipsni
4 - skaiciuoti triju skaiciu suma

Iveskite pasirinkimo numeri: 2

Pasirinkta dvieju skaiciu sandauga
Iveskite du skaicius: 2 3
Atsakymas = 6

Rezultatas 3:

Pasirinkimai:
1 - skaiciuoti dvieju skaiciu suma ir skirtuma
2 - skaiciuoti dvieju skaiciu sandauga
3 - skaiciuoti vieno skaiciaus laipsni
4 - skaiciuoti triju skaiciu suma

Iveskite pasirinkimo numeri: 3

Pasirinkta vieno skaiciaus laipsnis
Iveskite skaiciu: 2
Iveskite norima laipsni: 3
Atsakymas = 8

Rezultatas 4:

Pasirinkimai:
1 - skaiciuoti dvieju skaiciu suma ir skirtuma
2 - skaiciuoti dvieju skaiciu sandauga
3 - skaiciuoti vieno skaiciaus laipsni
4 - skaiciuoti triju skaiciu suma

Iveskite pasirinkimo numeri: 4

Pasirinkta triju skaiciu suma
Iveskite tris skaicius: 1 2 3
Atsakymas = 6

Rezultatas 5:

Pasirinkimai:
1 - skaiciuoti dvieju skaiciu suma ir skirtuma
2 - skaiciuoti dvieju skaiciu sandauga
3 - skaiciuoti vieno skaiciaus laipsni
4 - skaiciuoti triju skaiciu suma

Iveskite pasirinkimo numeri: 5

Nera tokio pasirinkimo varianto

# Pavyzdys 8

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius1, skaicius2;
	char veiksmas;

	cout << "Iveskite norima suskaiciuoti matematini veiksma" << endl;
	cin >> skaicius1 >> veiksmas >> skaicius2;

	cout << skaicius1 << " " << veiksmas << " " << skaicius2 << " = ";

	switch (veiksmas)
	{
	case '+': cout << skaicius1 + skaicius2; break;
	case '-': cout << skaicius1 - skaicius2; break;
	case '*': cout << skaicius1 * skaicius2; break;
	case '/': cout << (double)skaicius1 / skaicius2; break;
	default: cout << "Ivyko klaida"; break;
	}
}

Rezultatas 1:

Iveskite norima suskaiciuoti matematini veiksma
5 + 6
5 + 6 = 11

Rezultatas 2:

Iveskite norima suskaiciuoti matematini veiksma
9 - 6
9 - 6 = 3

Rezultatas 3:

Iveskite norima suskaiciuoti matematini veiksma
2 * 3
2 * 3 = 6

Rezultatas 4:

Iveskite norima suskaiciuoti matematini veiksma
7 / 3
7 / 3 = 2.33333

Rezultatas 5:

Iveskite norima suskaiciuoti matematini veiksma
5 a 2
5 a 2 = Ivyko klaida

# Pavyzdys 9

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius1, skaicius2;
	char veiksmas;
	double atsakymas;

	cout << "Iveskite norima suskaiciuoti matematini veiksma" << endl;
	cin >> skaicius1 >> veiksmas >> skaicius2;

	switch (veiksmas)
	{
	case '+': atsakymas = skaicius1 + skaicius2; break;
	case '-': atsakymas = skaicius1 - skaicius2; break;
	case '*': atsakymas = skaicius1 * skaicius2; break;
	case '/': atsakymas = (double)skaicius1 / skaicius2; break;
    default: atsakymas = 0; break;
	}

	cout << skaicius1 << " " << veiksmas << " " << skaicius2
		<< " = " << atsakymas;
}

Rezultatas 1:

Iveskite norima suskaiciuoti matematini veiksma
2 + 3
2 + 3 = 5

Rezultatas 2:

Iveskite norima suskaiciuoti matematini veiksma
2 - 0
2 - 0 = 2

Rezultatas 3:

Iveskite norima suskaiciuoti matematini veiksma
4 * 5
4 * 5 = 20

Rezultatas 4:

Iveskite norima suskaiciuoti matematini veiksma
4 / 3
4 / 3 = 1.33333

Rezultatas 5:

Iveskite norima suskaiciuoti matematini veiksma
5 b 2
5 b 2 = 0

# Pavyzdys 10

Kodas:

#include <iostream>
using namespace std;

int main()
{
	int skaicius1, skaicius2;
	char veiksmas;
	double atsakymas;

	cout << "Iveskite norima suskaiciuoti matematini veiksma" << endl;
	cin >> skaicius1 >> veiksmas >> skaicius2;

	switch (veiksmas)
	{
	case '+':
		atsakymas = skaicius1 + skaicius2;
		break;
	case '-':
		atsakymas = skaicius1 - skaicius2;
		break;
	case '*':
	case 'x':
		atsakymas = skaicius1 * skaicius2;
		break;
	case '/':
	case ':':
		atsakymas = (double)skaicius1 / skaicius2;
		break;
	default:
		atsakymas = 0;
		break;
	}

	cout << skaicius1 << " " << veiksmas << " " << skaicius2
		<< " = " << atsakymas;
}

Rezultatas 1:

Iveskite norima suskaiciuoti matematini veiksma
2 + 3
2 + 3 = 5

Rezultatas 2:

Iveskite norima suskaiciuoti matematini veiksma
2 * 3
2 * 3 = 6

Rezultatas 3:

Iveskite norima suskaiciuoti matematini veiksma
8 x 2
8 x 2 = 16

Rezultatas 4:

Iveskite norima suskaiciuoti matematini veiksma
5 : 2
5 : 2 = 2.5

# Užduotys

# Užduotis 1

Išveskite vartotojui pasirinkimų informaciją (pavyzdžiui: pasirinkite 1, jei vanduo, 2 - jei …, 3 - jei ...). Liepkite vartotojui įvesti pasirinkimo numerį. Tikrinkite:

  • Ar pasirinkimas lygus 1? Jei taip, išveskite, kad vartotojas pasirinko vandenį.
  • Ar pasirinkimas lygus 2? Jei taip, išveskite, kad vartotojas pasirinko limonadą.
  • Ar pasirinkimas lygus 3? Jei taip, išveskite, kad vartotojas pasirinko arbatą.
  • Ar pasirinkimas lygus 4? Jei taip, išveskite, kad vartotojas pasirinko kavą.
  • Jei pasirinkimas neegzistuoja, išveskite klaidos pranešimą.

# Užduotis 2

Liepkite vartotojui įvesti tris skaičius. Tikrinkite pirmą skaičių:

  • Ar pirmas skaičius lygus 1? Jei taip, išvesti visų trijų skaičių sumą.
  • Ar pirmas skaičius lygus 2? Jei taip, išvesti antro ir trečio skaičių sandaugą.
  • Ar pirmas skaičius lygus 3? Jei taip, išvesti pirmo skaičiaus kvadratą.
  • Jei nei vienas variantas netinka, išveskite klaidos pranešimą.