Re: Vokale Zählen
So sollte es korrekt aussehen?
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; EdtSatz: TEdit; LblVokNum: TLabel; LblKonstNum: TLabel; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} 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 if satz[i] in ['a'..'z'] then inc(KonstNum); LblVokNum.Caption := IntToStr(vokal); LblKonstNum.Caption := IntToStr(KonstNum); end; end. |
Re: Vokale Zählen
Ja, aber warum probierst du es nicht einfach aus?
|
Re: Vokale Zählen
:thumb:
ich hatte weiter oben n och ne möglichkeit genannt um die satzzeichen zu zählen, dann wird dein ergebnis der konsonanten auch nicht durch enthaltene sonderzeichen verfälscht. |
Re: Vokale Zählen
Ich wollte zuerst mal Eure Meinungen dazu lesen wenn es geht.Ich bin ja am austesten und bisher scheint es auch zu funzen
|
Re: Vokale Zählen
computer-glossar.de wo kann ich das am besten dazufügen deiner meinung nach?
|
Re: Vokale Zählen
guck dir mal das posting nummer #31 an, dürfte das erste auf der dritten seite sein.
ich hoffe du versuchst auch nachzuvollziehen und kopierst hier nicht nur den code? |
Re: Vokale Zählen
Danke computer-glossar.de. Was bringt es mir einfach nur den Code zu Kopieren wenn ich es dann morgen nicht erklären kann wie ich dahin komme. Nein,ehrlich ich muss mich da schon mit dem ganzen Thema auseinandersetzen..Danke für die hilfe hier,ich denk nun komm ich bestimmt besser klar.
|
Re: Vokale Zählen
Was mach ich nur falsch? kann keiner helfen bitte?
Delphi-Quellcode:
unit zaehlen;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) zaehlen: TButton; eingabe: TEdit; vokalelabel: TLabel; konsonantenlabel: TLabel; ausgabevokale: TEdit; ausgabekonsonanten: TEdit; schliessen: TButton; procedure zaehlenClick(Sender: TObject); procedure eingabeChange(Sender: TObject); procedure schliessenClick(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation var i:integer; satz:string; vokal:integer; konsonant:integer; {$R *.dfm} procedure TForm1.schliessenClick(Sender: TObject); begin close; end; procedure TForm1.eingabeChange(Sender: TObject); begin satz:=eingabe.text end; procedure TForm1.zaehlenClick(Sender: TObject); begin vokal:=0; konsonant:=0; for i:=1 to length(satz) do if (satz[i]='a') or (satz[i]='e') or (satz[i]='i') or (satz[i]='u') or (satz[i]='o') then vokal:=1 else konsonant:=1; end; end. |
Re: Vokale Zählen
:wall:
Das hatten wir schon mal. vokal:=1; Wenn ein Buchstabe ein Vokal ist, weißt du der Variable vokal eine 1 zu. Hat zur Folge: Wenn im Satz ein Vokal ist, kriegst du am Ende IMMER eine 1 raus, ansonsten 0. Du musst schreiben vokal:=vokal+1; oder inc(vokal); Das gleiche gilt bei den Konsonanten. |
Re: Vokale Zählen
Man könnte den Eindruck bekommen, du hast all die vielen Beiträge nicht gelesen.
Zitat:
|
Re: Vokale Zählen
*räusper*
wir hatten dir doch schon genügend fertige beispiele gepostet.
Delphi-Quellcode:
--> dies ist überflüssig, da du ja den satz nur in deiner procedure TForm1.zaehlenClick(Sender: TObject); benötigst.
procedure TForm1.eingabeChange(Sender: TObject);
begin satz:=eingabe.text end; auch lässt du dir norgendwo ein ergebnis anzeigen, was du doch vorhin schon drin hattest? es gibt auch due möglichkeit schrittweise durch das programm zu steppen (debugging genannt), setze dazu einen breakpoint (durch drücken von F5) in der Zeile "begin" der procedure:
Delphi-Quellcode:
danach kannst du mit F8 Zeilenweise durch da sProgramm steppen und dir die Inhalte der Variablen anzeigen lassen.
procedure TForm1.zaehlenClick(Sender: TObject);
begin vokal:=0; konsonant:=0; for i:=1 to length(satz) do if (satz[i]='a') or (satz[i]='e') or (satz[i]='i') or (satz[i]='u') or (satz[i]='o') then vokal:=1 else konsonant:=1; end; |
Re: Vokale Zählen
sorry ich sitze schon den ganzen tag da dran.die ideen waren bisher auch gut zu verwenden nur einige funktionen hatte ich davon noch nicht in der schule und kann die deshalb nicht anwenden und hab versucht die so hinzubekommen das es mit den funktionen klappt die ich kenne.
|
Re: Vokale Zählen
Du kannst natürlich auch
Delphi-Quellcode:
bzw.
vokal := vokal +1;
Delphi-Quellcode:
schreiben.
konsonant := konsonant + 1;
|
Re: Vokale Zählen
welche funktionen hattest du denn davon nicht? ist doch alles standard?!
Delphi-Quellcode:
wenn du das AnsiLowerCase nicht hattest, dann musst du nur die Großbuchstaben bei deinen Abfragen berücksichtigen:
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;
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; |
Re: Vokale Zählen
Ich schätze mal, Sets wird er auch noch nicht gehabt haben.
EDIT: Und wenn du ne Funktion noch nicht hattest, sag deinem Lehrer, dass du in die OH geschaut hast. |
Re: Vokale Zählen
wenn erkeine sets hatte, dann muss er ja nur seine if-prüfungen erweitern um die Großbuchstaben.....
|
Re: Vokale Zählen
Das kann ein Problem geben bei den Konsonanten. 42 and's in nem if, uuuh...
|
Re: Vokale Zählen
wenn der lehrer das so will, kenne da auch so einige exemplare...
die kennen nur bestimmte funktionen und techniken und was anderes wird nicht erlaubt - voll schwachsinnig |
Re: Vokale Zählen
Man kann ja auch ein case mit den ASCII-Codes nehmen.
|
Re: Vokale Zählen
Ich glaube, dass er auch das noch nicht hatte.
|
Re: Vokale Zählen
userF, kennst du den Case-Befehl?
|
Re: Vokale Zählen
Zitat:
Gruß Hawkeye //Edit: ANDs, nicht IFs... |
Re: Vokale Zählen
Wenn... :roll:
Nach einer genauen Analyse bin ich zu dem Schluss gekommen, dass er das wahrscheinlich nicht tun wird. |
Re: Vokale Zählen
Zitat:
|
Re: Vokale Zählen
Delphi-Quellcode:
Aber wenn Manuel Recht behält...
else if (satz[i] >= 'A') and (satz[i] <= 'Z') then
Gruß Hawkeye |
Re: Vokale Zählen
und jetzt werden auch leerzeichen als konsonant gezählt schau dir doch das was oben steht an...
//Edit :oops: war auf der ersten site und hab die 2. ignoriert schande über mich |
Re: Vokale Zählen
hallo,ich bin anfänger leute und ich kenn gerade mal etwas die grundfunktionen. verlangt nicht das ich perfekt bin.ich bin nur der neueinsteiger mehr nicht.und ehrlich ich bin für jede hilfe dankbar.
|
Re: Vokale Zählen
Das tun wir ja gar nicht, aber wir haben fast schon fertige Lösungen gepostet und mehrfach erklärt, und du machst die gleichen Fehler öfters.
|
Re: Vokale Zählen
Sorry ich mach diese Fehler ja nur weil ich es auch verstehen möchte was ich da mache und nicht einfach nur Eure lösungsvorschläge Kopieren möchte.Ich muss das für mich eben immer wieder auseinander nehmen und zusammen setzen bis ich begriffen habe um was es geht. sorry das ich mich so dabei anstelle.ich will es doch nur verstehen. Ich musste übrigens die Vorstellung von dem Programm heute in der Schule verschieben weil ich gestern noch bis 2 uhr daran gesessen hatte und das irgendwie kaputt programiert habe. Morgen ist neuer vorstellungstermin dann aber endgültig.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz