add some corrections to "notenbewertung"

This commit is contained in:
Andreas Zweili 2018-01-27 15:51:11 +01:00
parent df64e1841d
commit 614362e61a
7 changed files with 40 additions and 34 deletions

View File

@ -45,6 +45,9 @@
<Compile Include="Mediator\Client.cs" />
<Compile Include="Mediator\DevTeam.cs" />
<Compile Include="Mediator\Mediator.cs" />
<Compile Include="Observer\Abonennt.cs" />
<Compile Include="Observer\Observer.cs" />
<Compile Include="Observer\Verlag.cs" />
<Compile Include="Proxy\Driver.cs" />
<Compile Include="Singleton\EagerSingleton.cs" />
<Compile Include="Proxy\ICar.cs" />

View File

@ -8,10 +8,9 @@ namespace notenbewertung
{
class Dozent : Person
{
public Dozent(string _vorname, string _name)
public Dozent(string _vorname, string _name) : base(_vorname, _name)
{
this.Vorname = _vorname;
this.Name = _name;
}
}
}

View File

@ -6,13 +6,15 @@ using System.Threading.Tasks;
namespace notenbewertung
{
class Klasse : List<Person>
class Klasse
{
public string Klassenbezeichnung { get; set; }
public List<Person> Personen { get; set; }
public Klasse(string _Klassenbezeichnung)
{
this.Klassenbezeichnung = _Klassenbezeichnung;
this.Personen = new List<Person>();
}
}
}

View File

@ -10,6 +10,10 @@ namespace notenbewertung
{
public string Vorname { get; set; }
public string Name { get; set; }
public Person(string _vorname, string _name)
{
this.Vorname = _vorname;
this.Name = _name;
}
}
}

View File

@ -37,34 +37,35 @@ namespace notenbewertung
max.noten.Add(exam6);
// each class needs a school
ibz.Add(ti5);
ibz.Add(ti3);
ibz.Klassen.Add(ti5);
ibz.Klassen.Add(ti3);
// many people belong to a class
ti5.Add(thomas);
ti5.Add(andreas);
ti5.Personen.Add(thomas);
ti5.Personen.Add(andreas);
ti3.Add(max);
ti3.Add(herren);
ti3.Personen.Add(max);
ti3.Personen.Add(herren);
Console.WriteLine(ibz.Standort);
Console.WriteLine("------");
foreach (var klasse in ibz)
foreach (Klasse klasse in ibz.Klassen)
{
Console.WriteLine(klasse.Klassenbezeichnung);
Console.WriteLine("------");
foreach (var person in klasse)
foreach (Person person in klasse.Personen)
{
Console.WriteLine(person.Name + " " + person.Vorname);
if (person is Student)
{
Student s = (Student)person;
Console.WriteLine("Notendurchschnitt: ");
s.GetNotenDurchSchnitt();
}
Console.WriteLine();
}
Console.WriteLine("------");
}
Console.WriteLine(andreas.Name + " " + andreas.Vorname);
Console.WriteLine(andreas.GetNotenDurchSchnitt().ToString());
Console.WriteLine(max.Name + " " + max.Vorname);
Console.WriteLine(max.GetNotenDurchSchnitt().ToString());
Console.ReadKey();
}
}

View File

@ -6,12 +6,14 @@ using System.Threading.Tasks;
namespace notenbewertung
{
class Schule : List<Klasse>
class Schule
{
public string Standort { get; set; }
public List<Klasse> Klassen { get; set; }
public Schule(string _standort)
{
this.Standort = _standort;
this.Klassen = new List<Klasse>();
}
}
}

View File

@ -9,27 +9,22 @@ namespace notenbewertung
class Student : Person
{
public List<Testresultat> noten = new List<Testresultat>();
double summe;
public Student(string _vorname, string _name)
public Student(string _vorname, string _name) : base(_vorname, _name)
{
this.Vorname = _vorname;
this.Name = _name;
}
public double GetNotenDurchSchnitt()
public void GetNotenDurchSchnitt()
{
if (noten.Count > 0)
{
int counter = 0;
this.summe = 0;
foreach (var i in noten)
{
this.summe += i.Note;
counter++;
}
return Math.Round(this.summe / counter,2);
double result = Math.Round(this.noten.Average(n => n.Note), 2);
Console.WriteLine(result);
}
else
{
Console.WriteLine("Der Student hat noch keine N0ten.");
}
return this.summe;
}
}
}