[C++] Losowanie w switch()
Ostatnio zmodyfikowano 2013-12-23 15:56
dawid Temat założony przez niniejszego użytkownika |
» 2013-12-22 21:46:15 Tak, jestem pewien. Na pytanie: "Rzeka nad, ktora znajduje sie najwiecej zamkow we Francji to:" wpisuję "b" i pojawia mi się, że odpowiedź jest nie poprawna. Tak samo jest z innymi pytaniami. Może pokaże jeszcze raz kod, bo może coś nie tak napisałem: #include <iostream> #include <conio.h> #include <cstdlib> #include <ctime>
int main() { char wpisane1 = 'b' || 'B'; char wpisane2 = 'c' || 'C'; char wpisane3 = 'd' || 'D'; int pytania; std::cout << "******************Witaj w grze ''Pytania''******************"; std::cout << "\t\t\tWcisnij dowolny przycisk, aby zaczac gre."; std::cin >> pytania; srand( time( NULL ) ); pytania =( rand() % 3 ) + 1; switch( pytania ) { case 1: std::cout << "Rzeka nad, ktora znajduje sie najwiecej zamkow we Francji to: \n"; std::cout << "A: Aussonnelle \n"; std::cout << "B: Loara \n"; std::cout << "C: Claise \n"; std::cout << "D: Bruxenelle \n"; std::cout << "Wpisz poprawna odpowiedz, podajac litere jej odpowiadajaca: \n"; getch(); std::cin >> wpisane1; if( wpisane1 == 'b' || wpisane1 == 'B' ) std::cout << "(B - Loara) Gratulacje! Poprawna odpowiedz. " << wpisane1 << std::endl; else std::cout << "Niestety... zla odpowiedz. Poprawna to Loara(B)" << std::endl; break; case 2: std::cout << "Komiksowym ''dzieckiem'' rysownika Boba Kane'a jest: " << std::endl; std::cout << "A: SumerMan \n"; std::cout << "B: Spider-Man \n"; std::cout << "C: Batman \n"; std::cout << "D: Captain America \n"; std::cout << "Wpisz poprawna odpowiedz, podajac litere jej odpowiadajaca: \n"; getch(); std::cin >> wpisane2; if( wpisane2 == 'c' || wpisane2 == 'C' ) std::cout << "(C - Batman) Gratulacje! Poprawna odpowiedz. " << wpisane2 << std::endl; else std::cout << "Niestety... zla odpowiedz. Poprawna to Batman(C)" << std::endl; break; case 3: std::cout << "Skad pochodzi Conan Barbarzynca? " << std::endl; std::cout << "A: z Rivii \n"; std::cout << "B: z Oz \n"; std::cout << "C: z Mordoru \n"; std::cout << "D: z Cimmerii \n"; std::cout << "Wpisz poprawna odpowiedz, podajac litere jej odpowiadajaca: \n"; getch(); std::cin >> wpisane3; if( wpisane3 == 'd' || wpisane3 == 'D' ) std::cout << "(D - z Cimmerii) Gratulacje! Poprawna odpowiedz. " << wpisane3 << std::endl; else std::cout << "Niestety... zla odpowiedz. Poprawna to z Cimmerii(D)" << std::endl; break; } getch(); return 0; }
|
|
pekfos |
» 2013-12-22 21:58:14 Po co masz getch() przed wczytywaniem odpowiedzi? |
|
dawid Temat założony przez niniejszego użytkownika |
» 2013-12-22 22:00:04 Mam tak, bo bez tego nie mogę wpisać odpowiedzi. Po rozpoczęciu gry od razy pojawia się, że odpowiedź jest błędna. |
|
pekfos |
» 2013-12-22 22:02:46 Czyść strumień po wczytywaniu, lub użyj getch() do wczytywania. |
|
dawid Temat założony przez niniejszego użytkownika |
» 2013-12-22 22:05:31 No to przecież używam getch(). Nie rozumiem co masz na myśli. |
|
pekfos |
» 2013-12-22 22:07:23 To zamiast std::cin, lub czyść strumień. |
|
dawid Temat założony przez niniejszego użytkownika |
» 2013-12-23 15:56:06 Działa wszystko. Dzięki Wam. |
|
1 « 2 » |