Lekcja#2 - Instrukcja warunkowa if. Decyzje w programie #nauka
Lekcja#2 - Instrukcja warunkowa if. Decyzje w programie
Program podejmuje decyzje o podjęciu dalszego działania, cofnięciu lub przeskoczeniu dalej.
Czyli innymi słowy zabawa w "żłówie".
Albo wpuścić do systemu albo zabronić.
1. Symulator bankomatu
2. Logowanie do programu.
3. Sprawdzanie wieku podanego przez użytkownika i czy może zostać prezydentem (30 lat)
1. w zmiennej int PIN; jest pojemnik na dane wprowadzone przez użytkownika
komputer 0 nie zapisuje w pamięci, i est to pusta przestrzeń. np. 0517 to dla komputera 517.
Więc zapisujemy nie jako liczby tylko jako napis (ciąg znaków)
napisy przechowujemy w zmiennej typu string
string PIN;
string = łańcuch (łańcuch składa się z ogniw, tak napisy skłądają się z ciągu znakó)
litery to ogniwa łańcucha
if (PIN="1729")
{
cout<<"Poprawny PIN"
}
jeżeli pin wynosi 1729 to zapiszemy Poprawny PIN. Nasza zmienna 1729 jest napisem, to zapisujemy ją jako napis a nie liczbę, czyli w cudzysłowiu.
= instrukcja, operator przypisania; używamy tej instrukcji kiedy chcemy nadać jakąś wartość
== w tym przypadku nie nadajemy, tylko PORÓNUJEMY wartości. - to jest operator porównania
if(PIN!="1729")
!= oznacza "nie jest równy"
{
cout<< "Niepoprawny pin";
}
else (w przeciwnym przypadku)
{
cout<<"Niepoprawny PIN";
}
Zadanie :
#include <iostream>
using namespace std;
string PIN;
int main()
{
cout << "Witaj w naszym banku!" << endl;
cout << "Podaj numer PIN:";
cin >> PIN;
if(PIN=="1729")
{
cout<<"Poprawny PIN";
}
else
{
cout<<"Nieprawidlowy PIN";
}
return 0;
}
=> jest większy lub równy
>= jest większy równy
#include <iostream>
using namespace std;
int wiek;
int main()
{
cout << "Ile masz lat? ";
cin >> wiek;
if(wiek>=18)
{
cout << "Jestes pelnolatni. ";
}
else {
cout << "Jestes niepelnoletni. ";
}
if(wiek>=35)
{
cout << "Mozesz kandydowac na prezydenta.";
}
else {
cout << "Nie mozesz kandydowac na prezydenta.";
}
return 0;
}
Skrócona wersja:
Program podejmuje decyzje o podjęciu dalszego działania, cofnięciu lub przeskoczeniu dalej.
Czyli innymi słowy zabawa w "żłówie".
Albo wpuścić do systemu albo zabronić.
1. Symulator bankomatu
2. Logowanie do programu.
3. Sprawdzanie wieku podanego przez użytkownika i czy może zostać prezydentem (30 lat)
1. w zmiennej int PIN; jest pojemnik na dane wprowadzone przez użytkownika
komputer 0 nie zapisuje w pamięci, i est to pusta przestrzeń. np. 0517 to dla komputera 517.
Więc zapisujemy nie jako liczby tylko jako napis (ciąg znaków)
napisy przechowujemy w zmiennej typu string
string PIN;
string = łańcuch (łańcuch składa się z ogniw, tak napisy skłądają się z ciągu znakó)
litery to ogniwa łańcucha
if (PIN="1729")
{
cout<<"Poprawny PIN"
}
jeżeli pin wynosi 1729 to zapiszemy Poprawny PIN. Nasza zmienna 1729 jest napisem, to zapisujemy ją jako napis a nie liczbę, czyli w cudzysłowiu.
= instrukcja, operator przypisania; używamy tej instrukcji kiedy chcemy nadać jakąś wartość
== w tym przypadku nie nadajemy, tylko PORÓNUJEMY wartości. - to jest operator porównania
if(PIN!="1729")
!= oznacza "nie jest równy"
{
cout<< "Niepoprawny pin";
}
else (w przeciwnym przypadku)
{
cout<<"Niepoprawny PIN";
}
Zadanie :
#include <iostream>
using namespace std;
string PIN;
int main()
{
cout << "Witaj w naszym banku!" << endl;
cout << "Podaj numer PIN:";
cin >> PIN;
if(PIN=="1729")
{
cout<<"Poprawny PIN";
}
else
{
cout<<"Nieprawidlowy PIN";
}
return 0;
}
Ad.2: Mechanizm logowania
if ( (login=="admin")&&(haslo=="szarlotka") )
jeśli oba mają być prawdziwe if true & true -> true, to wstawiamy między nimi && - to jest spójnik logiczny "and"/"i"
&& to spójnik logiczny "and" / "i"
if ( (warunek1) && (warunek2) )
tabela prawdy
warunek 1 warunek 2 cały if
0 0 0
0 1 0
1 0 0
1 1 1
Pojedynczy & (tzw. ampersand) to operator już zarezerowwany
|| to spjnik logiczny "or" / "lub"
if ( (warunek1) || (warunek2) )
tabela prawdy
warunek1 warunek2 cały if
0 0 0
0 1 1
1 0 1
1 1 1
Zastosowanie:
Quiz
a (z CapsLock'iem A)
b
c
d
if ((odp1==a) || (odp1==A)
Co, jeśli (warunek 1)|| (warunek 2) || (warunek 3) && (warunek 4)
w C++ operator && ma pierwszeństwo nad || (tak jak np. w matematyce mnożenie ma pierwszeństwo przed dodawaniem).
Stąd tak naprawdę mówię tutaj jedynie o takim warunku:
if((x<=5 || x>12 || a!=7) && a>15)
if ((x<=5) || (x>12) || (a!=7) && (a>15))
zmienna x to 3,
zmienna a to 7
Zadanie:
#include <iostream>
using namespace std;
string login, haslo;
int main()
{
cout << "Podaj login: ";
cin >> login;
cout << "Podaj haslo: ";
cin >> haslo;
if((login=="admin")&&(haslo=="szarlotka"))
{
cout << "Udalo sie zalogowac!";
}
else {
cout << "Nie udalo sie zalogowac";
}
return 0;
}
Ad.3. Sprawdzanie wieku podanego przez użytkownika
Pełnoletni? (minimum 18 lat)
Kanydat na prezydenta? (minimum 35 lat)
=> jest większy lub równy
>= jest większy równy
#include <iostream>
using namespace std;
int wiek;
int main()
{
cout << "Ile masz lat? ";
cin >> wiek;
if(wiek>=18)
{
cout << "Jestes pelnolatni. ";
}
else {
cout << "Jestes niepelnoletni. ";
}
if(wiek>=35)
{
cout << "Mozesz kandydowac na prezydenta.";
}
else {
cout << "Nie mozesz kandydowac na prezydenta.";
}
return 0;
}
Skrócona wersja:
else if
#include <iostream>
using namespace std;
int wiek;
int main()
{
cout << "Ile masz lat? ";
cin >> wiek;
if(wiek<18)
{
cout << "Nie jestes pelnolatni i nie możesz zostac prezydentem.";
}
else if ((wiek>=18) && (wiek<35))
{
cout << "Jestes pelnoletni i nie mozesz zostac prezydentem.";
}
else
{
cout << "Jestes pelnoletni i mozesz kandydowac na prezydenta.";
}
return 0;
}
#include <iostream>
using namespace std;
int wiek;
int main()
{
cout << "Ile masz lat? ";
cin >> wiek;
if(wiek<18)
{
cout << "Nie jestes pelnolatni i nie możesz zostac prezydentem.";
}
else if ((wiek>=18) && (wiek<35))
{
cout << "Jestes pelnoletni i nie mozesz zostac prezydentem.";
}
else
{
cout << "Jestes pelnoletni i mozesz kandydowac na prezydenta.";
}
return 0;
}
Komentarze
Prześlij komentarz