Thema: Delphi Vokale Zählen

Einzelnen Beitrag anzeigen

Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#54

Re: Vokale Zählen

  Alt 18. Jun 2006, 22:34
welche funktionen hattest du denn davon nicht? ist doch alles standard?!
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  vokal, KonstNum, sonderzeichen: Integer;
  Satz: String;
begin
  vokal := 0;
  KonstNum := 0;
  sonderzeichen := 0;

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

  // jedes Zeichen des Satzes prüfen:
  for i:=1 to length(satz) do
    // prüfen ob wir einen Buchstaben haben:
    if (satz[i] in ['a'..'z']) then
    begin
      // unterscheiden zwischen vokalen und Konsonanten
      if (satz[i] in ['a', 'e', 'i', 'u', 'o']) then
        inc(vokal)
      else
        inc(KonstNum);
    end else
      inc(sonderzeichen);

  LblVokNum.Caption := IntToStr(vokal);
  LblKonstNum.Caption := IntToStr(KonstNum);
  LblSonderzeichen.Caption := IntToStr(sonderzeichen);
end;
wenn du das AnsiLowerCase nicht hattest, dann musst du nur die Großbuchstaben bei deinen Abfragen berücksichtigen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  vokal, KonstNum, sonderzeichen: Integer;
  Satz: String;
begin
  vokal := 0;
  KonstNum := 0;
  sonderzeichen := 0;

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

  // jedes Zeichen des Satzes prüfen:
  for i:=1 to length(satz) do
    // prüfen ob wir einen Buchstaben haben:
    if (satz[i] in ['a'..'z']) or (satz[i] in ['A'..'Z']) then
    begin
      // unterscheiden zwischen vokalen und Konsonanten
      if (satz[i] in ['a', 'e', 'i', 'u', 'o', 'A', 'E', 'I', 'U', 'O']) then
        inc(vokal)
      else
        inc(KonstNum);
    end else
      inc(sonderzeichen);

  LblVokNum.Caption := IntToStr(vokal);
  LblKonstNum.Caption := IntToStr(KonstNum);
  LblSonderzeichen.Caption := IntToStr(sonderzeichen);
end;
  Mit Zitat antworten Zitat