Thema: Delphi Tarifrechner

Einzelnen Beitrag anzeigen

xsus

Registriert seit: 30. Okt 2011
7 Beiträge
 
Delphi 7 Personal
 
#1

Tarifrechner

  Alt 30. Okt 2011, 19:51
Delphi-Version: 7
Hey, ich bin total neu hier und Anfänger beim Programmieren..also nicht böse sein^^

Mein Problem sieht wiefolgt aus:
Ich möchte einen Tarifrechner erstellen, der bei eingabe des Gewichtes ausrechnet, wie teuer der Versand wird.
Es sollen ausschließlich Pakete bis 100 Kilo transportiert werden.
Das Gewicht wird grammgenau gemessen, die sich ergebende Gebühr aber auf zwei Dezimalen gerundet.
3 Tarife sind verfügbar:
  1. Tarif - bis 10 kg - Grundgebühr 6 € - Zusatzgebühr 0,6 € pro kg
  2. Tarif - über 10 bis 20 kg - GG 12 € - ZG 0,3 € pro kg
  3. Tarif - über 20 kg - GG 18 € - 0,2 € pro kg

Mein bisheriger Quellcode sieht wiefolgt aus:
Delphi-Quellcode:
program tarife;
{$APPTYPE CONSOLE}
uses sysutils;

procedure info;
begin
  writeln('Dies Programm berechnet automatisch die Beförderungssgebühr,');
  writeln('wenn Sie das Paketgewicht eingeben .');
  writeln;
  writeln
end;

procedure eingabe(var gewicht:real);
begin
  write('Paketgewicht in kg : ');
  readln(gewicht);
  writeln;
  writeln
end;

function tarif(gewicht:real):byte;
begin
{HIER FEHLT WAS !}
end;

procedure berechnung(gewicht:real;var gebuehr:real);
var t:byte;
begin
  t:=tarif(gewicht);
  gebuehr:=6*t+gewicht*(0.6/t)
end;

procedure ausgabe1(gebuehr:real);
begin
  writeln('Die Gebühr beträgt ',gebuehr:5:2,' €.')
end;

procedure ausgabe2(gewicht:real);
var uebergewicht:real;
begin
  uebergewicht:=gewicht-100;
  writeln('Das Paket ist ',uebergewicht:8:3,' kg zu schwer und wird nicht befördert.')
end;

procedure ablauf;
var gw,gb:real;
begin
  info;
  eingabe(gw);
  if tarif(gw)<>0 then
  begin
    berechnung(gw,gb);
    ausgabe1(gb)
  end
  else
    ausgabe2(gw);
  readln
end;

begin
  ablauf
end.
Ich komme nicht weiter, bei der vorhandenen Lücke...es wäre SUPER, wenn mir jmd. helfen könnte (und das evtl. sogar noch ein bisschen erklärt) ...bitte..
Liebe Grüße und Vielen Dank
  Mit Zitat antworten Zitat