Czy da się ten kod jakoś uprościć?
Ostatnio zmodyfikowano 2016-08-16 14:02
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> 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; }
|
|
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. |
|
pekfos |
» 2016-08-14 13:49:40 Tablice i pętle. |
|
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ć? |
|
pekfos |
» 2016-08-15 13:33:19 Dlaczego nie zrobisz tego osobiście? Dostałeś wskazówkę. |
|
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. |
|
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. #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' } }; 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. |
|
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 :) |
|
« 1 » |