Kezdőoldal » Számítástechnika » Programozás » Feltételes kilépés egy program...

Feltételes kilépés egy programbol, hogyan?

Figyelt kérdés
Egy free pascal-ban írtam egy algoritmust. Azt szeretném kérdezni hogy, a programom megkérdezze: "ki szeretne lépni a programbol, vagy újra lefuttatja?" Egy K-> kilépés és egy U->újra billentyűparancsra cselekedne. Szóval milyen algoritmussal tehetném ezt meg? Teljesen kezdő vagyok és nem találok értelmes leírást. Elöre köszönöm a segítséget!

2013. ápr. 17. 15:44
 1/2 anonim ***** válasza:

Én anno ezt úgy csináltam, hogy a menü kiírása egy ciklusban futott. Amikor kiválasztott egy menüpontot az user, akkor csináltam valamit, amivel ha végeztem, akkor nem léptem ki a ciklusból, hanem újra kiírta a menüt és megint lehetett választani.

A kilépés pedig olyan volt, hogy amikor kiválasztották, akkor jött a kérdés, ha azt mondta h nem lép ki, akkor maradtam a ciklusban, ha azt mondta kilép, akkor kiléptem belőle és bezáródott a program.

2013. ápr. 17. 15:52
Hasznos számodra ez a válasz?
 2/2 anonim ***** válasza:

Ha jól tudom FPC-ben is van halt;, akkor:


Repeat

.

.

programod

.

.

Writeln; {ez csak takarít, ha az utolso kimenet write lett volna}

Write('Kilépel more? (/K)');

Until Upcase(readkey) = 'K'; {upcase() hogy nagybetut csinaljon belole, igy egyszerubb a feltetel}


ez egyszerüen kilép a ciklusból, ha K-t nyomsz, itt egy kicsit bonyulultabb, ez csak az U-t és a K-t fogadja el válaszul:


var valaszchar:char;


Repeat

.

.

.

Programod;

.

.

.

Writeln; {mint emlitettem :D}

Repeat

Writeln('Kilépel more? (U/K'); { ha ezt az elotte levo Repeat ele rakod, akkor csak egyszer kerdezi meg, igy minden rosz leutesnel megkerdezi ujra.}

valaszchar:=readkey;

Until upcase(valaszchar) in ['U','K'];

Until upcase(valaszchar) = 'K';


ha NEM ez a progid vége, akkor ezt még csapd hozzá a végéhez:

if upcase(valaszchar) = 'K' then halt;


jah, es ezekhez a cuccokhoz (readkey, writeln) kell a CRT unit :)


amugy a halt; az a parancs ami fogja és csapot-papot otthagyva kilép

2013. ápr. 18. 00:08
Hasznos számodra ez a válasz?

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!