OnemoreS Temat założony przez niniejszego użytkownika |
Do while - program szaleje ,gdy wcisne literkę » 2014-01-14 10:50:24 #include<iostream> #include<conio.h> using namespace std; int main() { int a; do { cout << "Podaj stolice Grecji" << endl; cout << "1)Londyn 2)Paryz 3)Ateny 4)Moskwa" << endl; cin >> a; if( a == 3 ) cout << "brawo , prawidlowa odpowiedz" << endl; if( a == 1 || a == 2 || a == 4 ) cout << "niestety zla odpowiedz , prawidlowa odpowiedz to 3)Ateny" << endl; } while( a != 1 && a != 2 && a != 3 && a != 4 ); getch(); return 0; }
Podczas odpalania programu mamy wybór 1,2,3,4 , gdy podamy inną cyferkę program powtórzy , zaś gdy podamy literkę program się sypie , można temu jakoś zaradzić ? |
|
alixir |
» 2014-01-14 11:09:30 do { cin.clear(); cin.sync(); cout << "Podaj stolice Grecji" << endl; cout << "1)Londyn 2)Paryz 3)Ateny 4)Moskwa" << endl; cin >> a; } while( !( a == 1 || a == 2 || a == 3 || a == 4 ) || !cin.good() );
if( a == 3 ) cout << "brawo , prawidlowa odpowiedz" << endl;
if( a == 1 || a == 2 || a == 4 ) cout << "niestety zla odpowiedz , prawidlowa odpowiedz to 3)Ateny" << endl;
|
|
OnemoreS Temat założony przez niniejszego użytkownika |
» 2014-01-14 11:20:12 dziękuje ślicznie ----------------------- Mam jeszcze 2 problemy: 1)Gdyż zawodnik ma 3 szanse , ale program nie uwzględnia straty szansy przy poprzednim pytaniu. 2)Chciałbym aby te pytania były losowanie , zapewne trzeba tu użyć tablicy i losowania rand(); ale niestety wszystkie przykłady w kursie są pokazane na cyferkach i nie wiem jak się za to zabrać.Może jesteście w stanie podpowiedzieć ? #include<iostream> #include<conio.h> using namespace std; int main() { int a, b, c; int szansa = 3; int s = szansa - 1; cout << "Witamy w turnieju !" << endl; cout << "- Program wylosuje 5 pytan" << endl; cout << "- Gracz posiada 3 szanse" << endl; cout << "- Po kazdej zlej odpowiedzi , szansa zostanie utracona" << endl; cout << "- Gdy wszystkie szanse zostana utracone - przegrywasz" << endl; cout << "- Gdy odpowiesz na pytania nie tracac wszystkich szans- wygrywasz" << endl; do { cin.clear(); cin.sync(); cout << "Podaj stolice Grecji" << endl; cout << "1)Londyn 2)Paryz 3)Ateny 4)Moskwa" << endl; cin >> a; } while( !( a == 1 || a == 2 || a == 3 || a == 4 ) || !cin.good() ); if( a == 3 ) cout << "brawo , prawidlowa odpowiedz" << endl; if( a == 1 || a == 2 || a == 4 ) cout << "niestety zla odpowiedz , prawidlowa odpowiedz to 3)Ateny" << endl; cout << "Twoja liczba szans wynosi: " << s << endl; cout << "------------------------------------------------------------" << endl; if( szansa == 0 ) cout << "niestety wykorzystales wszystkie szanse - porazka!" << endl; do { cin.clear(); cin.sync(); cout << "W ktorym roku wybuchla II wojna swiatowa" << endl; cout << "1)1939 2)1940 3)1941 4)1942" << endl; cin >> b; } while( !( b == 1 || b == 2 || b == 3 || b == 4 ) || !cin.good() ); if( b == 1 ) cout << "brawo , prawidlowa odpowiedz" << endl; if( b == 2 || b == 3 || b == 4 ) cout << "niestety zla odpowiedz , prawidlowa odpowiedz to 1)1939" << endl; cout << "Twoja liczba szans wynosi: " << s << endl; cout << "------------------------------------------------------------" << endl; if( szansa == 0 ) cout << "niestety wykorzystales wszystkie szanse - porazka!" << endl; do { cin.clear(); cin.sync(); cout << "Ktora reprezentacja pilki noznej wygrala mundial w 2006 roku" << endl; cout << "1)Hiszpania 2)Brazylia 3)Portugalia 4)Wlochy" << endl; cin >> c; } while( !( c == 1 || c == 2 || c == 3 || c == 4 ) || !cin.good() ); if( c == 4 ) cout << "brawo , prawidlowa odpowiedz" << endl; if( c == 1 || c == 2 || c == 3 ) cout << "niestety zla odpowiedz , prawidlowa odpowiedz to 4)Wlochy" << endl; cout << "Twoja liczba szans wynosi: " << s << endl; cout << "------------------------------------------------------------" << endl; if( szansa == 0 ) cout << "niestety wykorzystales wszystkie szanse - porazka!" << endl; getch(); return 0; }
|
|
alixir |
» 2014-01-14 13:31:09 Usuń tą linię: int s = szansa - 1; Dopisz do każdej z instrukcji (w przypadku błędnej odpowiedzi) if( a == 1 || a == 2 || a == 4 ) { cout << "niestety zla odpowiedz , prawidlowa odpowiedz to 3)Ateny" << endl; szansa--; } Zmień zmienną wyświetlającą pozostałe szansy cout << "Twoja liczba szans wynosi: " << s << endl; |
|
OnemoreS Temat założony przez niniejszego użytkownika |
» 2014-01-14 15:50:42 świetnie , jeszcze tylko muszę randomka odkryć i rozbudować program . |
|
leon_w |
» 2014-01-14 15:55:58 Pytania umieszczasz w tablicy, i losujesz tylko cyfrę, którą wstawiasz do indeksu tablicy. |
|
OnemoreS Temat założony przez niniejszego użytkownika |
» 2014-01-14 16:04:52 do { char pytania[ 3 ] cin.clear(); cin.sync(); cout << "Podaj stolice Grecji" << pytania[ 1 ] << endl; cout << "1)Londyn 2)Paryz 3)Ateny 4)Moskwa" << endl; cin >> a; } while( !( a == 1 || a == 2 || a == 3 || a == 4 ) || !cin.good() );
if( a == 3 ) cout << "brawo , prawidlowa odpowiedz" << endl;
if( a == 1 || a == 2 || a == 4 ) cout << "niestety zla odpowiedz , prawidlowa odpowiedz to 3)Ateny" << endl;
cout << "Twoja liczba szans wynosi: " << s << endl; cout << "------------------------------------------------------------" << endl; if( szansa == 0 ) cout << "niestety wykorzystales wszystkie szanse - porazka!" << endl;
Nie jestem w stanie z kursu nauczyć się tego , gdyż wszystko tam jest przedstawione na liczbach :( chcę ten kawałek kodu aby był 1 zmienną i random losował z tych zmiennych , ale nie potrafię . |
|
leon_w |
» 2014-01-14 16:15:17 W jednej tablicy char, przechowujesz tylko jeden znak. Najlepiej było by to zrobić na tablicy stringów. #include <string>
string pytania[ 10 ] = { "pytanie 1 \n odpowiedzi", "pytanie 2 \n odpowiedzi" itd...}
Losujesz cyfrę (od 0 do max ile elementów w tablicy) i wstawiasz ją jako nr. tablicy. |
|
« 1 » 2 |