unit Notenu;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    MRohEin: TEdit;
    ERohEin: TEdit;
    ProzentAus: TEdit;
    PunkteAus: TEdit;
    NoteAus: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Berechne: TButton;
    procedure BerechneClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.BerechneClick(Sender: TObject);
var mrohpkt, erohpkt : real;
    prozent : integer;
    urteil, note : string;
begin
    mrohpkt := strtofloat(MRohEin.text);
    erohpkt := strtofloat(ERohEin.text);
    note := '-1';
    if not( mrohpkt<>0) then MRohEin.Text :='Wert <>0 eingeben!';
    prozent := trunc(erohpkt/mrohpkt*100);
    ProzentAus.Text := inttostr(prozent);
    case prozent of
    97..100 : begin note := '15'; urteil :='sehr gut(+)'; end;
    93..96  : begin note := '14'; urteil :='sehr gut'; end;
    90..92  : begin note := '13'; urteil :='sehr gut(-)'; end;
    85..89  : begin note := '12'; urteil :='gut(+)'; end;
    80..84  : begin note := '11'; urteil :='gut'; end;
    75..79  : begin note := '10'; urteil :='gut(-)'; end;
    70..74  : begin note := '09'; urteil :='befriedigend(+)'; end;
    65..69  : begin note := '08'; urteil :='befriedigend'; end;
    60..64  : begin note := '07'; urteil :='befriedigend(-)'; end;
    55..59  : begin note := '06'; urteil :='ausreichend(+)'; end;
    50..54  : begin note := '05'; urteil :='ausreichend'; end;
    45..49  : begin note := '04'; urteil :='ausreichend(-)'; end;
    38..44  : begin note := '03'; urteil :='mangelhaft(+)'; end;
    32..37  : begin note := '02'; urteil :='mangelhaft'; end;
    25..31  : begin note := '01'; urteil :='mangelhaft(-)'; end;
    00..24  : begin note := '00'; urteil :='ungnügend'; end;
    end;
    if prozent < 45 then
      begin
        PunkteAus.color := clRed ;
        NoteAus.color := clRed;
      end
    else
      begin
        PunkteAus.color := clWindow ;
        NoteAus.color := clWindow;
      end;
    PunkteAus.text := note;
    NoteAus.text := urteil;
  end;

end.
