unit Rechnen3;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Panel1: TPanel;
    Panel2: TPanel;
    Edit1: TEdit;
    procedure Label3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Zahl1, Zahl2, Op, Ergebnis, Eingabe: Real;

implementation

{$R *.DFM}

procedure TForm1.Label3Click(Sender: TObject);
begin
  randomize;
  Zahl1 := random (100);
  Zahl2 := random (100);
  Label1.Caption := FloatToStr(Zahl1);
  Label2.Caption := FloatToStr(Zahl2);
  Label3.Caption := 'Und jetzt rechne!';
  Op := random (4);
  if Op = 0 then
  begin
    Ergebnis := Zahl1 + Zahl2;
    Panel1.Caption := '+';
  end;
  if Op = 1 then
  begin
    Ergebnis := Zahl1 - Zahl2;
    Panel1.Caption := '-';
  end;
  if Op = 2 then
  begin
    Ergebnis := Zahl1 * Zahl2;
    Panel1.Caption := '*';
  end;
  if Op = 3 then
  begin
    Ergebnis := Zahl1 / Zahl2;
    Panel1.Caption := '/';
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  try
    Eingabe := StrToFloat(Edit1.Text);
    if Ergebnis = Eingabe then
      Label3.Caption := 'Richtig!';
    if Ergebnis <> Eingabe then
      Label3.Caption := 'Falsch! ' + FloatToStr(Ergebnis);
  except
    Label3.Caption := 'Quatsch!';
  end;
end;

end.
