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

[C++] Losowanie w switch()

Ostatnio zmodyfikowano 2013-12-23 15:56
Autor Wiadomość
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:

C/C++
#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:
        //char wpisane = 'b' || 'B';
        std::cout << "Rzeka nad, ktora znajduje sie najwiecej zamkow we Francji to: \n";
        std::cout << "A: Aussonnelle \n";
        std::cout << "B: Loara \n"; //poprawne
        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' || 'B')
        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"; //poprawne
        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"; //poprawne
        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;
}
P-99883
pekfos
» 2013-12-22 21:58:14
Po co masz getch() przed wczytywaniem odpowiedzi?
P-99884
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.
P-99885
pekfos
» 2013-12-22 22:02:46
Czyść strumień po wczytywaniu, lub użyj getch() do wczytywania.
P-99886
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.
P-99887
pekfos
» 2013-12-22 22:07:23
C/C++
wpisane1 = getch()
To zamiast std::cin, lub czyść strumień.
P-99888
dawid
Temat założony przez niniejszego użytkownika
» 2013-12-23 15:56:06
Działa wszystko. Dzięki Wam.
P-99949
1 « 2 »
Poprzednia strona Strona 2 z 2