Einzelnen Beitrag anzeigen

diavy

Registriert seit: 11. Apr 2012
54 Beiträge
 
#1

Problem mit einem "leeren" String

  Alt 2. Mai 2012, 16:06
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.
  Mit Zitat antworten Zitat