Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .vs/Notenprogramm/v16/.suo
Binary file not shown.
Binary file modified .vs/Notenprogramm/v16/Server/sqlite3/storage.ide
Binary file not shown.
Binary file not shown.
Empty file.
33 changes: 33 additions & 0 deletions Notenprogramm/ChangeGradeHandler.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;

namespace Notenprogramm
{
public class ChangeGradeHandler
{
private Grade Grade;

public ChangeGradeHandler(Grade grade)
{
Grade = grade;
}

public void HandleGradeChange(object sender, TextChangedEventArgs args)
{
try
{
Grade.SetCalculatedGrade(Double.Parse(((TextBox)sender).Text));
}
catch
{
MessageBox.Show("Bitte geben Sie eine rationale Zahl ein.");
}

}
}
}
47 changes: 26 additions & 21 deletions Notenprogramm/Grade.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,54 +10,59 @@ namespace Notenprogramm

public class Grade : Rating
{
private List<Grade> grades;
private List<double> bias;
private double calculatedGrade;
private List<Grade> Grades;
private List<double> Bias;
private double CalculatedGrade;

private StackPanel stackPanel;

public Grade(GradeType type, double ratio, double average, DateTime time, string name, string description, List<Grade> grades) : base(type, ratio, average, time, name, description)
{
this.grades = grades;
this.Grades = grades;
}

public void addGrade(Grade grade)
public void AddGrade(Grade grade)
{
grades.Add(grade);
calculateGrade();
updateStackpanel();
Grades.Add(grade);
CalculatedGrade = CalculateGrade();
UpdateStackpanel();
}

public List<Grade> getGrade()
public void SetCalculatedGrade(double grade)
{
return grades;
CalculatedGrade = grade;
}

public double getAverage()
public double GetAverage()
{
calculateGrade();
return calculatedGrade;
CalculatedGrade = CalculateGrade();
return CalculatedGrade;
}

public double calculateGrade()
public List<Grade> GetGrades()
{
return Grades;
}

public double CalculateGrade()
{
double average = 0;
double biasSum = 0;

for (int i = 0; i < grades.Count; i++)
for (int i = 0; i < Grades.Count; i++)
{
average += grades[i].calculateGrade() * bias[i];
biasSum += bias[i];
average += Grades[i].CalculateGrade() * Bias[i];
biasSum += Bias[i];
}

calculatedGrade = average / biasSum;
CalculatedGrade = average / biasSum;

return calculatedGrade;
return CalculatedGrade;
}

private void updateStackpanel()
private void UpdateStackpanel()
{

stackPanel = StackpanelBuilder.BuildStackPanelGrades(Grades);
}
}
}
2 changes: 1 addition & 1 deletion Notenprogramm/MainWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
Title="Notenprogramm" WindowState="Maximized"
Closed="Window_Closed">
<Grid>
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Horizontal" Height="506" Margin="0,0,-0.4,-0.4" VerticalAlignment="Bottom">
<GroupBox Header="Klassenübersicht" Margin="10">
<ScrollViewer MaxHeight="700" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled">
<StackPanel Orientation="Vertical" CanHorizontallyScroll="False" CanVerticallyScroll="True">
Expand Down
1 change: 1 addition & 0 deletions Notenprogramm/Notenprogramm.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
<Compile Include="ChangeGradeHandler.cs" />
<Compile Include="Grade.cs" />
<Compile Include="Rating.cs" />
<Compile Include="StackpanelBuilder.cs" />
Expand Down
29 changes: 26 additions & 3 deletions Notenprogramm/StackpanelBuilder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,36 @@ namespace Notenprogramm
{
public class StackpanelBuilder
{
private const int width = 80;
private const int WIDTH = 80;

public static StackPanel buildStackpanelGrades(Grade grade)
public static StackPanel BuildStackPanelGrades(List<Grade> grades)
{
StackPanel builtStackpanel = new StackPanel();
StackPanel stackPanel = new StackPanel();

foreach (Grade grade in grades)
{
stackPanel.Children.Add(BuildStackpanelGrade(grade));
}

return stackPanel;
}

private static StackPanel BuildStackpanelGrade(Grade grade)
{
StackPanel builtStackpanel = new StackPanel();

if (grade.GetGrades().Count == 0)
{
TextBox textBox = new TextBox();
textBox.Text = grade.GetAverage().ToString();
textBox.Width = WIDTH;
textBox.TextChanged += new TextChangedEventHandler(new ChangeGradeHandler(grade).HandleGradeChange);
builtStackpanel.Children.Add(textBox);
}
else
{
builtStackpanel.Children.Add(BuildStackPanelGrades(grade.GetGrades()));
}

return builtStackpanel;
}
Expand Down
6 changes: 3 additions & 3 deletions Notenprogramm/Student.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,15 +45,15 @@ public void addGrade(Grade grade)

if (grade.getType().Equals(GradeType.exam))
{
examGrade.addGrade(grade);
examGrade.AddGrade(grade);
}
if (grade.getType().Equals(GradeType.oral))
{
oralGrade.addGrade(grade);
oralGrade.AddGrade(grade);
}
if (grade.getType().Equals(GradeType.extra))
{
extraGrade.addGrade(grade);
extraGrade.AddGrade(grade);
}


Expand Down
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1bb7eed1574186e0a6a96716ae38dd7e97c39a17
a0d920abe4c4fcbf157e94de8160956e6e613aa8
Binary file not shown.
2 changes: 1 addition & 1 deletion Notenprogramm/obj/Debug/Notenprogramm_MarkupCompile.cache
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ DEBUG;TRACE
C:\Users\Johannes\Documents\Projekte\NotenFirma\Notenprogramm\Notenprogramm\App.xaml
11151548125

121011487976
11-611517221
131569487696
MainWindow.xaml;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ DEBUG;TRACE
C:\Users\Johannes\Documents\Projekte\NotenFirma\Notenprogramm\Notenprogramm\App.xaml
11151548125

15860170298
13-1082832458
131569487696
MainWindow.xaml;

Expand Down
Binary file not shown.