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