Lekcja 5 - Instrukcja warunkowa
- Szczegóły
- Odsłony: 4932
.
1. Instrukcja warunkowa
(ang. conditional statement) pozwala wykonywać pewne instrukcje przy spełnionym bądź nie spełnionym warunku(ang. condition) - dzięki niej program nie musi zawsze biegnąć tą samą ścieżką, lecz w zależności od zastanej sytuacji może on wybierać właściwą drogę. Dzięki niej mogą rozwiązywać dowolnie skomplikowane problemy. Instrukcja warunkowa posiada w języku C++ następującą składnię:
if (warunek)
instrukcja 1;
else
instrukcja 2;
2. Operatory
Symbol | Opis |
---|---|
== | Równy |
> | Większy |
< | Mniejszy |
>= | Większy lub równy |
<= | Mniejszy lub równy |
!= | Różny |
&& | i |
|| | lub |
3. Programy
a) BANKOMAT
Wypłata pieniędzy z bankomatu z wykorzystaniem funkcji if. Aby wypłacić pieniądze musimy sprawdzić czy podany pin jest zgodny z pinem zapisanym na karcie. Jeśli pin jest zgodny to możemy wypłacić pieniądze, jeśli nie musimy jeszcze raz wpisać pin.
Program 1 (jeden warunek)
#include <iostream>
using namespace std;
string PIN; // deklaracja zmiennej PIN jako ciąg znaków string
//program główny
int main()
{
cout << "Witaj w naszym banku" << endl;
cout <<"Podaj numer PIN: ";
cin >> PIN;
if (PIN=="1234") // porównanie zmiennej PIN do 1234 za pomocą operatora ==
// numer 1234 musi być zapisany w "" ponieważ jest to napis
{
cout<<"Poprawny PIN";
}
else // oznacza w przeciwnym przypadku
{
cout<<"Nieoprawny PIN";
}
return 0;
}
Program 1 (pętla while)
#include <iostream>
using namespace std;
string PIN;
int main()
{
cout<<"BANK - ALIORBANK"<<endl;
cout<<"Podaj PIN = ";
cin>>PIN;
while (PIN!="1234")
{
cout<<"zly PIN!!!"<<endl;
cout<<"Podaj jeszcze raz PIN = " //wykonanie pętli jeśli PIN jest różny od 1234
cin>>PIN;
}
cout<<"Pin jest poprawny"; // po wpisaniu 1234 ominięcie pętli i wykonanie polecenia cout
return 0;
}
Program 1 (pętla for i instrukcja warunkowa)
#include <iostream>
using namespace std;
string PIN;
int main()
{
cout<<"BANK - ALIORBANK"<<endl;
cout<<"Podaj PIN = ";
cin>>PIN;
for (int i=1; i<3; i++) //wykonanie programu 3 razy (warunek)
if (PIN!="1234")
{
cout<<"zly PIN!!!"<<endl;
cout<<"Podaj jeszcze raz PIN = ";
cin>>PIN;
}
if (PIN=="1234")
cout<<"Pin jest poprawny";
return 0;
}
b) DZIELENIE DWÓCH LICZB (jeden warunek)
#include <stdio.h>
#include <iostream>
using namespace std;
float a,b,iloraz; //deklaracja zmiennych typu rzeczywistego
int main()
{
cout << "Progam oblicza dzielenie dwoch liczb\n";
cout << "Podaj liczbę a = ";
cin>>a;
cout << "Podaj liczbę b = ";
cin >> b;
if (b==0)
cout <<"Nie można dzielić przez zero";
else
{
iloraz = a/b;
cout <<" Wynik dzielenia liczb ="<<iloraz;
}
return 0;
}
c) LOGOWANIE DO SYSTEMU
W tym przypadku musimy podać dwie zmienne np. login i hasło. Rodzi się pytanie jak takie rozwiązanie zapisać w C++?
W pierwszej kolejności ustalamy poprawne dane czyli:
login - admin
hasło - jolka
Program 2 (dwa warunki)
#include <iostream>
using namespace std;
string haslo, login; // deklaracja zmiennych haslo i login - typ ciąg znaków string
int main()
{
cout << "Podaj login ";
cin>>login;
cout << "Podaj haslo ";
cin>>haslo;
if ((login=="admin") && (haslo=="jolka")) // aby spełniony był warunek 1 i warunek 2 pomiędzy musi pojawić się operator logiczny AND (i) czyli && oraz cały if musi być w ()
{
cout << "Udalo sie zalogowac" ;
}
else
cout<< "Nie udalo sie zalogowac";
return 0;
}
d) BADANIE ZNAKU LICZBY
Musiny określić znak liczby tzn. czy podana liczba przez użytkownia jest:
- dodatnia
- ujemna
- równa zero
Program 3 (trzy warunki)
#include <iostream>
using namespace std;
int a;
int main()
{
cout << "Podaj liczbe " ;
cin >>a;
if (a==0) cout<< "Podana liczba to 0";
else
if (a>0) cout<< "Liczba dodatnia";
else
cout <<"Liczba ujemna";
return 0;
}