Kezdőoldal » Számítástechnika » Programozás » Mi a hiba ebben a FreePascal...

SoulEater7797 kérdése:

Mi a hiba ebben a FreePascal kódban?

Figyelt kérdés

Amint látjátok, három szám alapján kiszámítania, hogy megszerkeszthető-e a háromszög.

Előre is kösz!


program beadando;


uses crt;

var a,b,c:integer;


begin


WriteLn('A következő program kiszámítja, hogy a háromszög megszerkeszthető-e.');

Delay(3000);


WriteLn('"A" oldal: ');

ReadLn(a);


WriteLn('"B" oldal: ');

ReadLn(b);


WriteLn('"C" oldal: ');

ReadLn(c);


if a+b<c or b+c<a or a+c<b then

WriteLn('A háromszög nem megszerkeszthető.');


else if a+b=c or b+c=a or a+c=b then

WriteLn('A háromszög nem megszerkeszthető, szakasz lesz.');


else

WriteLn('A háromszög megszerkeszthető.');


end.


2014. máj. 26. 16:38
 1/7 anonim ***** válasza:

Szerintem midnenki hálás lenne, hogyha megmondanád, mi a probléma.

Esetleg fordítási hiba? Enélkül át se olvasom, mert felesleges.

2014. máj. 26. 16:46
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:

Failed to compile.


(20,7)Error: Incompatible types: got "Boolean" expected "LongInt"

(23,1)Fatal: Syntax error, ";" expected but "ELSE" found

(0)Fatal: Compilation aborted

2014. máj. 26. 16:54
 3/7 anonim ***** válasza:

Ha minden igaz, ez a 20. sor:

if a+b<c or b+c<a or a+c<b then


Azt íjra erre, hogy boolean-t (logikai értéket) kap, mikor ő longint-et (egészt) vár. Arra tudok gondolni, hogy be kéne zárójelezni az összeadásokat.


A második hibaüzenet (igaz nyakatekert módon) arra utal, hogy else elé nem kell ';':

http://www.tutorialspoint.com/pascal/pascal_if_then_else_statement.htm

2014. máj. 26. 17:28
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:

Igen, erre időközben rájöttem, a zárójelezésre.

Most viszont az a gond, hogy a végén néha kiír kettő lehetőséget is, azt, hogy megszerkeszthető is meg nem is.

Ezzel mi legyen?

2014. máj. 26. 17:38
 5/7 anonim ***** válasza:
Ilyen egyértelmű forditási hibával ne jöjjünk már ide könyörgöm, főleg ilyen b#szottgyökér módon, hogy mindent leirtok, csak a hibaüzenetet/hibajelenséget nem...
2014. máj. 26. 17:40
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:

Az fura... nem kéne neki... :D


Mutizd újra az utsó ReadLn utáni részt lécci.

2014. máj. 26. 17:41
Hasznos számodra ez a válasz?
 7/7 A kérdező kommentje:

Sikerült :D


Leesett, hogy mik a háromszög szerkeszthetőségi szabályai, aztán ez lett a végeredmény, ami működőképes:


program beadando;


var a,b,c:integer;


begin


Write('Első oldal: ');

ReadLn(a);


Write('Második oldal: ');

ReadLn(b);


Write('Harmadik oldal: ');

ReadLn(c);


if (a+b>c) and (b+c>a) and (a+c>b) then

Write('A háromszög megszerkeszthető.')


else

Write('A háromszög nem megszerkeszthető.');

ReadLn;


end.

2014. máj. 26. 18:01

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!