Thema: Delphi Taschenrechner Ausgabe

Einzelnen Beitrag anzeigen

safak67

Registriert seit: 22. Mär 2009
87 Beiträge
 
#50

Re: Taschenrechner Ausgabe

  Alt 5. Jun 2009, 14:17
ich habe da immer noch ein rechenfehler drin.. wenn ich 2-2*2-2 gibt er mir 0 aus was ja falsch ist.. weiß einer warum.?
bei der eingabe 3-3*3-3 gibt er mir -3 aus anstatt -9, der vertauscht das zweite minus in plus um oder so ähnlich

der aktuelle quelltext was ich habe:
Delphi-Quellcode:
function TFormTR.BerechneTerm(Formular: string): Double;
var
  Seg1,Seg2 : double;
  index, ipos : integer;
  Op : string;
  OpFound : Boolean;
begin
  OpFound := False;
  for index := 0 to 3 do begin
    case index of
      0: Op := 'x';
      1: Op := '/';
      2: Op := '+';
      3: Op := '-';
    end;
    ipos:= pos(Op,Formular);
    if ipos > 1 then
    begin
      OpFound := True;
      Seg1 := BerechneTerm(copy(Formular,1,ipos - 1));
      Seg2 := BerechneTerm(copy(Formular,ipos + 1,length(Formular)));
      case index of
         0: Result := Seg1 + Seg2;
         1: Result := Seg1 - Seg2;
         2: Result := Seg1 * Seg2;
         3: Result := Seg1 / Seg2;
      end;
      break;

    end;
  end;

  if Not OpFound then Result := StrToFloat(Formular);
end;