[C++] Połączenie losowania z 2 tablic.
Ostatnio zmodyfikowano 2014-12-11 22:42
cecececezar Temat założony przez niniejszego użytkownika |
[C++] Połączenie losowania z 2 tablic. » 2014-12-11 21:45:28 Witam, robię quiz w którym nie mogą powtarzać się pytania. Udało mi się zrobić losowanie bez powtórzeń, wypisanie pytań i odpowiedzi, jednak pytania i odpowiedzi nie pasują do siebie, tj. wyświetla się pytanie 2 a odpowiedzi do pytania 5... #include <iostream> #include <ctime> #include <cstdlib> #include <string> #include <stdio.h> #include <conio.h>
using namespace std; int menu; char wybor; int main() { int ile_pytan = 10; int ile_wylosowac = 10; int ile_juz_wylosowano = 0; int * wylosowane = new int[ ile_wylosowac + 1 ]; bool losowanie_ok; int pkt; string kontynuowanie; pkt = 0; char menu; string imie; cout << "Podaj imie uczestnika testu: "; cin >> imie; cout << "WCISNIJ DOWOLNY KLAWISZ BY PRZEJSC DO QUIZU" << endl; getch(); for( int i = 1; i <= ile_wylosowac; i++ ) { do { int liczba = rand() % ile_pytan; losowanie_ok = true; for( int j = 1; j <= ile_juz_wylosowano; j++ ) { if( liczba == wylosowane[ j ] ) losowanie_ok = false; } if( losowanie_ok == true ) { ile_juz_wylosowano++; wylosowane[ ile_juz_wylosowano ] = liczba; } } while( losowanie_ok != true ); } string pytania[ 10 ] = { { "1pyt" }, { "2pyt" }, { "3pyt" }, { "4pyt" }, { "5pyt" }, { "6pyt" }, { "7pyt" }, { "8pyt" }, { "9pyt" }, { "10pyt" } }; string odp[ 10 ][ 3 ] = { { "A1", "B1", "C1" }, { "A2", "B2", "C2" }, { "A3", "B3", "C3" }, { "A4", "B4", "C4" }, { "A5", "B5", "C5" }, { "A6", "B6", "C6" }, { "A7", "B7", "C7" }, { "A8", "B8", "C8" }, { "A9", "B9", "C9" }, { "A10", "B10", "C10" } }; string odpGracza[ 10 ]; do { system( "CLS" ); for( int i = 0; i < 10; i++ ) { swap( wylosowane[ i ], wylosowane[ i + 1 ] ); int a = wylosowane[ i ]; cout << a << endl; switch( a ) { case 1: cout << pytania[ wylosowane[ i ] ] << endl; cout << odp[ i ][ 0 ] << " "; cout << odp[ i ][ 1 ] << " "; cout << odp[ i ][ 2 ] << " " << endl; cout << "PROSZE POTWIERDZIC ODPOWIEDZ ENTEREM :"; cin >> odpGracza[ i ]; break; case 2: cout << pytania[ wylosowane[ i ] ] << endl; cout << odp[ i ][ 0 ] << " "; cout << odp[ i ][ 1 ] << " "; cout << odp[ i ][ 2 ] << " " << endl; cout << "PROSZE POTWIERDZIC ODPOWIEDZ ENTEREM :"; cin >> odpGracza[ i ]; break; case 3: cout << pytania[ wylosowane[ i ] ] << endl; cout << odp[ i ][ 0 ] << " "; cout << odp[ i ][ 1 ] << " "; cout << odp[ i ][ 2 ] << " " << endl; cout << "PROSZE POTWIERDZIC ODPOWIEDZ ENTEREM :"; cin >> odpGracza[ i ]; break; case 4: cout << pytania[ wylosowane[ i ] ] << endl; cout << odp[ i ][ 0 ] << " "; cout << odp[ i ][ 1 ] << " "; cout << odp[ i ][ 2 ] << " " << endl; cout << "PROSZE POTWIERDZIC ODPOWIEDZ ENTEREM :"; cin >> odpGracza[ i ]; break; case 5: cout << pytania[ wylosowane[ i ] ] << endl; cout << odp[ i ][ 0 ] << " "; cout << odp[ i ][ 1 ] << " "; cout << odp[ i ][ 2 ] << " " << endl; cout << "PROSZE POTWIERDZIC ODPOWIEDZ ENTEREM :"; cin >> odpGracza[ i ]; break; case 6: cout << pytania[ wylosowane[ i ] ] << endl; cout << odp[ i ][ 0 ] << " "; cout << odp[ i ][ 1 ] << " "; cout << odp[ i ][ 2 ] << " " << endl; cout << "PROSZE POTWIERDZIC ODPOWIEDZ ENTEREM :"; cin >> odpGracza[ i ]; break; case 7: cout << pytania[ wylosowane[ i ] ] << endl; cout << odp[ i ][ 0 ] << " "; cout << odp[ i ][ 1 ] << " "; cout << odp[ i ][ 2 ] << " " << endl; cout << "PROSZE POTWIERDZIC ODPOWIEDZ ENTEREM :"; cin >> odpGracza[ i ]; break; case 8: cout << pytania[ wylosowane[ i ] ] << endl; cout << odp[ i ][ 0 ] << " "; cout << odp[ i ][ 1 ] << " "; cout << odp[ i ][ 2 ] << " " << endl; cout << "PROSZE POTWIERDZIC ODPOWIEDZ ENTEREM :"; cin >> odpGracza[ i ]; break; case 9: cout << pytania[ wylosowane[ i ] ] << endl; cout << odp[ i ][ 0 ] << " "; cout << odp[ i ][ 1 ] << " "; cout << odp[ i ][ 2 ] << " " << endl; cout << "PROSZE POTWIERDZIC ODPOWIEDZ ENTEREM :"; cin >> odpGracza[ i ]; break; case 0: cout << pytania[ wylosowane[ i ] ] << endl; cout << odp[ i ][ 0 ] << " "; cout << odp[ i ][ 1 ] << " "; cout << odp[ i ][ 2 ] << " " << endl; cout << "PROSZE POTWIERDZIC ODPOWIEDZ ENTEREM :"; cin >> odpGracza[ i ]; break; default: break; } } cout << "CZY CHCESZ POWTORZYC TEST? [T\\N]: " << endl; cout << "PROSZE POTWIERDZIC ENTEREM" << endl; cin >> kontynuowanie; } while( kontynuowanie == "T" || kontynuowanie == "t" ); return 0; }
Z góry dziękuję :) |
|
michal11 |
» 2014-12-11 22:42:36 |
|
« 1 » |