Van olyan Pascal parancs mellyel egy eljárást ( procedure ) le lehet állítani?
A problémám az lenne, hogy egy elágazásnál ha egy rossz értéket adunk meg akkor az eljárás nem végigfut ( helytelenűl ) hanem befejeződik ott ahol a parancsot írtam.
Próbáltam címkével, hogy ha oda jut a program akkor a címkéhez lép ami az eljáráson kívül van a főprogramban de nem engedi használni a Free Pascal mivel szerinte címkéket eljárásokba nem lehet helyezni :/ de valahogy ki kellene lépnem a feltétel teljesülésekor az eljárásból.
A konkrét helyzet az, hogy bejön az eljárás amiben kiválaszthatom, hogy a megadott tömbömet milyen algoritmussal rendezze ( buborékos, számolásos stb. ) de ha olyat adok meg ami nem létezik akkor vagy visszább kellene ugorjon a program és újra bekérje a választási lehetőséget vagy kilépni az eljárásból vissza a főprogramba ( ahol újra megjelenik a főmenü ).....de nem tudom ezt, hogy tudnám megoldani....
Eljárásból az exit-el tudsz kiugrani. De aproblémádat valahogy így lehetne jól megoldani:
repeat
clrscr;
writeln('1. menüpont');
writeln('2. menüpont');
writeln('3. menüpont');
writeln('4. menüpont');
writeln('5. menüpont');
c:=Readkey();
until c in ['1'..'5'];
case c of
'1' : eljaras1;
'2' : eljaras2;
'3' : eljaras3;
'4' : eljaras4;
'5' : eljaras5;
end;
Egy ciklusban addig íratod ki a menüpontokat, amíg nem olyan válasz születik, amilyet elvársz. Ha sikerül a ciklusból kilépni, akkor pedig egy case elágazással indítod a megfelelő eljárást. A főprogramban tehet az egész köré még egy repeat until ciklust, ami csak a kilépésre figyel.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!