Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // main.cpp
- // 7.2. Quiz w konsoli
- //
- // Created by ANNIE on 21/05/2019.
- // Copyright © 2019 ANNIE. All rights reserved.
- //
- #include <iostream>
- #include <fstream>
- #include <cstdlib>
- #include <algorithm>
- #include <string>
- using namespace std;
- //zmienne
- string temat, nick;
- //tablice pytan
- string tresc[5];
- //tablice odpowiedzi
- string odpA[5], odpB[5], odpC[5], odpD[5];
- //poprawne odpowiedzi
- string poprawna[5];
- //zmienna ktora przechowa to co user podal jako odpowiedz z klawiatury
- string odpowiedz;
- int punkty=0;
- int main()
- {
- int nr_linii=1;
- string linia;
- // zmienna dla nr pytania
- int nr_pytania=0;
- //zmienna plikowa
- fstream plik;
- //otwarcie pliku
- plik.open("quiz.txt",ios::in);
- //test na istnienie pliku .txt
- if (plik.good()==false)
- {
- cout<<"Nie udalo sie otworzyc pliku!";
- exit(0);
- }
- while(getline(plik,linia))
- {
- switch(nr_linii)
- {
- // z jakiej dziedziny sa pytania
- case 1: temat=linia; break;
- // przechowuje nick autora quizu
- case 2: nick=linia; break;
- // czytajmy tresc pytania i zapiszmy w tablicy [0] zerowej szufladce
- case 3: tresc[nr_pytania] = linia; break;
- //cztery mozliwe odpowiedzi dla indeksu 0
- case 4: odpA[nr_pytania] = linia; break;
- case 5: odpB[nr_pytania] = linia; break;
- case 6: odpC[nr_pytania] = linia; break;
- case 7: odpD[nr_pytania] = linia; break;
- case 8: poprawna[nr_pytania] = linia; break;
- }
- //jezeli odpowiedz jest poprawna to nr lini jest = 8 i nr linii = 2 oraz inkrementujemy nr pytania a na koniec tej petli nr lini bedzie rowny 3
- if (nr_linii==8) {nr_linii=2; nr_pytania++;}
- nr_linii++;
- }
- plik.close();
- //majac wczytane pytania pozostaje zrobic petle, ktora 5 razy zada pytanie, poczeka na dpowiedz, sprawdzi jej poprawnosc i przyzna punkt graczowi lub nie.
- for (int i=0; i<=4; i++)
- {
- //najpierw wypisz pytanie i mozliwe odpowiedzi
- cout<<endl<<tresc[i]<<endl;
- cout<<"A. "<<odpA[i]<<endl;
- cout<<"B. "<<odpB[i]<<endl;
- cout<<"C. "<<odpC[i]<<endl;
- cout<<"D. "<<odpD[i]<<endl;
- //zapytaj o odpowiedz
- cout<<"Twoja odpowiedz: ";
- //pobierz odpowiedz z klawiatury
- cin>>odpowiedz;
- //uzyjemy funkcji ktora zamieni w przypadku wcisnietego CAPS literki na male
- // podajemy poczatek odpowiedzi, koniec i poczatek oraz::tolower
- transform(odpowiedz.begin(), odpowiedz.end(), odpowiedz.begin(), ::tolower);
- if (odpowiedz==poprawna[i])
- {
- cout<<"Dobrze! Zdobywasz punkt!"<<punkty++<<endl;;
- }
- else cout<<"Zle! Brak punktu! Poprawna odpowiedz to: "<<poprawna[i]<<endl;
- }
- cout<<"Koniec quizu. Zdobyte punkty: "<<punkty;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement