Kezdőoldal » Számítástechnika » Programozás » Miért lép ki a free pascal...

Miért lép ki a free pascal programom a folyamat lefutása után?

Figyelt kérdés

Van egy free pascal programom, amit órán megcsináltunk. A házim az, hogy a program lefutása után ne lépjen ki a programból, hanem billentyű leütésre tegye meg azt.

Így néz ki:


Program osszeadas;

var

a,b,c : integer;

begin

writeln('add meg az első számot');

read (a);

writeln('add meg a második számot');

read (b);

c:=a+b;

write(a,'+',b,'=',c);

end.



2013. ápr. 16. 17:36
1 2
 1/14 anonim ***** válasza:
Annyi a házi, hogy beírj egy readln; sort az utolsó előtti sorba???
2013. ápr. 16. 17:37
Hasznos számodra ez a válasz?
 2/14 A kérdező kommentje:

Nem annyira házi, csak kicsöngettek és a tanár azt mondta otthon nézzünk utána.

Amúgy a mai napon kezdtük el a programozást, mármint gépen.

Abszolút kezdő vagyok.

Amúgy megpróbáltam az utolsó sorba írni a readln; parancsot, azonnal kilép, amint beírtam a 2. számot.

2013. ápr. 16. 17:45
 3/14 anonim ***** válasza:

A ReadLn; utasítást az end. elé beszúrt sorba írd!

Ami a end. után van az nem létezik a fordító számára.

2013. ápr. 16. 17:54
Hasznos számodra ez a válasz?
 4/14 A kérdező kommentje:

Ezt én is tudtam. De nem jó. itt egy kép a programablakról:

[link]

Mit rontok el szerinted?

2013. ápr. 16. 18:01
 5/14 anonim ***** válasza:

A freepascal valamiért nem szeretni a readln-es kilépést.

Ezért inkább módosítsd a kódot így;

program osszeadas;

var a,b,c:integer;

d:char;

... foltytod a végére az and elé beteszed ezt.

d:=readkey;

end.


A readkey függvény akkor lép ki ha leütsz egy billentyűt.

Vagy beteszel még egy readln;<- ez nálam is bejött korábban, hogy miért ne kérdezd, de ez volt.


Amúgy turbozd fel egy kicsit a programot.

pl. legyen képernyőtörlés. A begin sor után szúrj be egy ClrScr; parancsot, plusz a program osszeadas után írj uses crt;-t nem árt ha ott van.

2013. ápr. 16. 18:15
Hasznos számodra ez a válasz?
 6/14 A kérdező kommentje:

Működik! :D Ezer hála :D

A kiegészítéseid is jók :) Köszi a tippeket!

2013. ápr. 16. 18:21
 7/14 anonim ***** válasza:
Nem az a gond, hanem, hogy write(); után két readln;-t kéne tenni, writeln(); után kell csak 1-et. Az a különbség a két utasítás között, hogy a read(); nem kezd új sort, a readln(); igen. Amúgy a repeat until keypressed; is jó parancs, és talán elegánsabb.
2013. ápr. 17. 15:39
Hasznos számodra ez a válasz?
 8/14 A kérdező kommentje:

Sikerűlt megcsinálni, most az lenne a kérdésem hogy, miért lép ki azonnal a program és miért nem hajtja végre a ciklust?

[link]

Így néz ki az algoritmusom.

Help!

2013. ápr. 17. 16:49
 9/14 anonim ***** válasza:
Mert nem írtál az end. elé repeat until keypressed; -t.
2013. ápr. 18. 15:41
Hasznos számodra ez a válasz?
 10/14 A kérdező kommentje:

Pótoltam, de most ugyan ez a hiba, azzal a külömbséggel, hogy most kérdez, de (mivel keypressed;) ezért bármit nyomok kilép. Nekem az kellene, hogy ne lépjen ki, csak akkor, ha nem 'N' betűt írok be.

(->megjegyzés, még a tanárom se tudta, mi a baj a programmal XD)

2013. ápr. 18. 16:04
1 2

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!