import json

# JSON beolvasása
with open("data.json", "r", encoding="utf-8") as f:
    data = json.load(f)

print("\\n1. Összes dolgozó neve és beosztása:")
for dept in data["company"]["departments"]:
    for emp in dept["employees"]:
        print(emp["name"], "-", emp["role"])

print("\\n2. Összes termék neve és ára:")
for p in data["products"]:
    print(p["name"], "-", p["price"], "Ft")

print("\\n3. Összes könyv címe és ára:")
for b in data["books"]:
    print(b["title"], "-", b["price"], "Ft")

print("\\n4. Irodák neve és ott dolgozók száma:")
for office in data["offices"]:
    print(office["city"], "-", office["employees"], "alkalmazott")

print("\\n5. Monitor kategória modelljei, ára és raktárkészlete:")
for cat in data["store"]["categories"]:
    if cat["name"] == "Monitorok":
        for item in cat["items"]:
            print(item["model"], "-", item["price"], "Ft -", item["stock"], "db")

print("\\n6. Dolgozók, akik 30 évesnél idősebbek:")
for dept in data["company"]["departments"]:
    for emp in dept["employees"]:
        if emp["age"] > 30:
            print(emp["name"], "-", emp["age"], "év")

print("\\n7. Könyvek, amelyek műfaja 'Programozás':")
for b in data["books"]:
    if b["genre"] == "Programozás":
        print(b["title"])

print("\\n8. Termékek 20 000 Ft felett:")
for p in data["products"]:
    if p["price"] > 20000:
        print(p["name"], "-", p["price"], "Ft")

print("\\n9. Termékek értékelése 4.6 felett:")
for p in data["products"]:
    if p["rating"] > 4.6:
        print(p["name"], "-", p["rating"])

print("\\n10. Összes alkalmazott az irodákban:")
total = 0
for office in data["offices"]:
    total = total + office["employees"]
print("Összesen", total, "alkalmazott.")

print("\\n11. Összes könyv ára együtt:")
total = 0
for b in data["books"]:
    total = total + b["price"]
print("Összes könyv ára:", total, "Ft")

print("\\n12. Összes termék átlagára:")
total = 0
count = 0
for p in data["products"]:
    total = total + p["price"]
    count = count + 1
print("Átlagár:", total / count, "Ft")

print("\\n13. Laptopok átlagára:")
for cat in data["store"]["categories"]:
    if cat["name"] == "Laptopok":
        total = 0
        count = 0
        for item in cat["items"]:
            total = total + item["price"]
            count = count + 1
        print("Laptopok átlagára:", total / count, "Ft")

print("\\n14. Város, ahol a legkevesebb alkalmazott van:")
min_city = ""
min_count = None
for office in data["offices"]:
    if min_count is None or office["employees"] < min_count:
        min_city = office["city"]
        min_count = office["employees"]
print("Legkevesebb dolgozó:", min_city, "-", min_count)

print("\\n15. 'Szoftver' kategóriájú termékek száma:")
count = 0
for p in data["products"]:
    if p["category"] == "Szoftver":
        count = count + 1
print("Szoftver termékek száma:", count)

print("\\n16. Legdrágább könyv:")
max_price = 0
max_title = ""
for b in data["books"]:
    if b["price"] > max_price:
        max_price = b["price"]
        max_title = b["title"]
print(max_title, "-", max_price, "Ft")

print("\\n17. Szerzők listája (duplikátum nélkül):")
authors = []
for b in data["books"]:
    if b["author"] not in authors:
        authors.append(b["author"])
print(authors)

print("\\n18. Fejlesztés osztály átlagfizetés:")
total = 0
count = 0
for dept in data["company"]["departments"]:
    if dept["name"] == "Fejlesztés":
        for emp in dept["employees"]:
            total = total + emp["salary"]
            count = count + 1
print("Átlagfizetés:", total / count, "Ft")

print("\\n19. Dolgozók, akik ismerik a Python nyelvet:")
for dept in data["company"]["departments"]:
    for emp in dept["employees"]:
        for skill in emp["skills"]:
            if skill == "Python":
                print(emp["name"])

print("\\n20. Összes dolgozó a cégben:")
count = 0
for dept in data["company"]["departments"]:
    for emp in dept["employees"]:
        count = count + 1
print("Összes dolgozó:", count)

print("\\n21. Legdrágább webshop termék:")
max_price = 0
max_model = ""
for cat in data["store"]["categories"]:
    for item in cat["items"]:
        if item["price"] > max_price:
            max_price = item["price"]
            max_model = item["model"]
print(max_model, "-", max_price, "Ft")

print("\\n22. Legnagyobb fizetésű dolgozó:")
max_salary = 0
max_name = ""
for dept in data["company"]["departments"]:
    for emp in dept["employees"]:
        if emp["salary"] > max_salary:
            max_salary = emp["salary"]
            max_name = emp["name"]
print(max_name, "-", max_salary, "Ft")

print("\\n23. Osztályok, ahol legalább 2 dolgozó van:")
for dept in data["company"]["departments"]:
    count = 0
    for emp in dept["employees"]:
        count = count + 1
    if count >= 2:
        print(dept["name"])

print("\\n24. Egyedi skillek (duplikátum nélkül):")
skills = []
for dept in data["company"]["departments"]:
    for emp in dept["employees"]:
        for skill in emp["skills"]:
            if skill not in skills:
                skills.append(skill)
print(skills)

print("\\n25. Osztályok összesített bérköltsége:")
for dept in data["company"]["departments"]:
    total = 0
    for emp in dept["employees"]:
        total = total + emp["salary"]
    print(dept["name"], "összes bér:", total, "Ft")

print("\\n26. Teljes raktárkészlet értéke (ár × db):")
total_value = 0
for cat in data["store"]["categories"]:
    for item in cat["items"]:
        total_value = total_value + item["price"] * item["stock"]
print("Teljes érték:", total_value, "Ft")