Tenhle příspěvek jsem psal ještě, když tady faraonův nebyl, myslím ale, že alespoň příklady se ti budou hodit.
No.. Asi ti to nebudu vysvětlovat někde mimo, vysvětlím ti to tady, alespoň to, co je podle mne důležité, v C a C++ se zase tolik neorientuji, ale ostatní jazyky mají tyto cykly stejně, pokud vím.
For: jednoduše, dokud platí něco, bude se dít něco a při každém se spustí ještě něco navíc.
Příklad: máš array s 5 hodnotami, třeba jména žáků a chceš je vypsat všechny, to můžeš udělat např. Pomocí for:
Kód: Vybrat vše
string[] zaci = new string[] {"Adam", "Josef", "Zuzana", "Tomas", "Dominik"} //snad se to takto definuje i v c a c++
for(int i = 0 ; i < zaci.length; i++) //jak už jsem říkal, dokud bude i menší než velikost seznamu, bude se provádět to, co napíšu pod rohle, zároveň se pokaždé i přičte a díky tomu budeš mít i vždy jiné.
{ println(zaci[i]); //i bude od 0 do 4, opět nevím, jestli je správný zápis, ale snad to pochopíš.
}
Teď while, je podobné for, akorát tam můžeš dát jen jednu hodnotu, dokud něco platí, bude se dít něco
Kód: Vybrat vše
while(true) //bude se to dít pořád
{
printf("Ahoj"); //bude se pořad opakovaně vypisovat, true bude pořád true
}
while(false) //false se nikdy nebude rovnat true, proto se to nikdy neprovede
{
printf("Tohle se stejne neprovede");
}
//A pak samozřejmě když něco kontroluješ..
int i = 10
while(i > 0){
printf("."); //tohle by se opakovalo pořád dokola, protože se s i nic nestane, pro tohle se pak hodí for a nebo můžeš přidat i++; přímo sem do while
}
Ještě dodám k while a for, můžeš zde použít break; a continue; break, když to chceš zastavit, např. Bys hledal v listu určitý string, našel bys ho, uložil někam mimo cyklus a mohl bys dát break, aby se to pořád neprovádělo. A continue tě hodí na začátek cyklu, to jde využít třeba kdybys měl nějakou chybku a věděl, že bude jen třeba 1 z 10.
Switch:
Napadá mě třeba, že ti uživatel napíše do vstupu ahoj, ty to zjistíš a vykonáš něco, vlastně je to if, až na to, že v lepším zápisu, funguje to na všechny hodnoty.
Kód: Vybrat vše
String pozdrav = "Ahoj";
switch(pozdrav) //devinování, že chceš pracovat s pozdravem
{
case "Ahoj": //pokud se rovná Ahoj
printf("Ahoj")
break; //aby vědělo, že se má ukončit a už nic nedělat
case "Čau": //pokud se rovná Čau
printf("Ahoj");
break;
default: //co když to není ani jeden?
printf("neznamy pozdrav");
break;
}
No jo, ale mít třeba 20 pozdravů a na každý odpovídat Ahoj, takhle by to bylo dlouhé, proto je zde i:
Kód: Vybrat vše
switch(pozdrav){
case "Čau":
case "Ahoj": //pokud se pozdrav rovná jednomu z nich, provede se to pod nimi.
case "Čus":
printf("Ahoj);
break;
case "Na shledanou:
printf("Na shledanou.");
break;
default:
printf("toto program nerozezna");
break;
}
Snad jsi to pochopil lépe, případně se ještě ozvi, za případné překliky se omlouvám, nekontroloval jsem to a psal na iPadu.