Problem bei Berechnungsprogramm

DJ1410

Grünschnabel
Hallo,
erst einmal, ich bin ein Anfänger auf diesem Gebiet.


Mein Informatik Lehrer hat und letzte Stunde folgende Aufgabe gegeben:

Ein Programmierer verdient pro Stunde 42,95 Euro. Die wöchentliche Arbeitszeit liegt bei 38 Stunden. Für Überstunden werden 52,00 Euro bezahlt. Es sind jedoch nicht mehr als 16 Überstunden in der Woche erlaubt. Erstelle ein Programm, welches den Wochenlohn des Programmierers bestimmt.


Das Programm sieht jetzt bei mir so aus:

Code:
program Project1;

{$mode objfpc}{$H+}

uses
  Classes, SysUtils
  { add your units here },crt;
  VAR h,eh,hges : integer;
  VAR lohn,extra,lohnges,lohngese,lohngesex : extended;
begin
clrscr;
lohn:=42.95;
extra:=52;
write('Bitte geben Sie die Anzahl ihrer Arbeitsstunden ein.    ');readln(hges);
IF (hges<=54)
THEN BEGIN
IF (hges<=38)
THEN BEGIN
lohnges:=hges*lohn;
writeln;
writeln('Ihr Wochenlohn betraegt ',lohnges,' Euro!');
END
ELSE BEGIN
eh:=hges-38;
lohnges:=hges*lohn;
lohngese:=eh*extra;
lohngesex:=lohnges+lohngese;
writeln;
writeln('Ihr Wochenlohn betraegt ',lohngesex,' Euro!');
END;
END
ELSE BEGIN
writeln;
writeln('Sie koennen maximal 54 Arbeitsstunden haben!');
END;
readkey;
end.

Es funktioniert auch soweit, aber wenn ich z.B. 42 eingebe, kommt folgender Antwortsatz:
"Ihr Wochenlohn beträgt 2.0119000000000000E+0003 Euro!"
Wie kommt es zu dieser Zahl und warum steht dort nicht der eigentliche Wochenlohn?

Danke im Vorraus
DJ1410
 

Neue Beiträge

Zurück