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;
}

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;

}


Podsumowanie:if = "jeżeli"if true / falseAND && - oba waruki są spełnioneOR || chociaż jeden z warunków spełniony

Komentarze

Popularne posty z tego bloga

Na początku był C++... #nauka

Pętla for, while, do.. while. Pętle wyjaśnione cz.2 #c++