Do while - program szaleje ,gdy wcisne literkę
Ostatnio zmodyfikowano 2014-01-22 16:26
OnemoreS Temat założony przez niniejszego użytkownika |
» 2014-01-14 16:27:03 Jeżeli tak zrobię to przy wylosowaniu pytaniu reszta też będzie się losować ? Czyli odpowiedz czy pyt jest prawidłowe itp. |
|
leon_w |
» 2014-01-14 16:32:12 To dodatkowo stwórz tablicę int o tylu elementach, ile pytań. Do każdego elementu tej tablicy, zapisuj nr. prawidłowej odpowiedzi. Po wylosowaniu nr. pytania, wstaw również ten nr. do indeksu int i z nim porównuj odpowiedzi. |
|
OnemoreS Temat założony przez niniejszego użytkownika |
» 2014-01-15 19:04:20 #include<iostream> #include<conio.h> #include <string> using namespace std; int main() { int a, b, c; int szansa = 3; char pytania[ 3 ] 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(); string pytania[ 10 ] = { "Podaj stolice Grecji \n 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; szansa--; cout << "Twoja liczba szans wynosi: " << szansa << endl; cout << "------------------------------------------------------------" << endl; if( szansa == 0 ) cout << "niestety wykorzystales wszystkie szans - 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; szansa--; cout << "Twoja liczba szans wynosi: " << szansa << 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; szansa--; cout << "Twoja liczba szans wynosi: " << szansa << endl; cout << "------------------------------------------------------------" << endl; if( szansa == 0 ) cout << "niestety wykorzystales wszystkie szanse - porazka!" << endl; getch(); return 0; }
już na samym wstępie wywala błąd , nie jestem w stanie pojąć jak ma wyglądać ta struktura , gdybyście podali mi jakiś przykład chociaż |
|
leon_w |
» 2014-01-15 22:02:35 To raczej miało wyglądać tak: #include<iostream> #include<conio.h> #include <string> #include <ctime> #include <stdlib.h> using namespace std; int main() { int a; int szansa = 3; int nr_pytania; string pytania[ 3 ] = { "Podaj stolice Grecji \n 1)Londyn 2)Paryz 3)Ateny 4)Moskwa", "W ktorym roku wybuchla II wojna swiatowa? \n 1)1939 2)1940 3)1941 4)1942", "Ktora reprezentacja pilki noznej wygrala mundial w 2006 roku? \n 1)Hiszpania 2)Brazylia 3)Portugalia 4)Wlochy" }; int odpowiedz[ 3 ] = { 3, 1, 4 }; srand( time( NULL ) ); 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\n\n\n" << endl; do { nr_pytania = rand() % 3; do { cin.clear(); cin.sync(); cout << pytania[ nr_pytania ] << endl; cin >> a; } while( !( a == 1 || a == 2 || a == 3 || a == 4 ) || !cin.good() ); if( a ==( odpowiedz[ nr_pytania ] ) ) cout << "brawo , prawidlowa odpowiedz" << endl; else { cout << "niestety zla odpowiedz" << endl; szansa--; } cout << "Twoja liczba szans wynosi: " << szansa << endl; cout << "------------------------------------------------------------" << endl; } while( szansa > 0 ); if( szansa == 0 ) cout << "niestety wykorzystales wszystkie szans - porazka!" << endl; getch(); return 0; }
Porównaj ze swoim kodem i pomyśl co robiłeś źle. |
|
OnemoreS Temat założony przez niniejszego użytkownika |
» 2014-01-22 16:26:57 Rozumiem to wszystko teraz , dziękuje ! Poprostu nie wiedziałem jak zapisać tą strukturę całą , główny problem był z tym : int odpowiedz[ 3 ] = { 3, 1, 4 }; Miałem problem aby odpowiedz przypusać do tablicy , bardzo dziękuje ! |
|
1 « 2 » |