Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Pascal] got "BOOLEAN" expected "LONGINT" bei if-Abfrage

Empfohlene Antworten

Veröffentlicht

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:

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

Na toll, mit Klammern funktioniert's. :D Manche Dinger sind doch simpler als man denkt.

Dankeschön. :)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.