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

Gra w zgadywanie liczby :) pomocy

Ostatnio zmodyfikowano 2013-11-20 07:33
Autor Wiadomość
Dariel
Temat założony przez niniejszego użytkownika
Gra w zgadywanie liczby :) pomocy
» 2013-11-19 19:59:39
Cześć potrzebuje pomocy z tym zadaniem:
"Dwie osoby grają w grę, w której jedna z nich wymyśla liczbę z zakresu od 1 do 100, druga z osób ma tą liczbę odgadnąć. W przypadku, gdy zgadujący nie poda prawidłowej liczby, pierwsza osoba udziela podpowiedzi - czy podana liczba jest za duża czy za mała. Jeżeli zgadujący nie wytypuje trafnie liczby przy 5 próbach,
to przegrywa"

jak do tej pory napisałam tyle
C/C++
#include<conio.h>
#include<iostream>
using namespace std;
main()
{
    int a, x, i;
    i = 0;
    cout << "podaj liczbe ktora bedzie odgadywana: " << endl;
    cin >> x;
    do {
        cout << "Jaka to liczba? >>  ";
        cin >> a;
        if( a == x ) cout << "Tak! To ta liczba!" << endl;
       
        if( a < x ) cout << "Za malo!" << endl <<;
       
        if( a > x ) cout << "Za duzo!" << endl <<;
       
        i++;
       
    } while( i != 5 ); cout << "to byla ostania proba" << endl;
   
   
    getch();
    return 0;
}
     wszytko się kompiluje itd ale mam problem z tymi 5 próbami. gdy nie odgadnę 5 razy wszytko jest ok napisze że to była ostatni próba i super, ale nawet jak odgadnę za pierwszym razem to nadal każe mi zgadywać ;/ jak zatrzymać program zaraz po tym jak podam właściwą liczbę ?
P-96691
pekfos
» 2013-11-19 20:01:02
break.
P-96692
dambo
» 2013-11-19 20:05:01
albo break jeśli liczba jest ok, lub w warunku while dopisz " && (a != x) ", ale ta pierwsza opcja lepsza
P-96693
Dariel
Temat założony przez niniejszego użytkownika
» 2013-11-19 20:05:04
wstawiłam break tutaj:
C/C++
if( a == x ) { cout << "Tak! To ta liczba!" << endl;
    break; }
ale wypisuje to :
C/C++
cout << "to byla ostania proba" << endl;
;/
P-96694
Buby
» 2013-11-19 20:07:40
Zrób tak, że za pętlą dodaj warunek:

C/C++
if( i == 5 )
     std::cout << "Przegrałeś";

Tekst się wyświetla, bo jest ustawiony za pętlą - wychodząc z pętli wykonasz tą instrukcję tak czy siak :)
A warunek if zabezpieczy - wyświetli tylko, gdy user przegra.
P-96695
Dariel
Temat założony przez niniejszego użytkownika
» 2013-11-19 20:14:27
coś źle chyba zrobiłam:
C/C++
do {
    cout << "Jaka to liczba? >>  ";
    cin >> a;
    if( a == x ) cout << "Tak! To ta liczba!" << endl;
   
    if( a < x ) cout << "Za malo!" << endl;
   
    if( a > x ) cout << "Za duzo!" << endl;
   
    i++;
   
} while( if( i == 5 )
std::cout << "Przegrałeś";
)
bo nie chce się kompilować
P-96696
Buby
» 2013-11-19 20:20:34
Nie przeczytałaś mojego postu? x)

Po pierwsze zapomniałaś o średniku po while.
Po drugie napisałem, że po wyjściu z pętli masz utworzyć warunek,
a ty wstawiłaś go do warunku działania pętli.

W moim zamyśle miało to wyglądać tak:

C/C++
do {
    cout << "Jaka to liczba? >> ";
    cin >> a;
   
    if( a == x )
         cout << "Tak! To ta liczba!" << endl;
   
    if( a < x )
         cout << "Za malo!" << endl;
   
    if( a > x )
         cout << "Za duzo!" << endl;
   
    i++;
   
} while( i != 5 )

if( i == 5 )
     std::cout << "Przegrałeś";

P-96700
dambo
» 2013-11-19 20:24:11
C/C++
do {
    cout << "Jaka to liczba? >>  ";
    cin >> a;
    if( a == x ) cout << "Tak! To ta liczba!" << endl;
   
    if( a < x ) cout << "Za malo!" << endl;
   
    if( a > x ) cout << "Za duzo!" << endl;
   
    i++;
   
} while(( i != 5 ) &&( a != x ) )
if( i == 5 )
     std::cout << "Przegrałeś";

)
tak to powinno wyglądać, nie można wstawiać if'a jako warunku w while
P-96702
« 1 » 2
  Strona 1 z 2 Następna strona