Advertisement
Ania2019

main.cpp

May 21st, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.93 KB | None | 0 0
  1. //
  2. // main.cpp
  3. // 7.2. Quiz w konsoli
  4. //
  5. // Created by ANNIE on 21/05/2019.
  6. // Copyright © 2019 ANNIE. All rights reserved.
  7. //
  8.  
  9. #include <iostream>
  10. #include <fstream>
  11. #include <cstdlib>
  12. #include <algorithm>
  13. #include <string>
  14. using namespace std;
  15. //zmienne
  16. string temat, nick;
  17. //tablice pytan
  18. string tresc[5];
  19. //tablice odpowiedzi
  20. string odpA[5], odpB[5], odpC[5], odpD[5];
  21. //poprawne odpowiedzi
  22. string poprawna[5];
  23. //zmienna ktora przechowa to co user podal jako odpowiedz z klawiatury
  24. string odpowiedz;
  25. int punkty=0;
  26.  
  27. int main()
  28. {
  29. int nr_linii=1;
  30. string linia;
  31. // zmienna dla nr pytania
  32. int nr_pytania=0;
  33.  
  34. //zmienna plikowa
  35. fstream plik;
  36. //otwarcie pliku
  37. plik.open("quiz.txt",ios::in);
  38. //test na istnienie pliku .txt
  39. if (plik.good()==false)
  40. {
  41. cout<<"Nie udalo sie otworzyc pliku!";
  42. exit(0);
  43. }
  44.  
  45. while(getline(plik,linia))
  46. {
  47. switch(nr_linii)
  48. {
  49. // z jakiej dziedziny sa pytania
  50. case 1: temat=linia; break;
  51. // przechowuje nick autora quizu
  52. case 2: nick=linia; break;
  53. // czytajmy tresc pytania i zapiszmy w tablicy [0] zerowej szufladce
  54. case 3: tresc[nr_pytania] = linia; break;
  55. //cztery mozliwe odpowiedzi dla indeksu 0
  56. case 4: odpA[nr_pytania] = linia; break;
  57. case 5: odpB[nr_pytania] = linia; break;
  58. case 6: odpC[nr_pytania] = linia; break;
  59. case 7: odpD[nr_pytania] = linia; break;
  60. case 8: poprawna[nr_pytania] = linia; break;
  61. }
  62. //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
  63. if (nr_linii==8) {nr_linii=2; nr_pytania++;}
  64. nr_linii++;
  65. }
  66.  
  67. plik.close();
  68. //majac wczytane pytania pozostaje zrobic petle, ktora 5 razy zada pytanie, poczeka na dpowiedz, sprawdzi jej poprawnosc i przyzna punkt graczowi lub nie.
  69. for (int i=0; i<=4; i++)
  70. {
  71. //najpierw wypisz pytanie i mozliwe odpowiedzi
  72. cout<<endl<<tresc[i]<<endl;
  73. cout<<"A. "<<odpA[i]<<endl;
  74. cout<<"B. "<<odpB[i]<<endl;
  75. cout<<"C. "<<odpC[i]<<endl;
  76. cout<<"D. "<<odpD[i]<<endl;
  77.  
  78. //zapytaj o odpowiedz
  79. cout<<"Twoja odpowiedz: ";
  80. //pobierz odpowiedz z klawiatury
  81. cin>>odpowiedz;
  82. //uzyjemy funkcji ktora zamieni w przypadku wcisnietego CAPS literki na male
  83. // podajemy poczatek odpowiedzi, koniec i poczatek oraz::tolower
  84. transform(odpowiedz.begin(), odpowiedz.end(), odpowiedz.begin(), ::tolower);
  85.  
  86. if (odpowiedz==poprawna[i])
  87. {
  88. cout<<"Dobrze! Zdobywasz punkt!"<<punkty++<<endl;;
  89. }
  90. else cout<<"Zle! Brak punktu! Poprawna odpowiedz to: "<<poprawna[i]<<endl;
  91.  
  92. }
  93.  
  94. cout<<"Koniec quizu. Zdobyte punkty: "<<punkty;
  95.  
  96. return 0;
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement