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

Czy da się ten kod jakoś uprościć?

Ostatnio zmodyfikowano 2016-08-16 14:02
Autor Wiadomość
profesorek
Temat założony przez niniejszego użytkownika
Czy da się ten kod jakoś uprościć?
» 2016-08-14 00:38:42
Witam, zacząłem właśnie uczyć się pisania w C++, osobiście jestem zadowolony z siebie. Po około godzinie nauki postanowiłem spróbować coś napisać samemu, od zera. Zrobiłem quiz o sobie. Wygląda jak wygląda i tutaj kieruję moje pytanie, czy da się jakoś uprościć ten kod?
#include <iostream>
#include <cstdlib>

C/C++
using namespace std;

string login, haslo, A, B, C, D, E, F;

int main()
{
    cout << "Witam Cie w quizie o mnie! Powodzenia :)" << endl;
    cout << "By rozpaczac quiz musisz sie zalogowac! Podpowiedz: miesiac w ktorym sie urodzilem (slownie) oraz moj rok urodzenia (liczbowo)!" << endl;
    cout << "Podaj login:";
    cin >> login;
    cout << "Podaj haslo:";
    cin >> haslo;
   
    if(( login == "czerwiec" ) &&( haslo == "1998" ) )
    {
        cout << "Poprawnie zalogowano! Zacznijmy quiz!" << endl;
        cout << "Ktorym nurtem psychologicznym sie interesuje?" << endl;
        cout << "A. Psychologia spoleczna" << endl;
        cout << "B. Psychologia kulturowa" << endl;
        cout << "C. Neuropsychologia" << endl;
        cout << "D. Psychologia ewolucyjna" << endl;
        cin >> A;
        if(( A == "A" ) ||( A == "a" ) )
        {
            cout << "Poprawna odpowiedz." << endl;
            cout << "Ile chcialbym miec dzieci?" << endl;
            cout << "A. Jedno" << endl;
            cout << "B. Wiecej niz dwojke" << endl;
            cout << "C. Dwojke" << endl;
            cout << "D. Nie chce miec dzieci" << endl;
            cin >> B;
            if(( B == "c" ) ||( B == "C" ) )
            {
                cout << "Poprawna odpowiedz." << endl;
                cout << "Jaki jest moj ulubiony kolor?" << endl;
                cout << "A. Zolty" << endl;
                cout << "B. Czarny" << endl;
                cout << "C. Pomaranczowy" << endl;
                cout << "D. Nie mam ulubionego koloru" << endl;
                cin >> C;
                if(( C == "c" ) ||( B == "C" ) )
                {
                    cout << "Poprawna odpowiedz." << endl;
                    cout << "Jakim stylem tancze?" << endl;
                    cout << "A. HipHop" << endl;
                    cout << "B. Popping" << endl;
                    cout << "C. Jazz" << endl;
                    cout << "D. Locking" << endl;
                    cin >> D;
                    if(( D == "b" ) ||( D == "B" ) )
                    {
                        cout << "Poprawna odpowiedz." << endl;
                        cout << "Gdzie chce zrobic sobie pierwszy tatuaz?" << endl;
                        cout << "A. Na piersi i ramieniu" << endl;
                        cout << "B. Na plecach" << endl;
                        cout << "C. Na bicepsie" << endl;
                        cout << "D. Na nodze" << endl;
                        cin >> E;
                        if(( E == "a" ) ||( E == "A" ) )
                        {
                            cout << "Poprawna odpowiedz." << endl;
                            cout << "Jaka mam aktualnie ksywke?" << endl;
                            cout << "A. Maupa" << endl;
                            cout << "B. Procesorek" << endl;
                            cout << "C. Tancerzyk" << endl;
                            cout << "D. Profesorek" << endl;
                            cin >> F;
                            if(( F == "D" ) ||( F == "d" ) )
                            {
                                cout << "Poprawna odpowiedz." << endl;
                                cout << "Wszystkie odpowiedzi zostaly udzielone prawidlowo! YOU WIN!" << endl << endl << endl;
                            }
                            else
                                 cout << "Bledna odpowiedz! You Lose!" << endl;
                           
                        }
                        else
                             cout << "Bledna odpowiedz! You Lose!" << endl;
                       
                    }
                    else
                         cout << "Bledna odpowiedz! You Lose!" << endl;
                   
                }
                else
                     cout << "Bledna odpowiedz! You Lose!" << endl;
               
            }
            else
                 cout << "Bledna odpowiedz! You Lose!" << endl;
           
        }
        else
             cout << "Bledna odpowiedz! You Lose!" << endl;
       
       
       
    }
    else
    {
        cout << "Niestety nie udalo sie zalogowac. You Lose!" << endl;
    }
   
    system( "PAUSE" );
    return 0;
}
P-150826
michal11
» 2016-08-14 11:40:45
Wrzuć kod w znaczniki. Z tego co widzę to masz chyba z 6 ifów zagnieżdżone to jest na pewno nie ładnie rozwiązanie, to samo jest ze zmiennymi globalnymi.
P-150831
pekfos
» 2016-08-14 13:49:40
Tablice i pętle.
P-150833
profesorek
Temat założony przez niniejszego użytkownika
» 2016-08-15 13:27:11
A czy ktoś jest w stanie mi uprościć ten kod i go pokazać?
P-150880
pekfos
» 2016-08-15 13:33:19
Dlaczego nie zrobisz tego osobiście? Dostałeś wskazówkę.
P-150881
profesorek
Temat założony przez niniejszego użytkownika
» 2016-08-15 13:38:15
Dopiero się uczę, tablic jeszcze nie umiem. Wchodzi mi do głowy analizując kody dlatego poprosiłem, no ale jeśli pomocy nikt nie udzieli to trudno.
P-150882
pekfos
» 2016-08-15 14:08:17
Wchodzi mi do głowy analizując kody
Doprawdy? No dobra, ale proszę bez pytań. Wymagane będzie C++11 dla kilku trików.
C/C++
#include <iostream>
#include <string>
#include <utility>
#include <cctype>

using namespace std;

int main()
{
    std::pair < std::string, char > pytania[] =
    {
        {
            "Ktorym nurtem psychologicznym sie interesuje?\n"
            "A. Psychologia spoleczna\n"
            "B. Psychologia kulturowa\n"
            "C. Neuropsychologia\n"
            "D. Psychologia ewolucyjna",
            'A'
        },
        {
            "Ile chcialbym miec dzieci?\n"
            "A. Jedno\n"
            "B. Wiecej niz dwojke\n"
            "C. Dwojke\n"
            "D. Nie chce miec dzieci",
            'C'
        },
        {
            "Jakim stylem tancze?\n"
            "A. HipHop\n"
            "B. Popping\n"
            "C. Jazz\n"
            "D. Locking",
            'B'
        }
        // itd
    };
   
    std::string login, haslo;
    char odp;
   
    cout << "Witam Cie w quizie o mnie! Powodzenia :)" << endl;
    cout << "By rozpaczac quiz musisz sie zalogowac! Podpowiedz: miesiac w ktorym sie urodzilem (slownie) oraz moj rok urodzenia (liczbowo)!" << endl;
    cout << "Podaj login:";
    cin >> login;
    cout << "Podaj haslo:";
    cin >> haslo;
   
    if(( login == "czerwiec" ) &&( haslo == "1998" ) )
    {
        cout << "Poprawnie zalogowano! Zacznijmy quiz!" << endl;
       
        for( auto & pytanie: pytania )
        {
            std::cout << pytanie.first << std::endl;
            std::cin >> odp;
            std::cin.sync();
           
            if( std::toupper( odp ) == pytanie.second )
                 std::cout << "Poprawna odpowiedz." << std::endl;
            else
            {
                cout << "Bledna odpowiedz! You Lose!" << endl;
                break;
            }
        }
    }
    else
         cout << "Niestety nie udalo sie zalogowac. You Lose!" << endl;
   
}
Niemniej powinieneś zrozumieć ideę mojej poprzedniej wskazówki.
P-150884
profesorek
Temat założony przez niniejszego użytkownika
» 2016-08-16 14:02:47
zdecydowanie mi ten kod pomógł, wielkie dzięki za pomoc :)
P-150937
« 1 »
  Strona 1 z 1