From e9b3580b599a9a837dec94c87781e85ab500d02d Mon Sep 17 00:00:00 2001 From: vaegq Date: Fri, 23 May 2025 09:33:56 +0000 Subject: [PATCH] Update main.cpp --- main.cpp | 146 ++++++++++++++++--------------------------------------- 1 file changed, 41 insertions(+), 105 deletions(-) diff --git a/main.cpp b/main.cpp index 182f9f9..f50c01b 100644 --- a/main.cpp +++ b/main.cpp @@ -1,134 +1,70 @@ #include #include #include -#include -#include // dla rand() i srand() -#include // dla time() +#include using namespace std; -// Struktura do przechowywania pytania i odpowiedzi -struct Pytanie { - string pytanie; - string odpowiedz; -}; +void zapiszDane() { + string dane; + cout << "Podaj dane do zapisania: "; + cin.ignore(); + getline(cin, dane); -// Funkcja do wczytywania pytań z pliku -vector wczytajPytania() { - vector listaPytan; - ifstream plik("pytania.txt"); - + ofstream plik("dane.txt", ios::app); if (plik.is_open()) { - string linia1, linia2; - - // Czytamy plik linia po linii - while (getline(plik, linia1)) { - if (getline(plik, linia2)) { - Pytanie nowePytanie; - nowePytanie.pytanie = linia1; - nowePytanie.odpowiedz = linia2; - listaPytan.push_back(nowePytanie); - } + plik << dane << "\n"; + plik.close(); + cout << "Dane dopisane do pliku.\n"; + Sleep(2000); + system("cls"); + } else { + cout << "Nie mozna otworzyc pliku do zapisu.\n"; + } +} + +void wyswietlDane() { + ifstream plik("dane.txt"); + if (plik.is_open()) { + string linia; + cout << "Zawartosc pliku:\n"; + while (getline(plik, linia)) { + cout << linia << "\n"; } plik.close(); } else { - cout << "Nie moge otworzyc pliku z pytaniami!" << endl; + cout << "Nie mozna otworzyc pliku do odczytu.\n"; } - - return listaPytan; -} - -// Funkcja do zapisywania pytań do pliku -void zapiszPytania(vector listaPytan) { - ofstream plik("pytania.txt"); - - if (plik.is_open()) { - for (int i = 0; i < listaPytan.size(); i++) { - plik << listaPytan[i].pytanie << endl; - plik << listaPytan[i].odpowiedz << endl; - } - plik.close(); - } else { - cout << "Nie moge zapisac do pliku!" << endl; - } -} - -// Funkcja do losowego wyboru pytania -void losowePytanie(vector listaPytan) { - if (listaPytan.empty()) { - cout << "Brak pytan w bazie!" << endl; - return; - } - - // Losujemy numer pytania - int losowyIndex = rand() % listaPytan.size(); - - cout << "Pytanie: " << listaPytan[losowyIndex].pytanie << endl; - cout << "Twoja odpowiedz: "; - - string odpowiedz; - cin.ignore(); // Czyścimy bufor - getline(cin, odpowiedz); - - if (odpowiedz == listaPytan[losowyIndex].odpowiedz) { - cout << "Dobra odpowiedz!" << endl; - } else { - cout << "Zla odpowiedz. Poprawna to: " << listaPytan[losowyIndex].odpowiedz << endl; - } -} - -// Funkcja do dodawania nowego pytania -void dodajPytanie(vector &listaPytan) { - Pytanie nowe; - - cout << "Podaj pytanie: "; - cin.ignore(); // Czyścimy bufor - getline(cin, nowe.pytanie); - - cout << "Podaj odpowiedz: "; - getline(cin, nowe.odpowiedz); - - listaPytan.push_back(nowe); - zapiszPytania(listaPytan); - - cout << "Pytanie dodane!" << endl; -} - -// Funkcja wyświetlająca menu -void pokazMenu() { - cout << "\n==== MENU ====" << endl; - cout << "1. Losowe pytanie" << endl; - cout << "2. Dodaj pytanie" << endl; - cout << "3. Wyjdz" << endl; - cout << "Wybierz: "; } int main() { - vector pytania = wczytajPytania(); int wybor; - - // Inicjalizacja generatora liczb losowych - srand(time(0)); - + do { - pokazMenu(); + cout << "\nMENU:\n"; + cout << "1. Wpisz i zapisz dane\n"; + cout << "2. Wyswietl dane\n"; + cout << "3. Wyjdz\n"; + cout << "Wybor: "; cin >> wybor; - + switch (wybor) { case 1: - losowePytanie(pytania); + system("cls"); + zapiszDane(); break; case 2: - dodajPytanie(pytania); + system("cls"); + wyswietlDane(); break; case 3: - cout << "Koniec programu." << endl; + cout << "Wyjscie z programu.\n"; break; default: - cout << "Zly wybor!" << endl; + cout << "Niepoprawny wybor.\n"; } - + } while (wybor != 3); - + return 0; -} \ No newline at end of file +}