Gra w zgadywanie liczby :) pomocy
Ostatnio zmodyfikowano 2013-11-20 07:33
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 #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ę ? |
|
pekfos |
» 2013-11-19 20:01:02 break. |
|
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 |
|
Dariel Temat założony przez niniejszego użytkownika |
» 2013-11-19 20:05:04 wstawiłam break tutaj: if( a == x ) { cout << "Tak! To ta liczba!" << endl; break; } ale wypisuje to : cout << "to byla ostania proba" << endl;
;/ |
|
Buby |
» 2013-11-19 20:07:40 Zrób tak, że za pętlą dodaj warunek: 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. |
|
Dariel Temat założony przez niniejszego użytkownika |
» 2013-11-19 20:14:27 coś źle chyba zrobiłam: 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ć |
|
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: 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ś";
|
|
dambo |
» 2013-11-19 20:24:11 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 |
|
« 1 » 2 |