• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Losowanie pytań - QUIZ w C++

Object Storage Arubacloud
0 głosów
606 wizyt
pytanie zadane 8 lutego 2021 w C i C++ przez kapi_&_spółka Nowicjusz (120 p.)
Witam,

Napisałem ostatnio program, w którym do wyboru mamy 3 quizy. Każdy quiz składa się z 5 pytań. Przychodzę, więc z pytaniem co mógłbym dopisać, żeby te pytania układały się w kolejności losowej, czyli po prostu losowały się. Zaznaczę, że pytania i odpowiedzi wczytywane są w pliku tekstowego (.txt) z zewnątrz.

Z góry dziękuję za pomoc.

1 odpowiedź

0 głosów
odpowiedź 8 lutego 2021 przez wojtek_suchy Mądrala (6,880 p.)
Robisz vector w którym trzymasz numery pytan, następnie używasz rand() % vector.size(), wybierasz i usuwasz number będący na losowej pozycji i masz wylosowanie wszystkich pytań w losowej kolejności bez powtórzeń
komentarz 8 lutego 2021 przez kapi_&_spółka Nowicjusz (120 p.)
Czy mógłby Pan pomóc w dodaniu tego do programu?
komentarz 8 lutego 2021 przez wojtek_suchy Mądrala (6,880 p.)
Wyślij tutaj program
komentarz 8 lutego 2021 przez wojtek_suchy Mądrala (6,880 p.)
Ty piszesz w C++ czy w C?
komentarz 8 lutego 2021 przez kapi_&_spółka Nowicjusz (120 p.)
W C++, dokładnie w CodeBlocks
komentarz 8 lutego 2021 przez wojtek_suchy Mądrala (6,880 p.)

Bez poprawienia tego programu to będzie ciężko coś z tym zrobić

1. Switch-y używaj jak masz dużo wyborów (przynajmniej 4), dla mniejszej ilości użycie if, else if, else będzie czytelniejsze
2. zamiast getchar() możesz używać cin >>

3. zmienne możesz zapisywać po przecinku np

int a, b, c, d = 0, e = 12;

4. Używaj zmiennych globalnych tylko jeśli masz do tego sensowny powód

5. Po co dajesz stringom określoną dłuość ? wystarczy że je wczytasz one same dopasują sowją wielkość

6. Stwórz bazę danych która będzie przetrzymywała ten Quiz i odpowiedzi, zrób jedną funkcję do której będziesz przekazywał jaki to ma być quiz a ona wczyta ten konkretny quiz, masz 3 bloki kodu prawie identyczne

7. Wtedy możesz zrobić to losowanie o którym napisałem

int main(){
    pokaz_menu();
    wczytaj_dane_od_usera();
    pobierz_dane_i_utwórz_baze_danych(rodzaj_quizu, inne_rzeczy_ktore_chcesz_wiedziec);
    przeprowadz_quiz();
    return 0;
}

Mniej więcej tak możesz sobie podzielić ten program, poczytaj o std::vector, liczbach losowych w C++

komentarz 8 lutego 2021 przez kapi_&_spółka Nowicjusz (120 p.)
Super, bardzo, bardzo Ci dziękuję

Podobne pytania

0 głosów
0 odpowiedzi 239 wizyt
+3 głosów
1 odpowiedź 2,277 wizyt
pytanie zadane 31 grudnia 2015 w JavaScript przez Nolandosky Bywalec (2,110 p.)
0 głosów
1 odpowiedź 491 wizyt
pytanie zadane 26 kwietnia 2015 w C i C++ przez TheFunny Gaduła (3,420 p.)

92,555 zapytań

141,403 odpowiedzi

319,553 komentarzy

61,939 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...