Einzelnen Beitrag anzeigen

hotkey

Registriert seit: 20. Aug 2011
Ort: Berlin
113 Beiträge
 
Delphi 6 Personal
 
#1

Taschenrechner,Reference-Value

  Alt 29. Nov 2011, 14:38
Hallo , als Übung habe ich mal einen noch unvollständigen Taschenrechner programmiert; hier mal der Code :

Code:
program p1;
        {$AppType Console}

var additionsb,subtraktionsb,multib,divb:string;
zahl1:integer; zahl2:integer;

function addition (x:integer ; y:integer):integer;
 var ergebnis:integer;zahl1:integer; zahl2:integer;
 begin
  ergebnis:=zahl1+zahl2;
  result:=ergebnis;
  writeln('Das Ergebnis lautet:');
  write(ergebnis);
  readln;
  end;


  begin
   writeln('Wollen Sie addieren,subtrahieren,multiplizieren oder dividieren?: ');
   readln(additionsb,subtraktionsb,multib,divb);

   if (additionsb='addieren') then
   begin
   writeln('Geben Sie die erste Zahl ein: ');
   readln(zahl1);
   writeln('Geben Sie die zweite Zahl ein: ');
   readln(zahl2);
   addition(zahl1,zahl2);
   end;
   end.
Und jetzt mal eine Frage ; im Funktionskopf habe ich die Parameter drin , die als Integer deklariert worden sind.

Sobald ich aber jetzt noch var hinzufüge ( also call by reference) , und z.B 6 und 8 als Zahl1 und Zahl2 eingebe , kommt ein riesengroßer Wert raus.
Da bei der Reference-Technik der Inhalt übergeben wird und keine lokale Kopie , verstehe ich nicht , warum man nicht die 14 als Ergebnis rauskriegt.
Bitte um einen Tipp.
Danke.
Felix

Geändert von hotkey (29. Nov 2011 um 14:41 Uhr)
  Mit Zitat antworten Zitat