Hallo zusammen.
Ich habe für die Schule ein Programm zu schreiben das die Anzahl der Ziffern eines Strings angibt. Es funktionniert auch soweit, jedoch schlägt es fehl wenn der Benutzer nichts eingibt, sprich gleich Enter drückt anstelle einen String einzugeben, obwohl das Programm dann 0 als Antwort geben sollte.
Wäre sehr nett wenn mir wer meinen Fehler aufzeigen könnte.
Grüße
diavy
Code:
program ex53;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
a:string;
function countthenumbers(a:string):integer;
var
x,i:integer;
begin
x:=0;
i:=1;
while a[i]<>'' do
begin
if ((a[i]='0') or (a[i]='1') or (a[i]='2') or (a[i]='3') or (a[i]='4') or (a[i]='5') or (a[i]='6') or (a[i]='7') or (a[i]='8') or (a[i]='9')) then x:=x+1;
i:=i+1;
end;
result:=x;
end;
begin
{ TODO -oUser -cConsole Main : Insert code here }
writeln('Please enter a string:');
readln(a);
writeln('The amount of numbers in your string is:',countthenumbers(a));
readln;
end.