Veröffentlicht 25. März 200421 j Hallo, ich mache gerade meine ersten Schritte in Pascal und bin gerade dabei, auf der Arbeit ein kleines Programm (Kaffeautomat, nicht meine Idee) zu schreiben. Bin noch ziemlich am Anfang. Bei der If-Abfrage meldet mir der Compiler: Error: Incompatible types: got "BOOLEAN" expected "LONGINT" Hier mal ein Auszug aus dem Code: PROGRAM kaffeeautomat; uses crt; VAR // Was und wieviel befindet sich im Automaten? fuellmenge_kaffee,fuellmenge_milch,fuellmenge_zucker,fuellmenge_becher:word; // Welche und wieviele Münzen befinden sich im Automaten? muenzen_10,muenzen_20,muenzen_50,muenzen_100,muenzen_200:word; // Variablen, um hinterher eine Statistik über die // Anzahl der verkauften Kaffees ausgeben zu können statistik_kaffee,statistik_kaffeemilch,statistik_kaffeezucker,statistik_kaffeemilchzucker:byte; // Kundenbestellung (A, B, C, D, oder Z zum Abbruch) kundeneingabe:char; help_var:boolean; BEGIN writeln ('Kaffeautomat'); writeln; writeln ('Bitte nehmen Sie zunächst die Befuellung vor. Alle Angaben sind in Gramm zu machen.'); writeln; help_var := false; REPEAT write ('Kaffee (Min. 10 - Max. 2000): '); readln (fuellmenge_kaffee); if fuellmenge_kaffee < 10 OR fuellmenge_kaffee > 2000 then begin writeln ('Minimum 10, Maximum 2000, ist das so schwer zu verstehen? Also noch mal bitte...'); end else begin help_var := true; end; UNTIL help_var = true; [...] [/php] Jetzt frage ich mich, wo der Fehler liegt. Die if-Abfrage sieht imo in Ordnung aus. Wieso erwartet er da einen Longint Wert? :confused:
25. März 200421 j Hallo, bei mir ist leider nichts fett dargestellt, aber da du eine if-Schleife ansprichst: Ich würde auf jeden Fall mal Klammern setzen... Weiß allerdings nicht, ob es daran liegt, aber das ist IMO richtiger und schöner if (fuellmenge_kaffee < 10) OR (fuellmenge_kaffee > 2000) then Gruß, roaxius
25. März 200421 j Na toll, mit Klammern funktioniert's. Manche Dinger sind doch simpler als man denkt. Dankeschön.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.