from student import Student from emne import Emne from studieprogram import Studieprogram from institutt import Institutt # Funksjon for å opprette institutt-objekt og objektene det holder på def opprett_institutt(): # Oppretter objektene in1000 = Emne("IN1000", "Introduksjon til objektorientert programmering", 10) in1020 = Emne("IN1020", "Introduksjon til datateknologi", 10) in1010 = Emne("IN1010", "Objektorientert programmering", 10) kristin = Student("Kristin", "kristlgj", []) sami = Student("Sami", "samif", [in1000, in1010]) studieprogram = [ Studieprogram("PROSA", [kristin]), Studieprogram("DIGØK", [sami]), ] return Institutt( "Institutt for informatikk", [kristin, sami], [in1000, in1020, in1010], studieprogram, ) # Prosedyre for å skrive ut elementene i en liste def skriv_elementer(tekst, liste): # Skriver ut alle elementer i en liste med teksten før print(tekst) for element in liste: print(element) # Prosedyre for å registrere ny student def registrer_student(institutt): print("Registrere student:\n") navn = input("Navn: ") brukernavn = input("Brukernavn: ").lower() institutt.registrer_student(Student(navn, brukernavn, [])) print(f"{navn} er nå registrert som student") # Prosedyre for å legge emne til en student def legg_emne_til_student(institutt): print("Legge et emne til en student:\n") ugyldig_student = True ugyldig_emne = True skriv_elementer("Studentene ved instituttet:\n", institutt.hent_studenter()) brukernavn = input("\nHvilken student vil du legge et emne til? (Skriv inn brukernavn): ").lower() for student in institutt.hent_studenter(): if student.hent_brukernavn() == brukernavn: ugyldig_student = False skriv_elementer("Emnene ved instituttet:\n", institutt.hent_emner()) emnekode = input("\nHvilket emne vil du legge til? (Skriv inn emnekode): ") for emne in institutt.hent_emner(): if emne.hent_emnekode() == emnekode: ugyldig_emne = False student.legg_til_emne(emne) print(f"{emne.hent_emnekode()} er lagt til {student.hent_navn()}") if ugyldig_student: print("Studenten du oppga er ikke registrert her") elif ugyldig_emne: print("Emnet du oppga er ikke registrert her") # Prosedyre for å legge student til i et studieprogram def legg_student_til_studieprogram(institutt): print("Legge en student til et studieprogram:\n") ugyldig_studieprogram = True ugyldig_student = True skriv_elementer("Studieprogrammene ved instituttet:\n", institutt.hent_studieprogram()) program = input("\nHvilket studieprogram vil du legge en student til i ?: ").upper() for studieprogram in institutt.hent_studieprogram(): if studieprogram.hent_navn() == program: ugyldig_studieprogram = False skriv_elementer("Studentene ved instituttet:\n", institutt.hent_studenter()) brukernavn = input("\nHvilken student vil du legge til i studieprogrammet? (Skriv inn brukernavn): ").lower() for student in institutt.hent_studenter(): if student.hent_brukernavn() == brukernavn: ugyldig_student = False studieprogram.legg_til_student(student) print(f"{student.hent_navn()} er lagt til i {studieprogram.hent_navn()}") if ugyldig_studieprogram: print("Studieprogrammet du oppga er ikke registrert her") elif ugyldig_student: print("Studenten du oppga er ikke registrert her") # Hovedprogrammet vårt def hovedprogram(): institutt = opprett_institutt() # Printer intro til bruker print(f"\nVelkommen til {institutt}") # While-løkke som kjører så lenge bruker ønsker fortsett = True while fortsett: valg = input("\nHva ønsker du å gjøre? \n1. Få oversikt over studenter \n2. Få oversikt over emner \n3. Få oversikt over studieprogrammer \n4. Registrere student \n5. Legge et emne til en student \n6. Legge en student til et studieprogram \n7. Avslutte programmet \n") print() # Få oversikt over studenter if valg == "1": skriv_elementer("Studentene ved instituttet:\n", institutt.hent_studenter()) # Få oversikt over emner elif valg == "2": skriv_elementer("Emnene ved instituttet:\n", institutt.hent_emner()) # Få oversikt over studieprogrammer elif valg == "3": skriv_elementer("Studieprogrammene ved instituttet:\n", institutt.hent_studieprogram()) # Registrere student elif valg == "4": registrer_student(institutt) # Legge emne til student elif valg == "5": legg_emne_til_student(institutt) # Legge student til studieprogram elif valg == "6": legg_student_til_studieprogram(institutt) # Avslutte programmet elif valg == "7": fortsett = False # Om bruker ikke oppga riktig input else: print("Du oppga et ugyldig valg, vennligst skriv inn 1, 2, 3, 4, 5, 6 eller 7.") print("Avslutter programmet") hovedprogram()