Recent

Author Topic: [Solved] Incompatible types: FreePascal  (Read 2762 times)

arglab

  • New member
  • *
  • Posts: 7
[Solved] Incompatible types: FreePascal
« on: August 20, 2014, 03:59:49 pm »
Hi, I'm learning Pascal. I'm trying to do a program to convert meters to feet and inches.
1 meter = 39,37 inches = 39,37/12 feets. Knowing that I did:

Code: [Select]
Program Number1;
const a=39.37;
var b,c,d:real;
begin
        b:=10; (* meters *)
        c:=(b*a) div 12;
        d:=(((b*a)/12)-c)*12;
        write(b:3:3,' meters = ',c:3:3,' feets ',d:3:3,' inches');
end.

The output I want to get is: 10.000 meters = 32 feets 9.696 inches

Quote
Error: Incompatible types: got "Extended" expected "LongInt"
Error: Incompatible types: got "Extended" expected "LongInt"
There were 2 erros compiling module, stopping
Fatal: Compulation aborted

Thanks for your time.
« Last Edit: August 20, 2014, 04:15:30 pm by arglab »

Blaazen

  • Hero Member
  • *****
  • Posts: 3237
  • POKE 54296,15
    • Eye-Candy Controls
Re: Incompatible types: FreePascal
« Reply #1 on: August 20, 2014, 04:09:21 pm »
div and mod are only for integers.
Replace
Code: [Select]
c:=(b*a) div 12;
d:=(b*a) mod 12;
with
Code: [Select]
c:=(b*a)/12;
d:=frac(c);
c:=trunc(c);
Lazarus 2.3.0 (rev main-2_3-2863...) FPC 3.3.1 x86_64-linux-qt Chakra, Qt 4.8.7/5.13.2, Plasma 5.17.3
Lazarus 1.8.2 r57369 FPC 3.0.4 i386-win32-win32/win64 Wine 3.21

Try Eye-Candy Controls: https://sourceforge.net/projects/eccontrols/files/

arglab

  • New member
  • *
  • Posts: 7
Re: Incompatible types: FreePascal
« Reply #2 on: August 20, 2014, 04:15:06 pm »
div and mod are only for integers.
Replace
Code: [Select]
c:=(b*a) div 12;
d:=(b*a) mod 12;
with
Code: [Select]
c:=(b*a)/12;
d:=frac(c);
c:=trunc(c);

Thank you!

 

TinyPortal © 2005-2018