Kezdőoldal » Számítástechnika » Programozás » A Free Pascalban van olyan...

A Free Pascalban van olyan eljárás hogy ha a feltétel teljesül akkor kezdje elölről az egész programot?

Figyelt kérdés

2014. ápr. 8. 17:02
 1/6 anonim ***** válasza:

Egy függvénybe ágyazod bele a programodat, amelynek a visszatérési értéke a feltétel teljesülése.


Ez alapján a főprogramban egy ciklus megy addig, amíg a feltétel teljesül.


De nem értem mit akarsz pontosan.

2014. ápr. 8. 17:10
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:
egy menüt akarok csinálni és azt akarom hogy ha beléptem az egyik menüpontba akkor ha megnyomom az Esc-et akkor térjen vissza a fő menübe
2014. ápr. 8. 17:22
 3/6 ejbenjaro ***** válasza:
Hátul tesztelő ciklusba teszed a menüt és a problémád meg van oldva.
2014. ápr. 8. 17:46
Hasznos számodra ez a válasz?
 4/6 ejbenjaro ***** válasza:

Például itt az alábbi kód, ami szintén egy GYK-s kérdésre született:


program menu;


uses crt;


procedure mnuNormalColor();

begin

textbackground(blue);

textcolor(yellow);

end;


procedure mnuHighlightedColor();

begin

textbackground(red);

textcolor(white);

end;


procedure scrColor(clear:boolean);

begin

textbackground(0);

textcolor(7);

if clear then clreol();

end;


procedure mnu(mptr:byte);

begin

gotoxy(1,10);

scrColor(TRUE);

case mptr of

1 : begin

gotoxy(10,10);

mnuHighlightedColor();

write(' Rágó ');

gotoxy(20,10);

mnuNormalColor();

write(' Pénz ');

gotoxy(30,10);

write(' Vissza ');

end;

2 : begin

gotoxy(10,10);

mnuNormalColor();

write(' Rágó ');

gotoxy(20,10);

mnuHighlightedColor();

write(' Pénz ');

gotoxy(30,10);

mnuNormalColor();

write(' Vissza ');

end;

3 : begin

gotoxy(10,10);

mnuNormalColor();

write(' Rágó ');

gotoxy(20,10);

write(' Pénz ');

gotoxy(30,10);

mnuHighlightedColor();

write(' Vissza ');

end;

end;

gotoxy(80,25);

end;


procedure kiir(mptr:byte);

begin

gotoxy(10,15);

scrColor(TRUE);

case mptr of

1: writeln('rágó');

2: writeln('pénz');

3: writeln('vissza');

end;

end;


var

ch: char;

mnupointer: byte;


begin

mnupointer:=1;

mnu(mnupointer);

repeat

repeat

until Keypressed;

ch:=readkey;

if ch=#0 then ch:=readkey;

case ch of

#75: begin

dec(mnupointer);

if mnupointer=0 then mnupointer:=3;

end;

#77: begin

inc(mnupointer);

if mnupointer=4 then mnupointer:=1;

end;

#13: begin

kiir(mnupointer);

end;

end;

mnu(mnupointer);

until ch=#27;

scrColor(FALSE);

case mnupointer of

1: writeln('a rágó');

2: writeln('a pénz');

3: writeln('vissza mentél');

end;

end.

2014. ápr. 8. 17:49
Hasznos számodra ez a válasz?
 5/6 ejbenjaro ***** válasza:
Az előbbi programból az ESC megnyomásával tudsz kilépni.
2014. ápr. 8. 17:50
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:
rájöttem, rekurzív alprogrammal meg lehet csinálni
2014. ápr. 8. 19:12

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!