Thema: Delphi Vokale Zählen

Einzelnen Beitrag anzeigen

Noobinator

Registriert seit: 9. Mai 2006
147 Beiträge
 
Delphi 7 Personal
 
#30

Re: Vokale Zählen

  Alt 18. Jun 2006, 12:37
Delphi-Quellcode:
....
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  vokal, KonstNum: Integer;
  Satz: String;
begin
  vokal := 0;
  KonstNum := 0;

  // Groß-/Kleinschreibung ignorieren
  Satz := AnsiLowerCase(EdtSatz.Text);

  vokal :=0;
  KonstNum :=0;
  for i:=1 to length(satz) do
    if (satz[i] in ['a', 'e', 'i', 'u', 'o']) then
      inc(vokal)
    else
      inc(KonstNum);


  LblVokNum.Caption := IntToStr(vokal);
  LblKonstNum.Caption := IntToStr(KonstNum);
end;

....
durchlaufen wir mal den Satz: " Hallo du! " mit dem code:

dann erkennt er 3 x Vokal: a o u
aber er erkennt 6x Konsonat: H L L Leerzeichen D !

der fehler ist Hier:
Delphi-Quellcode:
if (satz[i] in ['a', 'e', 'i', 'u', 'o']) then
      inc(vokal)
    else
      inc(KonstNum);
jedes Zeichen was kein Vokal ist, ist ein Konsonant.

das müsste so aussehen:
Delphi-Quellcode:
if (satz[i] in ['a', 'e', 'i', 'u', 'o']) then
      inc(vokal)
    else
if satz[i] in ['a'..'z'] then
      inc(KonstNum);
  Mit Zitat antworten Zitat