package main import ( "context" "fmt" "log" "os" "github.com/urfave/cli/v3" "git.fri.uni-lj.si/zs7976/ps-naloga5/redovalnica" ) func main() { cmd := &cli.Command{ Name: "redovalnica", Usage: "Student grade management system", Flags: []cli.Flag{ &cli.IntFlag{ Name: "stOcen", Usage: "Minimum number of grades required for positive evaluation", Value: 3, }, &cli.IntFlag{ Name: "minOcena", Usage: "Minimum possible grade", Value: 1, }, &cli.IntFlag{ Name: "maxOcena", Usage: "Maximum possible grade", Value: 10, }, }, Action: func(ctx context.Context, cmd *cli.Command) error { minStOcen := int(cmd.Int("stOcen")) minOcena := int(cmd.Int("minOcena")) maxOcena := int(cmd.Int("maxOcena")) fmt.Printf("=== Sistem Redovalnica ===\n") fmt.Printf("Parametri: minStOcen=%d, minOcena=%d, maxOcena=%d\n\n", minStOcen, minOcena, maxOcena) // Ustvari mapo študentov studenti := make(map[string]redovalnica.Student) // Dodaj študente redovalnica.DodajStudenta(studenti, "63210001", "Ana", "Novak") redovalnica.DodajStudenta(studenti, "63210002", "Boris", "Kralj") redovalnica.DodajStudenta(studenti, "63210003", "Janez", "Novak") // Dodaj ocene redovalnica.DodajOceno(studenti, "63210001", 10) redovalnica.DodajOceno(studenti, "63210001", 9) redovalnica.DodajOceno(studenti, "63210001", 8) redovalnica.DodajOceno(studenti, "63210002", 6) redovalnica.DodajOceno(studenti, "63210002", 7) redovalnica.DodajOceno(studenti, "63210002", 5) redovalnica.DodajOceno(studenti, "63210002", 8) redovalnica.DodajOceno(studenti, "63210003", 4) redovalnica.DodajOceno(studenti, "63210003", 5) // Izpiši vse ocene redovalnica.IzpisVsehOcen(studenti) fmt.Println() // Izpiši končni uspeh redovalnica.IzpisiKoncniUspeh(studenti, minStOcen, minOcena, maxOcena) return nil }, } if err := cmd.Run(context.Background(), os.Args); err != nil { log.Fatal(err) } }