problemy z pętlą do while oraz losowaniem.
Ostatnio zmodyfikowano 2017-09-07 21:23
Corvette653 Temat założony przez niniejszego użytkownika |
problemy z pętlą do while oraz losowaniem. » 2017-09-07 19:40:03 Mam problem z tą pętlą:
int liczba2; bool czydobre; do { cin >> liczba2; czydobre = liczba2; cout << czydobre; cin.clear(); cin.sync(); } while ( !czydobre );
pętla powinna się powtarzać gdy zmienna czydobre ma wartość 0 jednak tego nie robi! aby to osiągnąć wystarczy wpisać np.: a zamiast cyfry.
Co do losowania to jak można zrobić poprawnie tą liijkę???
liczba = liczba1 || liczba2 || liczba3;
Oczywiście chcę aby zmienna liczba = jednej z tych trzech zmiennych ( losowo ), chcę wylosować jedną z tych trzech zmiennych |
|
karambaHZP |
» 2017-09-07 19:44:59 liczba = liczba1 || liczba2 || liczba3; |
Każdą zmienną trzeba porównać osobno. Co do pętli: prześledź palcem po papierze co robi każda linia kodu. |
|
pekfos |
» 2017-09-07 19:46:31 pętla powinna się powtarzać gdy zmienna czydobre ma wartość 0 jednak tego nie robi! aby to osiągnąć wystarczy wpisać np.: a zamiast cyfry. |
Co? Co do losowania to jak można zrobić poprawnie tą liijkę???
liczba = liczba1 || liczba2 || liczba3;
Oczywiście chcę aby zmienna liczba = jednej z tych trzech zmiennych ( losowo ), chcę wylosować jedną z tych trzech zmiennych |
Zapisz do tablicy i wylosuj indeks. |
|
Corvette653 Temat założony przez niniejszego użytkownika |
Nie o to mi chodzi » 2017-09-07 19:50:20 Śledziłem kilka razy każde słowo nawet pokazałem nauczycielowi informatyki i nic pętla w innym programie działa różnią się tylko nazwy zmiennych. Jak każdą zmienną trzeba porównać osobno???? liczba1, 2 i 3 to cyfry z których jedna maost wylsowana czyli zmienna liczba ma się ( równać ) = liczba1, liczba2, lub liczba3 ( LOSOWO ). Nie chce aby wszystkie miały wartość np.:5
pekwos: gdy wpisze np.: 12 wykona się linijka: czydobre ( czyli mój bool ) = liczba2 ( czyli moje 12 ) bool może mieć wartość 1/0 więc w tym wypadku przypisze się 1
JEŚLI wpiszę np.: wqrvcxk to do mojego boola o nazwie czydobre zapisze się: 0 i właśnie w tym wypadku gdy bool czydobre = 0 pętla powinna się powtórzyć, jednak tego NIE robi - to jest cały problem ( w innych programach ta pętla działa )
Co do losowania możesz napisać te kilka linijek kodu? nie jestem zbyt dobry w teorii i nie do końca rozumiem o co Ci chodzi( wiem co to tblica zmiennych ) |
|
karambaHZP |
» 2017-09-07 19:56:56 nawet pokazałem nauczycielowi informatyki i nic |
Nic nie podpowidział? edit: zignoruj to, źle zrozumiałem. |
|
mateczek |
» 2017-09-07 20:01:06 pętla powinna się powtarzać gdy zmienna czydobre ma wartość 0 jednak tego nie robi! |
ależ robi dokładnie to. Gdy poprawnie wpiszesz zero pętla się powtórzy. Pytanie tylko czy o takie działanie Ci chodziło?? ;-) #include <iostream> using namespace std; int main() { int liczba2; bool czydobre; do { cin >> liczba2; czydobre = liczba2; cout << czydobre; cin.clear(); cin.sync(); } while( !czydobre ); } |
|
Corvette653 Temat założony przez niniejszego użytkownika |
o jezu kolejny.... » 2017-09-07 20:01:46 WIEM CO TO ROBI!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Ludzie! sam to pisałem! linijka cout << czydobre jest specjalnie żeby sprawdzić czy bool = 0 gdy wpiszesz np.: a to na ekran wyjdzie ci liczba 0 i znowu program powinien czekać na wpisanie liczby. proszę ludzie kolejny komentarz czy możecie to sobie uruchomić? Pisałem że w innych moich programach ta sama pętla działa ma tylko inne nazwy zmiennych jednak tutaj nawet jak wpisze całą klawiaturę łącznie z polskimi znakami pętla się nie powtórzy!!! w tym cały sęk!
|
|
karambaHZP |
» 2017-09-07 20:08:41 ale czemu niby bool zawsze równa się 1???? |
Dla zera jest wypisane zero. Pytałem czy wiesz co robi ta linijka. |
|
« 1 » 2 3 |