C program függvényből kilépés?
Figyelt kérdés
Megoldható-e, hogy függvényben leálljon a program? Ugye a program alapvetően a main() return 0;-jával áll le, de ezt függvényből nem tudom elérni.2017. nov. 2. 17:50
1/8 A kérdező kommentje:
Esetleg ha létrehozok a main() return 0;-hoz egy QUIT labelt, és goto QUIT a függvényben?
2017. nov. 2. 17:52
2/8 anonim válasza:
4/8 anonim válasza:
Ha egy függvényben kell kilépned a programból, akkor az egy rosszul megtervezett program, aki ilyet ír, menjen inkább kapálni.
5/8 A kérdező kommentje:
Ez egy grafikus program, és a függvény vár amíg a felhasználó nem nyom valamelyik gombra, és visszatér azzal a gombnak a számával, amit végül megnyomtak. Berakhatom a mainbe is, de mi azt tanultok, hogy ha lehet, mindenre írjunk függvényt.
2017. nov. 2. 21:55
6/8 anonim válasza:
Akkor térjen vissza a függvény annak a gombnak a számával, amire ki kell lépni és lépjen ki main()-ből.
Félreértetted, amit tanítottak.
7/8 A kérdező kommentje:
De nem egyszerűbb exittel megoldani?
Így különben ez lenne:
int main() {
...
int a;
a=beolvas();
if(a==-1) return 0;
...
return 0;
}
Ha valaki azt mondja, ez a jobb megoldás, és ne exiteljek, én elhiszem neki.
2017. nov. 2. 23:39
8/8 anonim válasza:
A program leállítása a main függvény dolga, és a programozásban igen fontos dolog, hogy minden függvény azt, és csak azt csinálja, ami a dolga. Képzeld el, hogy pár réteggel mélyebb a program, Józsika meghív egy "GetNumber" metódust, aztán vakarja a fejét, hogy miért áll le a program, hiba nélkül ráadásul! Aztán 1 óra debug után eljut oda, hogy "Ja, itt a program mélyében el van rejtve egy fügvény mélyébe egy exit utasítás". Arról nem is beszélve, hogy a függvény újrafelhasználhatóságát sérti az, ha a programvezérlésbe is belenyúl. A jó függvény kifelé izolált, van kimenete, bemenete, és épp annyi mellékhatása, ami a függvény feladatköréhez szigorúan kapcsolódik. De ennyi, nem foglalkozik semmi mással, ami a saját belső viselkedésén kívül esik.
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!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!