![]() |
Testauswertungsprogramm - Variablen umändern
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo :zwinker: , so schaut das Testauswertungsprogramm zu Beginn aus.
Delphi-Quellcode:
program testauswertung
uses crt; var nr, summe, punkte:integer; begin clrscr; summe:=0; FOR nr:=1 TO 4 DO begin writeln('Aufgabe: ',nr); readln(punkte); summe:=summe+punkte; end; writeln('Gesamtpunktezahl: ',summe); readln; end. Jetzt will ich das ürsprüngliche Programm insofern umbauen, so dass der Start- u. Endwert der zu summierenden Aufgaben frei wählbar ist. Ich habe überlegt, dass man dazu zwei neue Variablen braucht, nämlich startwert und endwert Die muss man dann oben bei der Variablendeklaration einfügen. Und dann muss man es auch da einbauen: FOR nr:=startwert TO endwert DO, Ich glaube aber, bei summe:=0 muss ich auch noch etwas umändern, oder :?: ..... Dann würde das ganze ja folgendermaßen aussehen:
Delphi-Quellcode:
program testauswertung uses crt; var startwert, endwert, nr, summe, punkte:integer; begin clrscr; summe:=0; FOR nr:=startwert TO endwert DO begin writeln('Aufgabe: ',nr); readln(punkte); summe:=summe+punkte; end; Alles kein Problem, es geht zum Ausführen, doch beim Ausführen steht dann: Aufgabe: 0 dann muss man eine zahl eingeben, z.b. 34 Gesamtpunktezahl: 34 Könnt ihr mir hier weiterhelfen :?: Danke, Martin |
Re: Testauswertungsprogramm - Variablen umändern
Du weist startwert und endwert ja nirgends zu, also haben beide vermutlich den Wert 0 und damit läuft die Schleife genau dieses eine Mal...
|
Re: Testauswertungsprogramm - Variablen umändern
Du musst Start- und Endwert ja erst einmal einlesen (und auf Gültigkeit prüfen), das geht mit readln.
|
Re: Testauswertungsprogramm - Variablen umändern
Danke, an das habe ich auch schon gedacht
soll ich start und endwert direkt nach summe:=0 zuweisen? z.B. summe:=0 startwert:=??? endwert:=??? Nur wie soll ich start bzw. endwert zuweisen, wenn sie ja frei wählbar sein sollten :?: Danke, martin edit: summe:=0 startwert:=???; readln(startwert); endwert:=???; readln(endwert); .... meinste so :?: |
Re: Testauswertungsprogramm - Variablen umändern
Die Zuweisung kannst Du Dir sparen, da Du die Werte ja mit readln vom Benutzer abfragst.
|
Re: Testauswertungsprogramm - Variablen umändern
Kann ReadLn direkt die Integerwerte lesen? Oder sind das nicht eher Strings, die noch umgewandelt werden müssen? (Lange nicht mehr die Konsolenbefehle benutzt... :oops: )
|
Re: Testauswertungsprogramm - Variablen umändern
Jepp, kann es.
Delphi-Quellcode:
[edit] Einrückung korrigiert [edit]
program Project1;
{$APPTYPE CONSOLE} uses SysUtils; var Zahl: integer; begin try { TODO -oEntwickler -cKonsole Main : Hier Code einfügen } write('Zahl: '); readln(Zahl); writeln('Zahl war ',Zahl); except on E:Exception do Writeln(E.Classname, ': ', E.Message); end; readln; end. |
Re: Testauswertungsprogramm - Variablen umändern
Also, ihr meint folgendermaßen sollte es ausschauen:
Delphi-Quellcode:
Muss man denn sonst noch etwas umändern :?:
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; writeln('Gesamtpunktezahl: ',summe); readln; end. Danke, Martin |
Re: Testauswertungsprogramm - Variablen umändern
Prinzipiell ist das schon richtig so, aber Du solltest div. Fehleingaben noch abfangen:
- eine der Eingaben ist keine Zahl - Startwert ist nicht kleiner oder gleich Endwert Damit sollte das recht sicher sein. |
Re: Testauswertungsprogramm - Variablen umändern
Zitat:
Danke, Martin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:57 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