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
Slepice1
Nevyplnené
Avatar
Slepice1:1.3.2013 17:32

Taky možné řešení:
Jena mám problém s tím že když dám 'N' tak mi to normálně vypíše poděkování a můžu to ukončit. Ale když dám 'A' nenapíše se mi "Zadej první číslo:" hned, ale musím ho potvrdit jakýmkoliv tlačitkem.

Console.WriteLine("Kalkulačka 1.0");
           bool opakovani1 = true;

           while (opakovani1 == true)
           {
               Console.WriteLine("Napiš první číslo:");
               float vstup1;
               while (!float.TryParse(Console.ReadLine(), out vstup1))
                   Console.WriteLine("Napsali jste špatné číslo!");
               Console.WriteLine("Napiš druhé číslo:");
               float vstup2;
               while (!float.TryParse(Console.ReadLine(), out vstup2))
                   Console.WriteLine("Napsal jsi špatné číslo!");
               Console.WriteLine("Vyber si operaci:");
               Console.WriteLine("Sčítání stiskni: +");
               Console.WriteLine("Odčítání stiskni: -");
               Console.WriteLine("Násobení stiskni: *");
               Console.WriteLine("Dělení stiskni: /");
               bool opakovani2 = true;
               float vysledek = 0;
               while (opakovani2 == true)

              {
                   char a = Console.ReadKey().KeyChar;

                   opakovani2 = false;
                   switch (a)
                   {
                       case '+':
                           vysledek = vstup1 + vstup2;
                           break;
                       case '-':
                           vysledek = vstup1 - vstup2;
                           break;
                       case '*':
                           vysledek = vstup1 * vstup2;
                           break;
                       case '/':
                           vysledek = vstup1 / vstup2;
                           break;
                       default: opakovani2 = true;
                           Console.WriteLine();
                           Console.WriteLine("Špatné zadání! Opakuj:");
                           break;
                   }
               }
               Console.WriteLine();
               Console.WriteLine("Výsledek: " + vysledek);
               bool platneZadani = false;
               while (!platneZadani)
               {
                   Console.WriteLine("Pokud chceš počítat znovu stiskni A pokud ne stiskni N");
                   char konec = Console.ReadKey().KeyChar;

                   switch (konec)
                   {
                       case 'a':
                           opakovani1 = true;
                           platneZadani = true;
                           Console.WriteLine();
                           break;
                       case 'n':
                           opakovani1 = false;
                           platneZadani = true;
                           Console.WriteLine();
                           Console.WriteLine("Děkuji za použití kalkulačky, aplikaci ukončíte stiskem jakéhokoliv tlačítka.");
                           break;
                       default:
                           platneZadani = false;
                           Console.WriteLine("Špatná klávesa!");

                           break;
                   }
               }

               Console.ReadKey();
Avatar
terror569
Člen
Avatar
terror569:4.4.2013 23:29

zatim to bylo dobry, ale ted jsem se ztratil uz od bool platnaVolba = true; az dolu

Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na terror569
David Hartinger:5.4.2013 8:53

platnaVolba je proměnná typu bool, nabývá hodnot true (prava) nebo false (nepravda). Slouží k uložení toho, zda je volba platná či nikoli. Nejprve se předpokládá, že je platná, pokud je zadáno něco jiného, ve větvi default se do ní uloží false. V článku je to samozřejmě vysvětlené hned podtím.

Editované
Odpovedať
New kid back on the block with a R.I.P
Avatar
David Hartinger
Vlastník
Avatar
Odpovedá na
David Hartinger:5.4.2013 9:01

Protože máš na konci Console.ReadKey(); Uprav to třeba takhle:

...
    case 'n':
        opakovani1 = false;
        platneZadani = true;
        Console.WriteLine();
        Console.WriteLine("Děkuji za použití kalkulačky, aplikaci ukončíte stiskem jakéhokoliv tlačítka.");
        Console.ReadKey();
        break;
...

A ten ReadKey() dole vymaž.

Odpovedať
New kid back on the block with a R.I.P
Avatar
terror569
Člen
Avatar
terror569:7.4.2013 20:16

jo uz to chapu. Prave ze se to nechci ucit jak to rict.. z pameti ale abych vedet co, kde se dela. diky za radu (:

Avatar
matej.skulsky:1.7.2013 13:13

Perčo si písal stále...Conso­le.WriteLine("Ne­platná voľba...."), keď si si mohol dofinovať napr. string zle ... Console.Write­Line(zle , "")

Avatar
Juraj Mlich
Tvůrce
Avatar
Odpovedá na matej.skulsky
Juraj Mlich:1.7.2013 13:16

Načo? Takto je to prehľadnejšie :)

Avatar
Petr Čech
Tvůrce
Avatar
Petr Čech:10.7.2013 10:17

Dá se nějak udělat, aby se zjistilo, jestli uživatel stisknul nějakou klávesu za daný časový úsek, a nečekalo by se na to? Myslím něco jako char key=Console.Re­adKey().KeyChar; aniž by se na to čekalo.

Odpovedať
the cake is a lie
Avatar
Odpovedá na Petr Čech
Luboš Běhounek Satik:10.7.2013 10:39

Pokud mas spusteny nejaky cyklus, tak v nem muzes volat winapi metodu GetKeyState a kontrolovat stav klaves.

http://msdn.microsoft.com/…S.85%29.aspx

Odpovedať
https://www.facebook.com/peasantsandcastles/
Avatar
done
Člen
Avatar
done:27.10.2013 17:01

Tyto tutoriály k C# .NET jsou opravdu dobře udělané. Nejdříve teorie a poté praktická zkouška a cvičení. Opravdu super práce :)

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.