dd

dd
mail@pastecode.io avatar
unknown
c_cpp
20 days ago
4.0 kB
3
Indexable
Never
#include <iostream>
#include <vector>
#include <string> 

using namespace std;

struct ksiazka{
    string tytul;
    string autor;
    string gatunek;
    int cena;
    string wydawnictwo;
    int ilosc_stron;
}

class Lista{
    vector<ksiazka> ksiazki;

    public:
    void Dodaj(string tytulKsiazki, string autorKsiazki, string gatunekKsiazki, int cenaKsiazki, string wydawnictwoKsiazki, int ilosc_stronKsiazki);
    void Wyswietl();
    void Usun(int pozycja); 
    void Szukaj();
    void Menu(); 
}

Lista::Lista() {
    cout << "Tworzenie obiektu klasy Lista" << endl; 
}

void Lista::Dodaj(string tytulKsiazki, string autorKsiazki, string gatunekKsiazki, int cenaKsiazki, string wydawnictwoKsiazki, int ilosc_stronKsiazki) {
    ksiazka tmp;
    tmp.tytul = tytulKsiazki;
    tmp.autor = autorKsiazki;
    tmp.gatunek = gatunekKsiazki;
    tmp.cena = cenaKsiazki;
    tmp.wydawnictwo = wydawnictwoKsiazki;
    tmp.ilosc_stron = ilosc_stronKsiazki;
    ksiazki.push_back(tmp);
}

void Lista::Wypisz() {
    if (ksiazki.empty()) {
        cout << "Lista jest pusta." << endl;
    } else {
        for (int i = 0; i < ksiazki.size(); i++) {
            cout << i + 1 << ". " << ksiazki[i].tytul << " - autor: " << ksiazki[i].autor << "- gatunek:" << ksiazki[i].gatunek << "- cena: " << ksiazki[i].cena << "- wydawnictwo:" << ksiazki[i].wydawnictwo << "- ilosc stron: " << ksiazki[i].ilosc_stron << endl;
        }
    }
}

void Lista::Usun(int pozycja) {
    if (pozycja > 0 && pozycja <= ksiazki.size()) { 
        ksiazki.erase(ksiazki.begin() + pozycja - 1);
        cout << "Usunięto ksiazke na pozycji " << pozycja << endl;
    } else {
        cout << "Błędna pozycja do usunięcia!" << endl; 
    }
}

void Lista::Szukaj(){

}


void Lista::Menu() {
    int wybor;
    do {
        cout << "MENU:\n";
        cout << "1. Dodaj ksiazke\n";
        cout << "2. Wyswietl ksiazki\n";
        cout << "3. Usuń ksiazke\n";
        cout << "4. Szukaj ksiazki\n";
        cout << "5. Zakończ\n";
        cout << "Wybierz opcję: ";
        cin >> wybor;

        switch (wybor) {
            case 1: {

                // zmienne
                  string tytul;
                  string autor;
                  string gatunek;
                  int cena;
                  string wydawnictwo;
                  int ilosc_stron;
                

                // tytul
                cout << "Podaj tytul: ";
                cin >> tytul;
                
              // autor
                cout << "Podaj autora: ";
                cin >> autor;

                // gatunek
                cout << "Podaj gatunek: ";
                cin >> gatunek;

                // cena
                cout << "Podaj cene: ";
                cin >> cena;

                // wydawnictwo
                cout << "Podaj wydawnictwo ";
                cin >> wydawnictwo;

                // ilosc stron
                cout << "Podaj ilosc stron: ";
                cin >> ilosc_stron;
            
                Dodaj(tytul,autor,gatunek,cena,wydawnictwo,ilosc_stron);
                break;
            }
            case 2: {
                Wypisz();
                break;
            }
            case 3: {
                int pozycja;
                cout << "Podaj pozycję ksiazki do usunięcia: ";
                cin >> pozycja;
                Usun(pozycja);
                break;
            }
            case 4: {

            }
            case 5: {
                cout << "Zakończono program." << endl;
                break;
            }
            default: {
                cout << "Nieprawidłowa opcja, spróbuj ponownie." << endl;
                break;
            }
        }
        cout << endl;
    } while (wybor != 4);
}



int main(){
  Lista ksiazki;
  ksiazki.Menu();  
}
Leave a Comment