AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen FreePascal Testauswertungsprogramm - Variablen umändern
Thema durchsuchen
Ansicht
Themen-Optionen

Testauswertungsprogramm - Variablen umändern

Ein Thema von FreePascal · begonnen am 12. Jun 2009 · letzter Beitrag vom 12. Jun 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#11

Re: Testauswertungsprogramm - Variablen umändern

  Alt 12. Jun 2009, 12:59
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
FreePascal

Registriert seit: 31. Mai 2009
39 Beiträge
 
#12

Re: Testauswertungsprogramm - Variablen umändern

  Alt 12. Jun 2009, 13:26
Hallo, auch wenn ich die Fehleingaben nicht überprüfen will, funktioniert es so nicht:
Delphi-Quellcode:
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;
Alles schön u. gut
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
Angehängte Dateien
Dateityp: pas testauswertungsprogrammzwei_144.pas (541 Bytes, 0x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#13

Re: Testauswertungsprogramm - Variablen umändern

  Alt 12. Jun 2009, 13:32
Bei mir (D 2007) funktioniert das so. Was passiert denn, wenn Du aus der for- eine while-Schleife machst?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#14

Re: Testauswertungsprogramm - Variablen umändern

  Alt 12. Jun 2009, 13:40
Zitat von FreePascal:
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.
Das Problem wird wohl sein, dass readln eine Integervariable einlesen möchte.
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;
fork me on Github
  Mit Zitat antworten Zitat
FreePascal

Registriert seit: 31. Mai 2009
39 Beiträge
 
#15

Re: Testauswertungsprogramm - Variablen umändern

  Alt 12. Jun 2009, 18:56
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
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#16

Re: Testauswertungsprogramm - Variablen umändern

  Alt 12. Jun 2009, 19:01
Du musst nur die entsprechenden Units einbinden (SysUtils?).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
FreePascal

Registriert seit: 31. Mai 2009
39 Beiträge
 
#17

Re: Testauswertungsprogramm - Variablen umändern

  Alt 12. Jun 2009, 19:30
Ja, mit sysutils kennt er trim und strtoint an
8) , 0 errors ist schon mal gut,
Jetzt kann ich es dann auch mit der Eingabetaste beenden
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
OK, es ist richtig programmiert

nur: erfüllt es das
Zitat:
Jetzt will ich das ürsprüngliche Programm insofern umbauen, so dass der Start- u. Endwert der zu summierenden Aufgaben frei wählbar ist.
Danke, Martin
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:25 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