NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 8 - Ošetření uživatelských vstupů v C# .NET

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Odpovídá na simon.steiner
Roman Šimík:19.6.2016 11:00

No pokud nechce, aby se stisknuté klávesy vypisovali, tak by měl nastavit hodnotu na true

ReadKey(true)

Jelikož je to defaultně nastavené na false, tudíž když by tam dal false tak by se nic nestalo.

 
Odpovědět
+1
19.6.2016 11:00
Avatar
Odpovídá na Pavla Sklenářová
Roman Šimík:19.6.2016 11:16

Musíš si vytvořit ještě jednu boolean, která ti řekne, zda bylo zmáčknuto "a" a "n" a nebo nějaká jiná klávesa, a pote přidat podmínku while, která řekne že pokud je ta boolean false, tak se znovu zeptá.na nový stisk klávesy

static void Main(string[] args)
        {
            bool pokracovat = true; //Předpokládám, že budu chtít pokračovat. Switch mě hodí sem a srovná svoje hodnoty s touto výchozí.

            while (pokracovat)
            {

                Console.WriteLine("Tady něco dělám a budu to opakovat, dokud si to bfu žádá.");
                Console.WriteLine("Pro pokračování stiskněte A, pro ukončení stiskněte N.");

                //načti vstup. v případě, že vstup je a, cyklus bude pokračovat, v případě n nebude.
                //break mě vyhodí sem, musím case porovnat s uživatelským vstupem, nikoliv s pevnou hodnotou.

                bool spravnaVolba = false; // vytvoření bool, předpokládáme že je false

                while (!spravnaVolba) // Pokud je hodnota spravne volby false, tak...
                {
                    string volba = Console.ReadLine().ToLower(); // Uložení stisknuté klávesy musíme dát do while podmínky, protože pokud by jsme tak neudělali, tak by byla uložená jen jedna a ta samá hodnota
                    switch (volba)
                    {
                        case "a":
                            spravnaVolba = true; // správná volba, nastavíme proto hodnotu na true
                            pokracovat = true;


                            break;

                        case "n":
                            spravnaVolba = true; // správná volba, nastavíme proto hodnotu na true
                            pokracovat = false;

                            Console.WriteLine("Končíme.");
                            Console.ReadLine();

                            break;

                        default:
                            // při pokračovat - true mi najede program, při false mi skončí.
                            spravnaVolba = false; // nesprávná volba, nastavíme proto hodnotu na false
                            Console.WriteLine("Zkuste to znovu. A/N");
                            Console.ReadLine();

                            break;
                    }
                }


            }

        }
Editováno 19.6.2016 11:18
 
Odpovědět
+1
19.6.2016 11:16
Avatar
Odpovědět
19.6.2016 13:44
Nepropadejte panice.
Avatar
BluPri
Člen
Avatar
BluPri:3.2.2017 16:06

Může mi prosím někdo vysvětlit co přesně dělá negace v programování?

 
Odpovědět
3.2.2017 16:06
Avatar
Odpovídá na BluPri
Erik Šťastný:3.2.2017 16:31

Myslíš operátor " ! " ?
To stejné co v normální logice, mění True na False a opačně :)

Editováno 3.2.2017 16:31
 
Odpovědět
3.2.2017 16:31
Avatar
BluPri
Člen
Avatar
Odpovídá na Erik Šťastný
BluPri:4.2.2017 21:42

Děkuji za odpověď. :-)

 
Odpovědět
4.2.2017 21:42
Avatar
David Vavrečka:11.5.2017 19:15

Ahoj, chci se jen zeptat k čemu přesně slouží ToString(), nikde v serialu jsem to tady, ani v předchozích lekcích nenašel. Díky :-)

 
Odpovědět
11.5.2017 19:15
Avatar
gcx11
Tvůrce
Avatar
Odpovídá na David Vavrečka
gcx11:11.5.2017 19:35

Obecně to převede cokoliv na řetěžec. V tomto případě se převede znak (char) na řetězec (string), jinak bys v tom switchi nemohl naráz porovnávat velké a malé písmeno.

 
Odpovědět
11.5.2017 19:35
Avatar
David Vavrečka:11.5.2017 20:27

Aha. Díky. :-)

 
Odpovědět
11.5.2017 20:27
Avatar
Martin Kostelka:3.6.2017 15:24

Jen malá připomínka, jsem sice začátečník, ale když zvolíte čísla a náhodou se překliknete u operace, tak podle toho kódu místo aby požádal znovu o zadání početní operace, tak se to zeptá pouze."přeje te si zadat další příklad" vím že to asi bude jen malichernost ale znovu projíždět zadávání čísel nebylo by lepší udělat stejně kód jako u chyby při zadávání čísel?Vím že mi předtím někdo radil s cyklem ale goto mi příjde pohodlnější

 
Odpovědět
3.6.2017 15:24
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 149.