﻿/*
    A "DO ... WHILE" ciklus (Ismételd ... ameddig)

    Szerkezete:

        do {
            utasítás1
            ...
        } while (feltétel);

    Működése:

        Végre lesznek hajtva a {} közötti utasítások, majd ellenőrizve lesz
        a feltétel és amíg igaz, addig ismét végre lesznek hajtva és ismét
        ellenőrizve lesz a feltétel.
*/

// Pl:
/*
#include <iostream>
using namespace std;

int main()
{
    int n;
    cin >> n;

    cout << "eleje" << endl;
    do {
        cout << n << endl;
        n--;
    } while (n >= 10);
    cout << "vege" << endl;

    while (n >= 10) {
        cout << n << endl;
        n--;
    }

    return 0;
}
*/

// Ciklusátírások:
/*
    1. WHILE -> DO ... WHILE

        while (feltétel) {
            utasítás1
            utasítás2
            ...
        }

        if (feltétel) {
            do {
                utasítás1
                utasítás2
                ...
            } while (feltétel);
        }

    2. DO ... WHILE -> WHILE

        do {
            utasítás1
            utasítás2
            ...
        } while (feltétel);

        -->

        utasítás1
        utasítás2
        ...
        while (feltétel) {
            utasítás1
            utasítás2
            ...
        }

    3. FOR -> WHILE

        for (kezdőértékadás; feltétel; léptetés) {
            utasítás1
            utasítás2
            ...
        }

        -->

        kezdőértékadás;
        while (feltétel) {
            utasítás1
            utasítás2
            ...

            léptetés;
        }
*/

// Feladat: írjuk át!
    // 1.
    /*
        i <- 1
        Ismételd
        |    kiír i
        |    i <- i + 2
        |ameddig i > 10
        []
    */
    /*
    int i = 1;
    do {
        cout << i << endl;
        i += 2; // i = i + 2;
    } while (i <= 10); // lehetne: !(i > 10)
    */

    //2.

    /*
        do {
            valami;
            masvalami;
        } while (feltétel)
    */

    /*
        Ismételd
            valami;
            masvalami;
        ameddig nem feltétel
    */


#include <iostream>
using namespace std;

int main()
{
    // Feladat: "Gondoltam egy számra" játék.
    /*
        Ismételten bekérünk tippet a felhasználótól
        arra vonatkozóan, hogy mennyi ez a szám.
        Válaszolunk neki, azzal hogy: "talált" vagy
        "túl nagy a tipp" vagy "túl kicsi a tipp".

        Ha eltalálta leállunk.
    */

    int szam = 15;

    do {
        cout << "Tippelj: ";
        int tipp;
        cin >> tipp;

        // ??? HF. befejezni!

    } while (???);

    cout << "Játssz máskor is (de ne ezzel)!"
    return 0;
}

/* +pontért: Rajzoljuk ki megfelelő ciklusokkal
    az alábbi karácsonyfát ("*" és " " szövegdarabokat
    kell egymás mellé kiírni):

           *
          ***
         *****
        *******
          ***
         *****
        *******
       *********
      ***********
     *************
          ***
          ***
          ***
          ***
    Elküldeni a kódot: beiland.arnold@gmail.com címre karácsonyig.
