Diskuze: Úkol s příkladem, hod kostkou
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 6 zpráv z 6.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí C++, jsme si ověřili nabyté zkušenosti z kurzu.
Tak v první řadě musíš vyžadovat zadání, než skutečně zadá 1-6 (tj. když zadá např. 7..
scanf("%d", &hodkostkou);
while ((hodkostkou < 1) || (hodkostkou > 6))
{
printf("Neplatné číslo - házej znovu\n");
scanf("%d", &hodkostkou);
}
Takto budeš cyklit až do té doby, než zadá správnou číslici. Následně spočteš statistiky:
// pozor, oba musi byt na zacatku nastavene na 0!
pocethodu++;
soucethodu += hodkostkou;
Nakonec řešíš hod 6, kdy se má celý hod opakovat. Opakování = cyklus.. Takže to celé zabalíme do dalšího cyklu:
int hodkostkou;
int pocethodu = 0;
int soucethodu = 0;
scanf("%d", &hodkostkou);
do {
while ((hodkostkou < 1) || (hodkostkou > 6))
{
printf("Neplatné číslo - házej znovu\n");
scanf("%d", &hodkostkou);
}
pocethodu++;
soucethodu += hodkostkou;
} while (hodkostkou == 6);
printf("statistiky: ....");
Jinak bacha na věci typu "while(hodkostkou = 6)" - přiřazuješ namísto
porovnávání 
int main(int argc, char** argv) {
printf("Jméno: Jan Kratka\n");
printf("Login: kratka10\n");
printf("Název úkolu: Úkol č. III a IV\n");
int hodkostkou;
int pocethodu = 0;
int soucethodu = 0;
printf("Hoď kostkou v rozmezí 1-6 pokud ti padn 6 házej znova\n");
scanf("%d", &hodkostkou);
do {
while ((hodkostkou < 1) || (hodkostkou > 6))
{
printf("Neplatné číslo - házej znovu\n");
scanf("%d", &hodkostkou);
}
pocethodu++;
soucethodu += hodkostkou;
} while (hodkostkou == 6);
printf("Hodil si %d krát\n", pocethodu);
printf("Součet tvých bodů je %d", soucethodu);
return (EXIT_SUCCESS);
}
¨
Děkuji za pomoc. Vlastně tohle si mi napsal, takže když zadám 1-5
program správně skončí , a vypíše statistiku, ale pokud zadám 6 kolikrát
chci a pak třeba 2 program nikdy neskončí a pořád jede dál. A pokud bych
chtěl ještě napsat to těla do nějaký printf tak se mi to zacyklilo jak je
to možné? 
Oh. teď si všímám jedné chyby 
Před "while ((hodkostkou < 1) || (hodkostkou > 6))" musí být samozřejmě ještě nepodmíněné zadávání.. protože takto se to nikdy nezeptá znova..
Takže stačí začátek do {} while hodit o dva řádky výš...
do {
printf("Hoď kostkou v rozmezí 1-6 pokud ti padn 6 házej znova\n");
scanf("%d", &hodkostkou);
while ((hodkostkou < 1) || (hodkostkou > 6))
{
...
Zkus si to v hlavě prokrokovat a zamyslet se, proč to tak je.. 
Super děkuji moc. Takže chápu, že prvně se vykoná do, kde pokud dám správně 1-6 (kvůli jiném číslum je tam tedy to while.) zapíše se do proměnné počet a součet. Pokud nedám 6 tak cyklus skončí. Ale jak ještě udělám když dám 6, aby vykonalo to stejný, ale s jiným textem?
A já myslím, že do while se může použít jen do while, a né do while, while, nebo je to tak , že je to do while, ale v cyklu do je while jako sólo.
Cykly můžeš libovolně vnořovat jak potřebuješ (a často se tomu nedá vyhnout).
Pokud chceš vypisovat jiný text, tak tam budeš muset přihodit nějaký if.
Zobrazeno 6 zpráv z 6.