Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#9

Re: erstellen einer funktion getinteger

  Alt 1. Dez 2003, 21:25
Oh, Das (val) kannte ich noch nicht, daher dachte ich es gehört mit zu Aufgabe.
(man lernt halt immer mal was neues dazu)

Dafür bin ich mal, zumindestens bei dieser Aufgabe, nett.

1:
Zitat von Dein Lehrer / Deine Lehrerin:
Aufgabe: eine Funktion GetInteger(p:string), ...
Code:
[color=red][b]Function[/b] GetInteger(P: [b]String[/b])[/color]: Integer;
2:
Zitat von Dein Lehrer / Deine Lehrerin:
... welche den Parameter p per writeln ausgibt. ...
Code:
[color=red]WriteLn(P);[/color]
3:
Zitat von Dein Lehrer / Deine Lehrerin:
... per readln einen string einliest, ...
Code:
[color=red]ReadLn(S)[/color];
4:
Zitat von Dein Lehrer / Deine Lehrerin:
... dies solange tut , bis ein gültiger integer eingegeben wurde ...
Code:
[color=red][b]Repeat[/b][/color]
  ...
[color=red][b]Until[/b] C = 0[/color];
5:
Zitat von Dein Lehrer / Deine Lehrerin:
... und den als result zurückliefert. ...
Code:
[color=red][b]Function[/b][/color] GetInteger(P: [b]String[/b])[color=red]: Integer[/color];
Code:
[color=red]Result := I;[/color]
6:
Zitat von Dein Lehrer / Deine Lehrerin:
... Im Fehlerfall wird dem User die Fehlerposition mitgelteilt ...
Code:
[b]If[/b] [color=red]C <> 0[/color] [b]Then[/b] [color=red]WriteLn('Fehler auf Position ' + IntToStr(C));[/color]
7:
Zitat von Dein Lehrer / Deine Lehrerin:
... und erneut zur Eingabe aufgefordert.
Code:
[color=darkred][b]Repeat[/b][/color]
  [color=red]WriteLn(P);[/color]
  [color=red]ReadLn(S);[/color]
  ...
[color=darkred][b]Until[/b] C = 0;[/color]
Ergebnis:
Delphi-Quellcode:
Function GetInteger(P: String): Integer;
  Var S: String;
    C, I: Integer;

  Begin
    Repeat
      WriteLn(P);
      ReadLn(S);
      Val(S, I, C);
      If C <> 0 Then WriteLn('Fehler auf Position ' + IntToStr(C));
    Until C = 0;
    Result := I;
  End;

http://www.FrankNStein.de/Smiley-Kuss.gif * * http://www.FrankNStein.de/Smiley-Spinne.gif * * * http://www.FrankNStein.de/Smiley-Winken.gif
$2B or not $2B
  Mit Zitat antworten Zitat