

c++ - vrátit se na začátek funkce
Dobrý den, tak bych Vám popsal co potřebuji, použiju příklad.
Příklad:
Dejme tomu že uživatel má zadat číslo menší než 10.
Potřeboval bych, aby když zadá číslo větší než 10, vrátí se to zase na začátek funkce.
(Jestli mi rozumíte, vytiskne se zpráva: zadej čislo menší než 10: , já zadám 15 a vytiskne mi to: Tohle číslo je větší než 10, a vrátí se to na začátek funkce, tj. znovu mi to vytiskne: zadej čislo menší než 10:, takhle až do nekonečna, dokud nezadám číslo menší než 10 .
Asi nějak takhle:
cout << "Zadej cislo mensi nez 10: ";
cin >> cislo;
if (cislo < 10)
{
cout << "\nsuper, je mensi nez 10";
}
else
{
cout << "Chyba, cislo je vetsi nez 10\n";
Tady potrebuju, aby se to vratilo zpatky na zacatek k: cout << "Zadej....
}
return 0;
Jestli to nějak jde, prosím poraďte Mi, Děkuji.
Zmena predmetu, pôvodne: c++ (los)
Cyklus do-while.
Jo, díky moc :)
Jen pro rozšíření obzorů - šlo by to udělat i pomocí goto, ale je to jedno. Pak by to vypadalo asi takhle:
Buď opatrný pri používaní goto.
Neni to jedno napr. kvoli citatelnosti a rychlej pochopitelnosti a udrzatelnosti kodu napr. ze s cyklom hned vidis ze sa ti tam nieco cykli, s goto nevidis hned nic. Ked goto pouziva debil, tak vznikne neudrzatelny maglajz (ale ten vznikne stejne, aj ked debil goto nepouziva :D).
However,
s cim sa da suhlasit, ale nejaky zaciatocnik toto nesplna tak by som mu ani goto neradil.
P.S. fungovat to samozrejme bude aj s goto.
Jo, já goto používám kvůli tomu, že dělám hlavně s PIC16F a PIC18F, programuju to v céčku a chci ušetřit tolik místa v ROM, co se dá, každej bajt se počítá
. Navíc mám na vývojový desce i ICD, takže když to mám zacyklený, hned to pomocí ICD najdu. Teď zrovna dělám větší projekt a zatím jsem tam goto použil asi 4x nebo 5x, víckrát asi ne.
bez goto by si to zacykleny mozno nemal nikdy
Mozes garantovat ze sa to nezacykli v nejakej situacii (nejaky neobvykly vstup), ktora nastane napr. raz za rok? Alebo to zdebugujes? (pojdes k zakaznikovi a budes rok cakat kym sa to zacykli :)
Setrenie miesta chapem, ale zvycajne sa to da aj bez goto ked clovek dokonale pozna compiler (ja som kedysi davno na uC ked som si nebol isty co je optimalnejsie pozeral disassemblerom skompilovany kod aby som zistil ze co kompiler urobi optimalnejsie :) Goto nemusi byt najoptimalnejsie, prave naopak ptz ak sa pouzije goto tak moze mat compiler problem robit maximalne optimalizacie strojoveho kodu. Vo vynimocnych pripadoch sice moze byt aj goto uzitocne, stejne jak moze byt vo vynimocnych pripadoch uzitocne urobit nieco rovno v assembleri :) Ale v drvivej vacsine pripadov to neplati ;)
No tak jak to tady čtu, tak radši zůstanu u do-while, goto jsem si zkusil a funguje to opravdu uplně stejně, chtěl bych se zeptat, čtu knihu Naučte se programovat za 21 dní, pak mám v plánu koupit si Mistrovství v c++, doporučili byste mi ještě nějakou jinou literaturu z které bych později mohl čerpat?
Tzn. nevím jaké budu mít znalosti/zkušenosti po dočtení těchto dvou knih.
Díky