![]() |
Re: Testauswertungsprogramm - Variablen umändern
Entweder benutzt Du einen try-except-Block oder Du liest die Eingaben zunächst in Stringvariablen ein und versuchst diese dann mit Val() in Zahlen zu konvertieren. In Verbindung mit einer Schleife könntest Du die Eingabe solange wiederholen lassen, bis es eine Zahl ist.
|
Re: Testauswertungsprogramm - Variablen umändern
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo, auch wenn ich die Fehleingaben nicht überprüfen will, funktioniert es so nicht:
Delphi-Quellcode:
Alles schön u. gut
program testauswertung
uses crt; var startwert, endwert, nr, summe, punkte:integer; begin clrscr; summe:=0; writeln('Bitte Startwert eingeben!!!'); readln(startwert); writeln('Bitte Endwert eingeben!!!'); readln(endwert); FOR nr:=startwert TO endwert DO begin writeln('Aufgabe: ',nr); readln(punkte); summe:=summe+punkte; end; Zuerst fragt er mich nach startwert, liest ihn ein z.B:4 dann fragt er mich nach meinem endwert, liest ihn ein z.B:12 Dann gibt er aus: Aufgabe: 4 er gibt immer den Startwert aus. Wenn ich dann die Eingabetaste drücke, um das Programm zu beenden, komm ich dann nur immer eine Zeile weiter runter, doch nicht zur Programmierung. Dann muss ich Pascal immer schliessen. Hat jemand eine idee wie das Programm richtig laufen könnte, ohne eine Abfrage von Fehleingaben :?: Danke, Martin |
Re: Testauswertungsprogramm - Variablen umändern
Bei mir (D 2007) funktioniert das so. Was passiert denn, wenn Du aus der for- eine while-Schleife machst?
|
Re: Testauswertungsprogramm - Variablen umändern
Zitat:
Da du readln() aber nicht gibst was es verlangt bist du gefangen.
Delphi-Quellcode:
var ....
zeile : String; FOR nr:=startwert TO endwert DO begin writeln('Aufgabe: ',nr); readln(zeile); // als String einlesen zeile := Trim(zeile); // Leerzeichen raus if zeile = '' then break; // Abbruch, falls Benutzer keine Lust mehr hat punkte := StrToInt(zeile); summe:=summe+punkte; end; |
Re: Testauswertungsprogramm - Variablen umändern
Hallo, mein FreePascal sagt mir im debug mode, dass er StrTOInt und Trim nicht findet.
Könnte es eventuell sein, dass es StrToInt und Trim nur in Delphi gibt, obwohl Pascal ja praktisch das gleiche ist. :?: Gruß, Martin |
Re: Testauswertungsprogramm - Variablen umändern
Du musst nur die entsprechenden Units einbinden (SysUtils?).
|
Re: Testauswertungsprogramm - Variablen umändern
Ja, mit sysutils kennt er trim und strtoint an
8) , 0 errors ist schon mal gut, :chat: Jetzt kann ich es dann auch mit der Eingabetaste beenden :P Beim Ausführen: Bitte geben sie Startwert ein z.B. 2 Bitte geben sie jez endwwert ein z.B. 5 Aufgabe: 2 <<<<<<<<< da kommt IMMER der Startwert Gesamtpunktezahl: 0 <<<<<<<< ist IMMER 0 SO läuft das ab, es lässt sich dann auch wunderbar beenden :thumb: OK, es ist richtig programmiert nur: erfüllt es das :?: Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz