using System.Collections.Generic;
public List<Predmet> ZapsaneAbsolvovanePredmety;
public Student(string jmeno, string primeni)
ZapsaneAbsolvovanePredmety = new List<Predmet>();
public override string ToString()
return String.Format("{0}, {1}", Primeni, Jmeno);
public List<string> PrerekvizityKod;
public Predmet(string kod, string jmeno)
Kod = kod; Jmeno = jmeno; PrerekvizityKod = new List<string>();
public Predmet(string kod, string jmeno, List<string> prerekvizity)
Kod = kod; Jmeno = jmeno; PrerekvizityKod = prerekvizity;
public class Prihlasovani
List<Student> seznamStudentu;
Dictionary<string, Predmet> katalogPredmetu;
List<Student> seznamStudentu = new List<Student>
new Student("Kamil", "Veselý"),
new Student("David","Smutný"),
new Student("Dana","Dutá"),
new Student("Agáta","Přechtralá")
seznamStudentu.Add(new Student("Jan", "Novak"));
seznamStudentu.Add(new Student("Petra", "Svobodova"));
seznamStudentu.Add(new Student("Gábina", "Umíněná"));
seznamStudentu.Add(new Student("Darina", "Ospalá"));
seznamStudentu.Add(new Student("Sam", "Sám"));
seznamStudentu.Add(new Student("Zdenek", "Geniální"));
Console.WriteLine(seznamStudentu.Count);
foreach (Student nasStudent in seznamStudentu)
Console.WriteLine(nasStudent);
katalogPredmetu = new Dictionary<string, Predmet>
{"M001", new Predmet("M001", "Uvod do elektronove mikroskopie")},
{"P001", new Predmet("P001", "Programovani C# 1")},
{"P002", new Predmet("P002", "Programovani C# 2", new List<string> {"P001"})}
katalogPredmetu.Add("P020", new Predmet("P020", "Vyvoj mobilnich aplikaci", new List<string> { "X111" }));
katalogPredmetu.Add("P021", new Predmet("P021", "Vyvoj aplikaci pro elektronove mikroskopy", new List<string> { "M001", "P002" }));
katalogPredmetu.Add("U001", new Predmet("U001", "Učtelství pro vývoj mobilních aplikaci", new List<string> { "M001", "P020", "P001" }));
katalogPredmetu.Add("U002", new Predmet("U002", "Učtelství pro programovani", new List<string> { "P003", "P002", "P001" }));
katalogPredmetu.Add("U003", new Predmet("U003", "Ucitelství o elektronovych mikroskopech"));
ZkontrolujKatalog(katalogPredmetu);
Student studentNovak = seznamStudentu.Find(novak => novak.Primeni.Contains("Novák"));
ZapisPredmet(studentNovak, "P001");
ZapisPredmet(studentNovak, "P002");
ZapisPredmet(studentNovak, "P030");
ZapisPredmet(studentNovak, "M001");
ZapisPredmet(studentNovak, "P030");
ZapisPredmet(studentNovak, "X222");
private void ZkontrolujKatalog(Dictionary<string, Predmet> katalog)
List<string> Prerekvizity = new List<string>();
int kolik = Prerekvizity.Count();
for (int i = 0; i < kolik - 1; i++)
if (Prerekvizity[i].Contains(katalog.))
Console.WriteLine($"Predmet{ 0} obsahuje existujici prerekvizitu: { 1 }", katalogPredmetu.Jmeno, Kod);
Console.WriteLine($"Predmet{ 0} obsahuje neexistujici prerekvizitu: { 1 }", Predmet.Jmeno, Predmet.Kod);
private void ZapisPredmet(Student student, string predmetKod)
public static void Main()
Console.WriteLine("Hello World");