Forum: Algorithmen, Datenstrukturen und Klassendesign
by Jasocul,
1. Jun 2021
Du wolltest doch testen, ob bei einer falschen Eingabe deine Fehlermeldung erzeugt/provoziert wird. Dann nimm einfach einen(!) Buchstaben, der unzulässig ist. Warum das in deinem Programm mit mehreren Buchstaben nicht funktioniert, habe ich bereits erklärt.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Jasocul,
31. Mai 2021
Deine Variable menueeingabe ist vom Typ char. Da passt nur ein Zeichen rein. Das Readln wird deshalb nur das erste Zeichen darin speichern können. Alles was danach kommt, wird verworfen. Wenn du deinen Fehler provozieren willst, musst du zum Beispiel "f" eingeben.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Jasocul,
28. Mai 2021
Ganz ehrlich: Nein.
Du hast in den anderen Programmteilen bereits entsprechende Case-Strukturen drin. Der Umbau ist trivial. Du kannst dann sogar das "or OPFound" weglassen.
CharInSet prüft nur, ob dein aktuelles Zeichen aus dem Satz in der Menge der Operatorzeichen enthalten ist. Wenn du für jedes Operatorzeichen einen Case-Fall erstellst, bist du im Prinzip schon fertig.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Jasocul,
28. Mai 2021
if length(satz) > 0 then
begin
OPFound := False; // Boolean-Variable noch deklarieren
Laenge := 0; // Integer-Variable noch deklarieren
for laufvariable := length(satz) downto 1 do
begin
inc(Laenge);
OPFound := CharInSet(satz, ) or OPFound;
if satz = ' ' then // Vergleich auf Leerzeichen
begin