Kezdőoldal » Számítástechnika » Programozás » El akadtam pascal programba....

El akadtam pascal programba. Példa lent (? )

Figyelt kérdés

program Pelda;

uses crt;

label start,asd,asd2,asd3,stop;


var k:integer;


c:char;

begin


start:

clrscr;

k:=11;



textbackground(red);

textcolor(white);

gotoxy(10,10);

write(' R g˘ ');

textbackground(blue);

textcolor(yellow);

gotoxy(20,10);

write(' P‚nz ');

gotoxy(30,10);

write(' Vissza ');


gotoxy(80,25);


repeat

c:=readkey;


if c=#0 then begin


textbackground(blue);

textcolor(yellow);

gotoxy(9+k,10);

case k/11 of {ezt nem fogadja el}

1: write(' R g˘ ');

2: write(' P‚nz ');

3: write(' Vissza ');

end;


c:=readkey;

case c of

#75: if k/11>1 then dec(k); { #72 = felfele nyil }

#77: if k/11<3 then inc(k); { #80 = lefele nyil }

end;



textbackground(red);

textcolor(white);

gotoxy(9+k,10);

case k of {‚s ugyanŁgy ezt se..}

1: write(' R g˘ ');

2: write(' P‚nz ');

3: write(' Vissza ');

end;


gotoxy(80,25);

end;


if c=#13 then begin

gotoxy(10,15);

textbackground(0);

textcolor(7);

if k=1 then begin writeln('r g˘');readkey;goto asd;end;

if k=2 then begin writeln('p‚nz');readkey;goto asd2;end;

if k=3 then begin writeln('vissza');readkey;goto asd3;end;

gotoxy(80,25);

end;

until c=#27;goto stop;


asd:

writeln('a r g˘');

readkey;

goto stop;

asd2:

writeln('a p‚nz');

readkey;

goto stop;

asd3:

writeln('vissza ment‚l');

readkey;

goto stop;


stop:

end.


2012. ápr. 3. 19:45
1 2
 1/13 A kérdező kommentje:
látom az ékezetet rosszul kezelte ezért leirom mégegyszer
2012. ápr. 3. 19:47
 2/13 A kérdező kommentje:

program Pelda;

uses crt;

label start,asd,asd2,asd3,stop;


var k:integer;


c:char;

begin


start:

clrscr;

k:=11;



textbackground(red);

textcolor(white);

gotoxy(10,10);

write('Rágó');

textbackground(blue);

textcolor(yellow);

gotoxy(20,10);

write(' Pénz ');

gotoxy(30,10);

write(' Vissza ');


gotoxy(80,25);


repeat

c:=readkey;


if c=#0 then begin


textbackground(blue);

textcolor(yellow);

gotoxy(9+k,10);

case k/11 of {ezt nem fogadja el}

1: write(' Rágó ');

2: write(' Pénz ');

3: write(' Vissza ');

end;


c:=readkey;

case c of

#75: if k/11>1 then dec(k); { #75 = balra nyil }

#77: if k/11<3 then inc(k); { #77 = jobbra nyil }

end;



textbackground(red);

textcolor(white);

gotoxy(9+k,10);

case k/11 of {és ugyanúgy ezt se..}

1: write(' Rágó ');

2: write(' Pénz ');

3: write(' Vissza ');

end;


gotoxy(80,25);

end;


if c=#13 then begin

gotoxy(10,15);

textbackground(0);

textcolor(7);

if k=1 then begin writeln('rágó');readkey;goto asd;end;

if k=2 then begin writeln('pénz');readkey;goto asd2;end;

if k=3 then begin writeln('vissza');readkey;goto asd3;end;

gotoxy(80,25);

end;

until c=#27;goto stop;


asd:

writeln('a rágó');

readkey;

goto stop;

asd2:

writeln('a pénz');

readkey;

goto stop;

asd3:

writeln('vissza mentél');

readkey;

goto stop;


stop:

end.

2012. ápr. 3. 19:50
 3/13 ejbenjaro ***** válasza:

"case k/11 of {ezt nem fogadja el}

1: write(' R g˘ ');

2: write(' P‚nz ');

3: write(' Vissza ');

end; "


Azért nem fogadja el, mert nem megszámlálható lesz az osztás eredménye, mivel az osztás mindig valós eredményt ad. Próbálj egész osztást végezni a div segítségével, vagy kerekítsd az eredményt a round-dal.

2012. ápr. 3. 19:52
Hasznos számodra ez a válasz?
 4/13 ejbenjaro ***** válasza:
Ja, és hanyagold a goto-k használatát. Amit meg lehet enélkül oldani azt meg is kell.
2012. ápr. 3. 19:53
Hasznos számodra ez a válasz?
 5/13 A kérdező kommentje:
mibajotokvan a goto val?:D
2012. ápr. 3. 19:55
 6/13 anonim ***** válasza:

ilyenkor rohadt jó lenne ha leírnád a hibát amit kiírt


egyébként világos hogy a művelet eredménye nem egy integer változó, márpedig neked az kell, szóval előbb csinálj egy case-nek egy változót k/11 értékkel, ami szerintem extended lesz úgyhogy szépen round() vagy truncate() fv. el csinálj belőle integert

2012. ápr. 3. 20:03
Hasznos számodra ez a válasz?
 7/13 anonim ***** válasza:
első: sorry, benthagytam az oldalt nem láttam a válaszod..
2012. ápr. 3. 20:07
Hasznos számodra ez a válasz?
 8/13 ejbenjaro ***** válasza:
A goto általában átláthatatlanná teszi a programot. Ez valami menü akarna lenni?
2012. ápr. 3. 20:08
Hasznos számodra ez a válasz?
 9/13 A kérdező kommentje:
igen de ugylátszik valamit nagyon elrontottam..
2012. ápr. 3. 20:57
 10/13 ejbenjaro ***** válasza:

Átírtam kicsit a programodat. Így már működik és nincsenek benne goto-k ;). Nagyjából azt csinálja, amit a tiednek is kellene, ha jól értelmeztem a logikádat.

Az alábbi linken megtalálod az átiratot:

[link]


Tesztelni Free Pascal alatt tudtam Ubuntu Linuxon, ezért elképzelhető, hogy Windows alatt lesznek vele gondok. Ubuntun nem voltak.

2012. ápr. 3. 21:11
Hasznos számodra ez a válasz?
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!