Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 8. diel - Ošetrenie užívateľských vstupov v C# .NET

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Patrik Pastor:28.12.2018 20:33

Vysvětlí mi prosím někdo, proč tu proměnou "platnaVolba" vyrušil?
resp. proč napsal pro pokračování
"platnaVolba = false"?
Nemohu si vytvorřit vlastní bool proměnu (napr. "bool dalsipriklad = true")?
Jaký to má význam?

Avatar
Odpovedá na Patrik Pastor
Neaktivní uživatel:28.12.2018 22:04

<code>platnaVol­ba</code> určuje, zda byl zadán očekávaný vstup. <code>dalsiPri­klad</code> tam sice není, ale máme za něj náhradu <code>pokraco­vat</code>.

Odpovedať
Neaktivní uživatelský účet
Avatar
Patrik Pastor:28.12.2018 23:06

vim, ze je promena pokracovat, ale nerozumim, proc se pred cyklem while (platnaVolba) dava: platnaVolba = false. jinymi slovy, proč se to neguje? proč nezůstane prostě platnaVolba = true?

Avatar
Odpovedá na Patrik Pastor
Neaktivní uživatel:28.12.2018 23:20

Šlo by to vyřešit i tak, že to dáš až do default a použiješ do-while namísto while. Je to tam vlastně na to, aby se cyklus vykonal aspoň jednou.

Odpovedať
Neaktivní uživatelský účet
Avatar
Odpovedá na Neaktivní uživatel
Patrik Pastor:29.12.2018 0:12

Můžu se prosím jenom zeptat, zda bys mi nenapsal na fb - mam na to dotazy a zajimá mě to, tak bych byl vděčný. Jde o to, že si myslím, že rozumím proměnné bool - (true/false), ale přímo v tomto příkladě kalkulačky nevidím ten rámec odkud kam se to cykluje (resp. jak to řídí právě ta proměna true/false). Mohu si to snad vysvětlit tak, že když je ta proměnná false - negace - tak to ten cyklus vyhodi?(shodi) Nebo jak si mam tu proměnnou platnaVolba vysvětlit?
Byl bych rád, kdybys popřípadně napsal mi na ten fb, zde je odkaz:

https://www.facebook.com/…pasta.pastor

Avatar
Odpovedá na Patrik Pastor
Neaktivní uživatel:29.12.2018 10:40
// pokud je true, zadáváš pořád další a další příklady
bool pokracovat = true;
while (pokracovat)
{
    // ...
    // pokud je false, musíš zadat vstup znovu. Hodnota je přiřazena už teď, protože cyklus musí proběhnout alespoň jednou.
    platnaVolba = false;
    // všimni si vykřičníku
    while (!platnaVolba)
    {
        switch (Console.ReadKey().KeyChar.ToString().ToLower())
        {
            case "a":
                // zadal jsi platný vstup, znovu už jej zadávat nemusíš. Rozhodl ses, že chceš zadat další příklad.
                pokracovat = true;
                platnaVolba = true;
            break;
            case "n":
                // zadal jsi platný vstup (...). Rozhodl ses, že tohle byl poslední příklad.
                pokracovat = false;
                platnaVolba = true;
            break;
            default:
                // neočekávaný vstup, musíš zadat znovu
                Console.WriteLine("Neplatná volba, zadejte prosím a/n");
            break;
        }
        // zde se přejde na začátek cyklu a znovu se vyhodnotí podmínka
    }
    // zde se přejde na začátek cyklu celé kalkulačky a znovu se vyhodnotí podmínka
}

Na fb ti napsat nemůžu, takže kdyžtak soukromé zprávy zde.

Odpovedať
Neaktivní uživatelský účet
Avatar
Martin Karel :12.2.2019 18:52

Prosím vás, potřebuji poradit. Napsal jsem program v konzolové aplikaci, uložil ho a zavřel. Když jsem ho znovu otevřel, šla spustit pouze konzolová aplikace, ale místo příkazů mám ve VS pouze bílou plochu. Nevíte co s tím?

Avatar
Odpovedá na Martin Karel
Martin Karel :12.2.2019 19:02

Tak už jsem na to přišel. Jen jsem přes své oči neviděl.

Avatar
Filip Dvořáček :9.3.2019 8:49

Ahoj,
můžu se prosím zeptat, proč je v tomto kódu před float vykřičník?

while (!float.TryParse(Console.ReadLine(), out a))
    Console.WriteLine("Neplatné číslo, zadejte prosím znovu:");

Děkuji za odpověď
Filip Dvořáček

Avatar
Odpovedá na Filip Dvořáček
Neaktivní uživatel:9.3.2019 10:00

Vykřičníkem zneguješ hodnotu. <code>float.Try­Parse</code> vrací, zda se převod povedl, nebo ne. Jenomže ty chceš zadat číslo znovu pouze v případě, že se nepovedl, ne naopak.

Odpovedať
Neaktivní uživatelský účet
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 149.