Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Pętla do.. while

Ostatnio zmodyfikowano 2013-12-04 21:01
Autor Wiadomość
Pyrkosz19
Temat założony przez niniejszego użytkownika
Pętla do.. while
» 2013-12-03 00:59:36
Witam. Zacząłem niedawno lekturę kursu i wszystko szło gładko póki nie zacząłem lekcji "Pseudolosowe liczby całkowite". Konkretnie wysiadłem na zadaniu domowym, nie mogę zapętlić "do" tak aby wylosowana liczba zamykała program. Ponad to nie mam pojęcia w jaki sposób wypisać na końcu ile było prób odgadnięcia liczby. Proszę o pomoc i z góry dziękuję.

C/C++
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;


int main()
{
    int a;
    int b = rand();
    srand( time( NULL ) );
    cout << "Twoja wylosowana liczba: " <<( rand() % 999 ) + 1 << endl;
    cout << "Zgadnij jaka liczbe wylosowal program: " << endl;
    cin >> a;
    cout << "Podales liczbe: " << a << endl;
    if( a != b )
    do
    {
        if( a > 1000 || a < 1 )
        do
        {
            cout << "Blad, podaj liczbe od 1 do 1000" << endl;
            cin >> a;
        } while( a < 1 || a > 1000 );
       
        cout << "Zgadnij jaka liczbe wylosowal program: " << endl;
        cin >> a;
        cout << "Podales liczbe: " << a << endl;
    } while( a != b );
   
    cout << "To wlasnie ta liczba!" << endl;
    return 0;
}


Pozdrawiam, Pyrkosz
P-98143
Wiesiek
» 2013-12-03 06:38:21
1. Program losuje liczbę z przedziału od 1 do 1000.

Najpierw srand, potem int b=rand.  I to wszystko w tym kroku

2. Użytkownik zgaduje liczbę, która została wylosowana.
3. Jeżeli podana liczba jest za duża (za mała) gra wypisuje stosowny komunikat i powraca do kroku 2.

Czyli pętla - np.  do ... while(true); Wewnątrz pętli:
a) odczytujesz liczbę z klawiatury z kontrolą zakresu
b) realizujesz 3. za pomocą instrukcji if - jeśli liczba jest za duża (za mała) gra wypisuje stosowny komunikat, w przeciwnym przypadku wykonujesz instrukcję break (wyskakujesz z pętli, gdyż została znaleziona właściwa liczba.

krok a) można zrealizować za pomocą analogicznej pętli do ... while (true) z break w środku, gdy liczba jest właściwa.

4. Jeżeli gracz trafi liczbę wylosowaną to progam kończy działanie, wypisując na ekran wylosowaną liczbę oraz liczbę 'strzałów', które oddał gracz.

Aby wypisać liczbę strzałów trzeba na początku programu zadeklarować licznik strzałów (int strzal=0;), a następnie przy każdym odczycie liczby z klawiatury zwiększać licznik o 1.
P-98148
Pyrkosz19
Temat założony przez niniejszego użytkownika
» 2013-12-04 21:01:09
Dzięki za pomoc, bardzo się przydała
P-98359
« 1 »
  Strona 1 z 1