Pascal - auf 10ner runden
-
Guten Tag leute;
ich möchte nicht lange um den heißen brei herum laufen .. also hier meine frage, die ich schon für eine andere sprache gestellt habe..
nehmen wir an:
int rest;
int summe = 103;dann soll summe auf den nächsten 10ner gerundet werden also:
110
und der rest soll in
rest = (differenz zwichen summe und der 110 .. )
der code dafür ist in c++ :
if ((Summe % 10) != 0)
{
Rest = 10 - (Summe % 10);
Summe = ((Summe / 10) + 1) * 10;
}aber ich frage mich wie es in pascal geht ..
mfg
-
Genauso, ungetest:
if (summe mod 10) <> 0 then begin rest := 10 - (summe mod 10); summe := ((summe / 10) + 1) *10; end;
-
bei mir kommt da der fehler:
Recompiling because of C:\FPC\2.4.4\bin\i386-win32\Hello_World.pas
Hello_World.pas(86,28) Error: Incompatible types: got "Extended" expected "SmallInt"
Hello_World.pas(98) Fatal: There were 1 errors compiling module, stopping
Hello_World.pas(0) Fatal: Compilation aborteddie zeile in der der fehler ist ist diese :
summe := ((summe / 10) + 1 ) *10;
/\
der fehler ist hier ||
-
Mit Codetags sieht man es auch:
Zeus schrieb:
die zeile in der der fehler ist ist diese : summe := ((summe / 10) + 1 ) *10; /\ der fehler ist hier ||
Keine Ahnung ob Pascal da noch ein Leerzeichen zwischen * und 10 möchte.
Wie hast du denn die Variablen definiert?Codetags: Text markieren und den Code Button unter
:p anklicken.
(Bei C nimmst du den C/C++ Button)
-
var summe, rest : Integer;
-
Sorry mein Pascal ist eingerostet nimm "div" (Integer division) anstelle von "/" (Real division).
-
nice it works