Entwickler-Ecke
Sonstiges (Delphi) - Notendurchschnitt(OOP Programmierung) Problem mit übergabe
SkyX - Mo 17.11.08 20:16
Titel: Notendurchschnitt(OOP Programmierung) Problem mit übergabe
Servuz,
Ich muss momentan ein Programm in der Schule schreiben, habe jetzt auch länger gefehlt und brauche auch unbedingt Tips von euch wie ich mich in Delphi Programmierung und OOP verbessern könnte!
Aber erstmals zu dem Programm selbst, kann sein das es noch nicht ganz fertig ist:
unit Note
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73:
| unit Unit_Noten;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Klasse_Noten;
type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Edi_Anzahl: TEdit; Edit_Schnitt: TEdit; Bu_Eingabe: TButton; Bu_Ende: TButton; Bu_Clear: TButton; procedure Bu_EingabeClick(Sender: TObject); procedure FormActivate(Sender: TObject); procedure Bu_EndeClick(Sender: TObject); procedure Bu_ClearClick(Sender: TObject); private
public end;
var Form1: TForm1; Noten :TNoten; Anzahl: Integer;
implementation
{$R *.DFM}
procedure TForm1.Bu_EingabeClick(Sender: TObject); var NotenString: string; i: word; begin Anzahl:= StrToInt(Edi_Anzahl.text); for i:= 1 to Anzahl do begin if InputQuery('Noteneingabe',IntToStr(i)+'. Note:',NotenString) then Noten.SetNoten(StrToInt(NotenString));Nicht genügend Parameter Laut Delphi end; end;
procedure TForm1.FormActivate(Sender: TObject); begin edi_Anzahl.setfocus; end;
procedure TForm1.Bu_EndeClick(Sender: TObject); begin close; end;
procedure TForm1.Bu_ClearClick(Sender: TObject); begin edi_Anzahl.clear; edi_Anzahl.setfocus; Edit_Schnitt.clear; end;
end. |
Unit_Klasse
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48:
| unit Klasse_Noten;
interface
type TNoten = class(TObject) private FAnzahl:Integer; FSchnitt:single; FNoten: array of integer; public procedure BerechneSchnitt; function GetSchnitt(Position:integer):integer; procedure SetNoten(Position,Noten:Integer); constructor Create (Anzahl:integer); end;
implementation
constructor TNoten.Create(Anzahl:Integer); begin inherited create; FAnzahl:= Anzahl; SetLength(FNoten,FAnzahl); end;
Procedure TNoten.SetNoten(Position,Noten:Integer); begin FNoten[Position]:= Noten; end;
procedure TNoten.BerechneSchnitt; var summe,i : integer; begin summe:= 0; For i:= 0 to FAnzahl -1 do Summe := Summe + FNoten[i]; FSchnitt := Summe/FAnzahl; end;
function TNoten.GetSchnitt(Position:Integer):Integer; begin Result:=FNoten[Position]; end;
end. |
Schonmal Danke
Moderiert von
AXMD: Quote- durch Delphi-Tags ersetzt
Moderiert von
AXMD: Color- durch Highlight-Tags ersetzt
Delete - Mo 17.11.08 20:22
Zitat: |
Delphi-Quelltext 1:
| If Edi_Anzahl.Text:= '' then | |
Du versuchst, in einem Vergleich eine Zuweisung zu machen. Richtig hieße es
If Edi_Anzahl.Text = '' then.
Und SetNoten erwartet 2 Parameter
Zitat: |
procedure SetNoten(Position,Noten:Integer); |
, Du willst aber nur einen übergeben.
SkyX - Mo 17.11.08 20:33
Zitat: |
If Edi_Anzahl.Text:= '' then |
Wurde abgeändert und kam mir grad im Sinn da war damals doch was im untericht mit dem if, then und else!
Und wie mache ich das mit SetNoten?
Habe gerade ausprobiert wie man es machen könnte, aber keine Ahnung, da ich ja auch mit Array arbeite!
Delete - Mo 17.11.08 20:36
Delphi-Quelltext
1: 2: 3: 4: 5:
| for i:= 1 to Anzahl do begin if InputQuery('Noteneingabe',IntToStr(i)+'. Note:',NotenString) then Noten.SetNoten(i - 1,StrToInt(NotenString)); end; |
SkyX - Mo 17.11.08 20:43
Funktioniert so auch mit dem Starten, jedoch bleibt er dann bei steckern!
Delphi-Quelltext
1:
| FNoten[Position]:= Noten; |
Zeigt mir auch nichts an wo ein Fehler sein könnte! Bin Schritt für Schritt durch gegangen mit F7.
Delete - Mo 17.11.08 20:57
Ist das oben der gesamte Quelltext oder nur ein Auszug? Wenn das der komplette ist, musst Du die Noten-Klasse ja erst noch erzeugen.
[edit] Setz mal ins TForm1.Bu_EingabeClick ein Noten := TNoten.Create(Anzahl);, bevor Du in die Schleife gehst.[/edit]
SkyX - Mo 17.11.08 21:17
Hier nochmals den Aktuellen Delphi Quellcode! Form Create habe ich jetzt gemacht meckert aber wieder nicht genügend wirkliche parameter vorhanden
Unit_Noten
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85:
| unit Unit_Noten;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Klasse_Noten;
type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Edi_Anzahl: TEdit; Edit_Schnitt: TEdit; Bu_Eingabe: TButton; Bu_Ende: TButton; Bu_Clear: TButton; procedure FormCreate(Sender: TObject); procedure Bu_EingabeClick(Sender: TObject); procedure FormActivate(Sender: TObject); procedure Bu_EndeClick(Sender: TObject); procedure Bu_ClearClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private
public end;
var Form1: TForm1; Noten :TNoten; Anzahl: Integer;
implementation
{$R *.DFM}
procedure TForm1.Bu_EingabeClick(Sender: TObject); var NotenString: string; i: word; begin begin If Edi_Anzahl.Text = '' then showmessage('Bitte Eingabe tätigen') else Anzahl:= StrToInt(Edi_Anzahl.text); end;
for i:= 1 to Anzahl do begin if InputQuery('Noteneingabe',IntToStr(i)+'. Note:',NotenString) then Noten.SetNoten(i-1,StrToInt(NotenString)); end; end;
procedure TForm1.FormActivate(Sender: TObject); begin edi_Anzahl.setfocus; end;
procedure TForm1.Bu_EndeClick(Sender: TObject); begin close; end;
procedure TForm1.Bu_ClearClick(Sender: TObject); begin edi_Anzahl.clear; edi_Anzahl.setfocus; Edit_Schnitt.clear; end;
procedure TForm1.FormCreate(Sender: TObject); begin Noten:= TNoten.create; end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Noten.Destroy; end;
end. |
Klasse_Noten
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48:
| unit Klasse_Noten;
interface
type TNoten = class(TObject) private FAnzahl:Integer; FSchnitt:single; FNoten: array of integer; public procedure BerechneSchnitt; function GetSchnitt(Position:integer):integer; procedure SetNoten(Position,Noten:Integer); constructor Create (Anzahl:integer); end;
implementation
constructor TNoten.Create(Anzahl:Integer); begin inherited create; FAnzahl:= Anzahl; SetLength(FNoten,FAnzahl); end;
Procedure TNoten.SetNoten(Position,Noten:Integer); begin FNoten[Position]:= Noten; end;
procedure TNoten.BerechneSchnitt; var summe,i : integer; begin summe:= 0; For i:= 0 to FAnzahl -1 do Summe := Summe + FNoten[i]; FSchnitt := Summe/FAnzahl; end;
function TNoten.GetSchnitt(Position:Integer):Integer; begin Result:=FNoten[Position]; end;
end. |
EDIT:
So habe mal deinen Vorschlag ausprobiert, er startet aber bringt wieder den selben Fehler bei FNoten[Position]:= Noten;
Und meine neue Methode mit Form Create habe mal nacht Note.Create(Anzahl); gesetzt und startet auch ohne Probleme, aber selber Fehler wie oben!
LexXis - Mo 17.11.08 21:30
SkyX hat folgendes geschrieben : |
Hier nochmals den Aktuellen Delphi Quellcode! Form Create habe ich jetzt gemacht meckert aber wieder nicht genügend wirkliche parameter vorhanden
Unit_Noten
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| unit Unit_Noten;
for i:= 1 to Anzahl do begin if InputQuery('Noteneingabe',IntToStr(i)+'. Note:',NotenString) then Noten.SetNoten(i-1,StrToInt(NotenString)); end; |
Klasse_Noten
Delphi-Quelltext 1: 2: 3: 4:
| unit Klasse_Noten;
For i:= 0 to FAnzahl -1 do Summe := Summe + FNoten[i]; |
EDIT:
So habe mal deinen Vorschlag ausprobiert, er startet aber bringt wieder den selben Fehler bei FNoten[Position]:= Noten;
Und meine neue Methode mit Form Create habe mal nacht Note.Create(Anzahl); gesetzt und startet auch ohne Probleme, aber selber Fehler wie oben! |
Dynamische Arrays beginnen immer bei 0!
mfg
SkyX - Mo 17.11.08 21:51
Bei unit_Noten habe ich es abgeändert! Jedoch bleibt er noch immer an der selben Stelle hängen mit dem Fehler!
Delete - Di 18.11.08 09:28
LexXis hat folgendes geschrieben: |
Dynamische Arrays beginnen immer bei 0! |
Deshalb steht da ja auch i - 1.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TForm1.Bu_EingabeClick(Sender: TObject); var NotenString: string; i: word; begin If Edi_Anzahl.Text = '' then showmessage('Bitte Eingabe tätigen') else Anzahl:= StrToInt(Edi_Anzahl.text);
Noten := TNoten.Create(Anzahl);
for i:= 1 to Anzahl do begin if InputQuery('Noteneingabe',IntToStr(i)+'. Note:',NotenString) then Noten.SetNoten(i-1,StrToInt(NotenString)); end; end; |
Allerdings vermisse ich den Code zur Freigabe des angeforderten Speichers in der Klasse Noten.
SkyX - Di 18.11.08 15:50
So habe es ergänzt, und bemerkungen stehen drinnen im Quellcode:
Scheint noch nicht sauber zu arbeiten!
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89:
| unit Unit_Noten;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Klasse_Noten;
type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Edi_Anzahl: TEdit; Edit_Schnitt: TEdit; Bu_Eingabe: TButton; Bu_Ende: TButton; Bu_Clear: TButton; procedure FormCreate(Sender: TObject); procedure Bu_EingabeClick(Sender: TObject); procedure FormActivate(Sender: TObject); procedure Bu_EndeClick(Sender: TObject); procedure Bu_ClearClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private
public end;
var Form1: TForm1; Noten :TNoten; Anzahl: Integer;
implementation
{$R *.DFM}
procedure TForm1.Bu_EingabeClick(Sender: TObject); var NotenString: string; i: word; begin begin If Edi_Anzahl.Text = '' then showmessage('Bitte Eingabe tätigen') else Anzahl:= StrToInt(Edi_Anzahl.text); Noten := TNoten.Create(Anzahl); end;
for i:= 1 to Anzahl do begin if InputQuery('Noteneingabe',IntToStr(i)+'. Note:',NotenString) then begin Noten.SetNoten(i-1,StrToInt(NotenString)); Noten.BerechneSchnitt; end; end; end;
procedure TForm1.FormActivate(Sender: TObject); begin edi_Anzahl.setfocus; end;
procedure TForm1.Bu_EndeClick(Sender: TObject); begin close; end;
procedure TForm1.Bu_ClearClick(Sender: TObject); begin edi_Anzahl.clear; edi_Anzahl.setfocus; Edit_Schnitt.clear; end;
procedure TForm1.FormCreate(Sender: TObject); begin Noten:= TNoten.create(Anzahl); end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Noten.Destroy; end;
end. |
bummi - Di 18.11.08 16:07
So ganz komme ich nicht mehr mit, was war und was jetzt ist.
Aber:
Du legst die Anzahl initial fest und berechnest nach jedem hinzufügen für das ganze Array auch wenn der Rest noch leer ist??
und das hier scheint mir auch nicht das gewünschte zu sein:
function TNoten.GetSchnitt(Position:Integer):Integer;
begin
Result:=FNoten[Position];
end;
warum nicht ein create ohne Anzahl
ein Function Add(Note):Double die
SetLength(FNoten,High(FNoten) + 2);
FNoten[High(Fnoten)]:=Note;
Result :=0;
For i:= LOW(FNoten) to High(Fnoten) do Result := Result + Fnoten[i];
Result := Result / High(Fnoten) + 1;
FSchnitt := Result;
MfG
Bummi
http://www.explido-software.de
SkyX - Di 18.11.08 16:35
So nochmas die Grundfunktionen des Programmes, das ich schreiben soll!
Es geht darum das ich die Anzahl der Noten selber eingeben kann und dementsprechend öffnet sich ein Query, wo man die Noten eingibt! Mit dem letzten Ok des Querys soll der Schnitt ermittet werden und in einem Edit Fenster ausgegeben werden.
@bummi
wenn ich Anzahl wegnehme kommt ein Fehler (nicht genügend Parameter vorhanden)
Und zur Rechnung sollte ja eigentich so stimmen, habe nämich ein ähnliches Programm vorher gehabt wo man nur eine bestimmte Anzahl hatte von Noten und habe die Rechnung grad übernommen und ein bisschen abgeändert, sollte eigentich stimmen!
Hier beide Codes nochmals:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89:
| unit Unit_Noten;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Klasse_Noten;
type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Edi_Anzahl: TEdit; Edit_Schnitt: TEdit; Bu_Eingabe: TButton; Bu_Ende: TButton; Bu_Clear: TButton; procedure FormCreate(Sender: TObject); procedure Bu_EingabeClick(Sender: TObject); procedure FormActivate(Sender: TObject); procedure Bu_EndeClick(Sender: TObject); procedure Bu_ClearClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private
public end;
var Form1: TForm1; Noten :TNoten; Anzahl: Integer;
implementation
{$R *.DFM}
procedure TForm1.Bu_EingabeClick(Sender: TObject); var NotenString: string; i: word; begin begin If Edi_Anzahl.Text = '' then showmessage('Bitte Eingabe tätigen') else Anzahl:= StrToInt(Edi_Anzahl.text); Noten := TNoten.Create(Anzahl); end;
for i:= 1 to Anzahl do begin if InputQuery('Noteneingabe',IntToStr(i)+'. Note:',NotenString) then begin Noten.SetNoten(i-1,StrToInt(NotenString)); Noten.BerechneSchnitt; end; end; end;
procedure TForm1.FormActivate(Sender: TObject); begin edi_Anzahl.setfocus; end;
procedure TForm1.Bu_EndeClick(Sender: TObject); begin close; end;
procedure TForm1.Bu_ClearClick(Sender: TObject); begin edi_Anzahl.clear; edi_Anzahl.setfocus; Edit_Schnitt.clear; end;
procedure TForm1.FormCreate(Sender: TObject); begin Noten:= TNoten.create(Anzahl); end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin Noten.Destroy; end;
end. |
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46:
| interface
type TNoten = class(TObject) private FAnzahl:Integer; FSchnitt:single; FNoten: array of integer; public procedure BerechneSchnitt; function GetSchnitt(Position:integer):integer; procedure SetNoten(Position,Noten:Integer); constructor Create (Anzahl:integer); end;
implementation
constructor TNoten.Create(Anzahl:Integer); begin inherited create; FAnzahl:= Anzahl; SetLength(FNoten,FAnzahl); end;
Procedure TNoten.SetNoten(Position,Noten:Integer); begin FNoten[Position]:= Noten; end;
procedure TNoten.BerechneSchnitt; var summe,i : integer; begin summe:= 0; For i:= 0 to FAnzahl -1 do Summe := Summe + FNoten[i]; FSchnitt := Summe/FAnzahl; end;
function TNoten.GetSchnitt(Position:Integer):Integer; begin Result:=FNoten[Position]; end;
end. |
bummi - Di 18.11.08 16:55
Ich bleibe bei meiner Meinung daß BerechneSchnitt in der gegebenen Implementierung nicht passt.
10 Noten
1. Eingabe (5) >> BerechneSchnitt >> (5 + 9*0) / 10 = 0,5
2. Eingabe (3) >> BerechneSchnitt >> (5 + 3 + 8*0) / 10 = 1,6
...
...
>> zugegebenermaßen passt es nach der kompletten Eingabe aller Noten, aber "sauber" ist die Klasse so nicht
zudem ist mir immer noch nicht klar was Du hier vorhast
Delphi-Quelltext
1: 2: 3: 4:
| function TNoten.GetSchnitt(Position:Integer):Integer; begin Result:=FNoten[Position]; end; |
Du erwartest dem Namen nach den Schnitt ein Float und gibst zurück die Positionte Note.
Die Create Änderung würde so aussehen
Delphi-Quelltext
1: 2: 3: 4:
| constructor TNoten.Create; begin inherited create; end; |
Moderiert von
matze: Delphi-Tags hinzugefügt
SkyX - Di 18.11.08 17:00
Ja, da geb ich zu das passt nicht mit der Ausgabe korriegiere ich!
Nur wie kriege ich das jetzt sauber zum laufen? Will ja keine Fest gesetzte Notenanzahl haben... sondern die Anzahl der Noteneingabe selber per Arry festlegen und diese dann so berechnen, dass der Durchschnitt der Noten kommt!
EDIT:
Das mit dem constructor hat unser lehrer vorgeben!
bummi - Di 18.11.08 17:11
Wie wäere es mit einem eigenen Eingabefenster mit Edit und 2 Button
Button 1 weiter (mrok)
Button 2 fertig (mrCancel)
weiter nur enabled wenn TryStrToInt(Edit1.Text,i)
Der Aufruf:
DeinButtonKlick;
var
loop:Boolean;
begin
loop := true;
while loop do
begin
MyInputForm:=TmyInputForm.Create(self);
if MyInputForm.ModalResult=mrok then
begin
Noten.SetNoten(i-1,StrToInt(MyInputForm.Edit));
end else loop := false;
MyInputForm.Free;
end;
Edit_Schnitt.Text:=FloatToStr(Noten.GetSchnitt(1));
end;
SkyX - Di 18.11.08 17:14
Die Lösung hört sich jedenfalls besser an, als das mit dem Query!
Aber leider darf ich das Query nicht rausnehmen! Müssen wir so machen mit Query.
Auch wenns nicht die sauberste Lösung sein sollte, sollte es irgendwie mal laufen....
nur ich komm nicht drauf....
bummi - Di 18.11.08 17:27
dann bau einfach
function TNoten.GetSchnitt(Position:Integer):Integer;
begin
Result:=FNoten[Position];
end;
um in
function TNoten.GetSchnitt:Double;
begin
Result:=FSchnitt;
end;
und lass den Rest wie er ist
nach Deiner Schleife nocht ein
Edit_Schnitt.Text:=FloatToStr(Noten.GetSchnitt);
und gut ist
SkyX - Di 18.11.08 17:39
Danke klappt super, zwar nicht die sauberste Lösung, da man ständig den Schnitt sieht, aber besser als nix!
Delete - Di 18.11.08 17:39
Und wieso nicht einfach die Klasse TNoten von TList ableiten? Die Eigenschaften Anzahl und Schnitt lassen sich doch in einer Getter-Methode wunderbar berechnen.
wazup - Di 18.11.08 17:52
Mal so zwischen rein, ist es nicht gescheiter die Noten als Real bzw. Single zu deklarieren ?
Gruß
Delete - Di 18.11.08 17:56
Wieso? Noten dürften doch als ganze Zahlen zwischen 1 und 6 liegen.
wazup - Di 18.11.08 18:18
Und was ist mit den anderen Noten? 1.5, 2.9 usw...?
Delete - Di 18.11.08 18:18
Kenne ich nicht, aber meine Schulzeit ist auch ein bisschen her.
wazup - Di 18.11.08 18:50
bei mir ist es so (9 KL Hauptschule Baden-Württemberg)
Arbeiten, Test, Lernzielkontrolle: 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.......5.5, 5.6, 5.7, 5.8, 5.9, 6
Halbjahres Zeugnis: 1.5, 2.5, 3.5, 4.5, 5.5, 6
Zeugnis am Jahres ende: 1, 1-2, 2, 2-3......5, 5 - 6
Delete - Di 18.11.08 18:51
Ja gut, wenn das so ist, bietet sich ein reeller Datentyp eher an.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!