Esempio n. 1
0
def pretraga_autor():
    #funkcija koja vrši pretragu knjiga po autoru
    global lista_knjiga
    lista = lista_autora()
    for i in range(len(lista)):
        lista[i] = lista[i].upper()
    ulaz = input("Unesite autora za pretraživanje: ")
    ulaz = provjeri_unos(ulaz).upper()
    n = len(lista)
    i = 0
    ind = True
    print(
        "\nISBN            NASLOV          AUTORI          GODINA IZDAVANJA ŽANR            CIJENA  KOLIČINA OPIS           "
    )
    while ind:
        if (i < n):
            if (lista[i].find(ulaz) != -1):
                for knjiga in lista_knjiga:
                    if (lista_autora()[i] == knjiga["autori"]):
                        print(
                            "{:<15} {:<15} {:<15} {:<16} {:<15} {:<7.2f} {:<8} {:<15}"
                            .format(knjiga["isbn"], knjiga["naslov"],
                                    knjiga["autori"], knjiga["godina"],
                                    knjiga["zanr"], float(knjiga["cijena"]),
                                    knjiga["kolicina"], knjiga["opis"]))
            i = i + 1
        else:
            ind = False
Esempio n. 2
0
def pretraga_isbn():
    #funkcija koja vrši pretragu knjiga po ISBN-u
    global lista_knjiga
    lista = lista_isbn()
    x = True
    while x:
        ulaz = input("Unesite ISBN za pretraživanje: ")
        ulaz = provjeri_unos(ulaz)
        if ulaz.isdigit():
            x = False
        else:
            print("Pogrešan format unosa. Pokušajte ponovo.")
    n = len(lista)
    i = 0
    ind = True
    print(
        "\nISBN            NASLOV          AUTORI          GODINA IZDAVANJA ŽANR            CIJENA  KOLIČINA OPIS           "
    )
    while ind:
        if (i < n):
            if (lista[i].find(ulaz) != -1):
                for knjiga in lista_knjiga:
                    if (lista_isbn()[i] == knjiga["isbn"]):
                        print(
                            "{:<15} {:<15} {:<15} {:<16} {:<15} {:<7.2f} {:<8} {:<15}"
                            .format(knjiga["isbn"], knjiga["naslov"],
                                    knjiga["autori"], knjiga["godina"],
                                    knjiga["zanr"], float(knjiga["cijena"]),
                                    knjiga["kolicina"], knjiga["opis"]))
            i = i + 1
        else:
            ind = False
Esempio n. 3
0
def unos_knjiga():
    # funkcija koja služi za unos novih knjiga
    global lista_knjiga
    zanrovi = ["autobiografija", "drama", "fantazija", "roman"]
    knjiga = {}

    print("\n-----Podaci o knjizi-----")

    autori = input("Autori: ")
    autori = provjeri_unos(autori)
    knjiga["autori"] = autori

    naslov = input("Naslov: ")
    naslov = provjeri_unos(naslov)
    knjiga["naslov"] = naslov

    godina = None
    while godina is None:
        x = input("Godina: ")
        if x.isdigit():
            godina = x
            knjiga["godina"] = godina
        else:
            print("Godina mora biti broj")

    isbn = None
    while isbn is None:
        unos_isbn = input("ISBN: ")
        if unos_isbn.isdigit() and provjera_isbn(unos_isbn):
            isbn = unos_isbn
            knjiga["isbn"] = isbn
        else:
            print(
                "Unijeti isbn već postoji ili je pogrešan format unosa. Pokušajte ponovo."
            )

    zanr = None
    while zanr is None:
        print("Ponuđeni žanrovi:")
        for i in range(len(zanrovi)):
            print(str(i + 1) + ".) " + zanrovi[i])

        zanr_indeks = input("Unesite redni broj žanra: ")
        if zanr_indeks.isdigit():
            if 0 < int(zanr_indeks) <= len(zanrovi):
                zanr = zanrovi[int(zanr_indeks) - 1]
                knjiga["zanr"] = zanr
        else:
            print("\nIndeks žanra mora biti broj")

    cijena = None
    while cijena is None:
        x = input("Cijena: ")
        try:
            cijena = float(x)
            knjiga["cijena"] = cijena
        except ValueError:
            print("Pogrešan format unosa. Pokušajte ponovo.")

    kolicina = None
    while kolicina is None:
        x = input("Količina: ")
        if x.isdigit():
            kolicina = int(x)
            knjiga["kolicina"] = kolicina
        else:
            print("Količina mora biti pozitivan cijeli broj")

    opis = input("Opis: ")
    opis = provjeri_unos(opis)
    knjiga["opis"] = opis

    knjiga["brisanje"] = False

    lista_knjiga.append(knjiga)
    # dodavanje knjige u listu knjiga

    zapis = "{}|{}|{}|{}|{}|{:.2f}|{}|{}|{}\n".format(
        knjiga["autori"], knjiga["naslov"],
        knjiga["godina"], knjiga["isbn"], knjiga["zanr"],
        float(knjiga["cijena"]), knjiga["kolicina"], knjiga["opis"],
        knjiga["brisanje"])

    print("\nUnesena knjiga:")
    print(knjiga)
    print("\nZapis unesene knjige u fajlu:")
    print(zapis)

    f = open("../data/fajl_knjige.txt", "a")
    f.write(zapis)
    f.close()

    lista_knjiga = ucitavanje_knjiga("../data/fajl_knjige.txt")

    print("Učitane knjige:")
    for knjiga in lista_knjiga:
        print(knjiga)
Esempio n. 4
0
def izmjena_knjige():
    #funkcija koja vrši izmjenu knjige
    global lista_knjiga
    lista_knjiga = ucitavanje_knjiga("../data/fajl_knjige.txt")
    nova_lista_knjiga = []
    for knjiga in lista_knjiga:
        if (knjiga["brisanje"] == "False" and int(knjiga["kolicina"]) > 0):
            nova_lista_knjiga.append(knjiga)
    if (nova_lista_knjiga == []):
        print("\nNema knjiga za izmjenu")
        return
    x = True
    while (x):
        i = 1
        print("\nSpisak knjiga:\n")
        print("RB. ISBN            NASLOV       ")
        for knjiga in nova_lista_knjiga:
            print("{:>2}. {:<15} {:<15}".format(i, knjiga["isbn"],
                                                knjiga["naslov"]))
            i = i + 1
        ulaz = input("\nUnesite redni broj knjige: ")
        if ulaz.isdigit():
            if 0 < int(ulaz) <= len(nova_lista_knjiga):
                ulaz = int(ulaz)
                x = False
            else:
                print("\nPogrešan unos")
    for i in range(len(nova_lista_knjiga)):
        if (ulaz == i + 1):
            for knjiga in lista_knjiga:
                if (nova_lista_knjiga[i]["isbn"] == knjiga["isbn"]):
                    #izmjena podataka o knjizi

                    zanrovi = ["autobiografija", "drama", "fantazija", "roman"]

                    print("\n-----Podaci o knjizi-----")

                    autori = input("Autori: ")
                    autori = provjeri_unos(autori)
                    knjiga["autori"] = autori

                    naslov = input("Naslov: ")
                    naslov = provjeri_unos(naslov)
                    knjiga["naslov"] = naslov

                    godina = None
                    while godina is None:
                        x = input("Godina: ")
                        if x.isdigit():
                            godina = x
                            knjiga["godina"] = godina
                        else:
                            print("Godina mora biti broj")

                    zanr = None
                    while zanr is None:
                        print("Ponuđeni žanrovi:")
                        for i in range(len(zanrovi)):
                            print(str(i + 1) + ".) " + zanrovi[i])

                        zanr_indeks = input("Unesite redni broj žanra: ")
                        if zanr_indeks.isdigit():
                            if 0 < int(zanr_indeks) <= len(zanrovi):
                                zanr = zanrovi[int(zanr_indeks) - 1]
                                knjiga["zanr"] = zanr
                        else:
                            print("\nIndeks žanra mora biti broj")

                    cijena = None
                    while cijena is None:
                        x = input("Cijena: ")
                        try:
                            cijena = float(x)
                            knjiga["cijena"] = cijena
                        except ValueError:
                            print("Pogrešan format unosa. Pokušajte ponovo.")

                    kolicina = None
                    while kolicina is None:
                        x = input("Količina: ")
                        if x.isdigit():
                            kolicina = int(x)
                            knjiga["kolicina"] = kolicina
                        else:
                            print("Količina mora biti pozitivan cijeli broj")

                    opis = input("Opis: ")
                    opis = provjeri_unos(opis)
                    knjiga["opis"] = opis

                    break

    f = open("../data/fajl_knjige.txt", "w")
    for knjiga in lista_knjiga:
        zapis = "{}|{}|{}|{}|{}|{:.2f}|{}|{}|{}\n".format(
            knjiga["autori"], knjiga["naslov"],
            knjiga["godina"], knjiga["isbn"], knjiga["zanr"],
            float(knjiga["cijena"]), knjiga["kolicina"], knjiga["opis"],
            knjiga["brisanje"])
        f.write(zapis)
    f.close()
    print("\nKnjiga je uspiješno izmijenjena")
Esempio n. 5
0
def unos_korisnika():
    # funkcija koja služi za unos novih korisnika
    global lista_korisnika
    uloge = ["prodavac", "menadžer", "administrator"]
    korisnik = {}

    print("\n-----Podaci o korisniku-----")

    korisnicko_ime = None
    while korisnicko_ime is None:
        unos_korisnicko_ime = input("Korisničko_ime: ")
        unos_korisnicko_ime = provjeri_unos(unos_korisnicko_ime)

        if provjera_korisnicko_ime(unos_korisnicko_ime):
            korisnicko_ime = unos_korisnicko_ime
            korisnik["korisnicko_ime"] = korisnicko_ime
        else:
            print("Unijeto korisničko ime već postoji. Pokušajte ponovo.")

    sifra = input("Šifra: ")
    sifra = provjeri_unos(sifra)
    korisnik["sifra"] = sifra

    ime = input("Ime: ")
    ime = provjeri_unos(ime)
    korisnik["ime"] = ime

    prezime = input("Prezime: ")
    prezime = provjeri_unos(prezime)
    korisnik["prezime"] = prezime

    uloga = None
    while uloga is None:
        print("Ponuđene uloge:")
        for i in range(len(uloge)):
            print(str(i + 1) + ".) " + uloge[i])

        uloga_indeks = input("Unesite redni broj uloge: ")
        if uloga_indeks.isdigit():
            if 0 < int(uloga_indeks) <= len(uloge):
                uloga = uloge[int(uloga_indeks) - 1]
                korisnik["uloga"] = uloga
        else:
            print("\nIndeks uloge mora biti broj")

    lista_korisnika.append(korisnik)
    # dodavanje korisnika u listu korisnika

    zapis = "{}|{}|{}|{}|{}\n".format(korisnik["korisnicko_ime"],
                                      korisnik["sifra"], korisnik["ime"],
                                      korisnik["prezime"], korisnik["uloga"])

    print("\nUneseni korisnik:")
    print(korisnik)
    print("\nZapis unesenog korisnika u fajlu:")
    print(zapis)

    f = open("../data/fajl_korisnici.txt", "a")
    f.write(zapis)
    f.close()

    lista_korisnika = ucitavanje_korisnika("../data/fajl_korisnici.txt")

    print("Učitani korisnici:")
    for korisnik in lista_korisnika:
        print(korisnik)
Esempio n. 6
0
def izmjena_korisnika():
    #funkcija koja vrši izmjenu korisnika
    global lista_korisnika
    nova_lista_korisnika = []
    for korisnik in lista_korisnika:
        if korisnik["uloga"] != "administrator":
            nova_lista_korisnika.append(korisnik)
    if (nova_lista_korisnika == []):
        print("\nNema korisnika za izmjenu")
        return
    x = True
    while (x):
        i = 1
        print("\nSpisak korisnika:\n")
        print("RB. IME             PREZIME         KORISNIČKO IME ")
        for korisnik in nova_lista_korisnika:
            print("{:>2}. {:<15} {:<15} {:<15}".format(
                i, korisnik["ime"], korisnik["prezime"],
                korisnik["korisnicko_ime"]))
            i = i + 1
        ulaz = input("\nUnesite redni broj korisnika: ")
        if ulaz.isdigit():
            if 0 < int(ulaz) <= len(nova_lista_korisnika):
                ulaz = int(ulaz)
                x = False
            else:
                print("\nPogrešan unos")
    for i in range(len(nova_lista_korisnika)):
        if (ulaz == i + 1):
            for korisnik in lista_korisnika:
                if (nova_lista_korisnika[i]["korisnicko_ime"] ==
                        korisnik["korisnicko_ime"]):
                    #izmjena podataka o korisniku

                    uloge = ["prodavac", "menadžer", "administrator"]

                    print("\n-----Podaci o korisniku-----")

                    sifra = input("Šifra: ")
                    sifra = provjeri_unos(sifra)
                    korisnik["sifra"] = sifra

                    ime = input("Ime: ")
                    ime = provjeri_unos(ime)
                    korisnik["ime"] = ime

                    prezime = input("Prezime: ")
                    prezime = provjeri_unos(prezime)
                    korisnik["prezime"] = prezime

                    uloga = None
                    while uloga is None:
                        print("Ponuđene uloge:")
                        for i in range(len(uloge)):
                            print(str(i + 1) + ".) " + uloge[i])

                        uloga_indeks = input("Unesite redni broj uloge: ")
                        if uloga_indeks.isdigit():
                            if 0 < int(uloga_indeks) <= len(uloge):
                                uloga = uloge[int(uloga_indeks) - 1]
                                korisnik["uloga"] = uloga
                        else:
                            print("\nIndeks uloge mora biti broj")

                    break

    f = open("../data/fajl_korisnici.txt", "w")
    for korisnik in lista_korisnika:
        zapis = "{}|{}|{}|{}|{}\n".format(korisnik["korisnicko_ime"],
                                          korisnik["sifra"], korisnik["ime"],
                                          korisnik["prezime"],
                                          korisnik["uloga"])
        f.write(zapis)
    f.close()
    print("\nKorisnik je uspiješno izmijenjen")