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 – 6. diel - Podmienky (vetvenia) 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
matej.skulsky:8.1.2014 19:59

Ako mám napísať kód tak aby mi napísalo všetky čísla od 100-999 , ktoré majú po vydelení 7 zvyšok 2 ? mám začitok

for(int i=100;i<999;i++)

no a ďalej sa neviem pohnúť.

Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovedá na matej.skulsky
Jan Vargovský:8.1.2014 20:01
if(i%7 == 2)
   ...
Avatar
tomas1471000
Člen
Avatar
tomas1471000:25.1.2014 22:35

pri tvorení tej kalkulačky nad switch-om som tam pri každej podmienke ako vy to else nepoúžíval a program mi funguje tak či tak, je to chyba? ak áno prečo?

Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovedá na tomas1471000
Jan Vargovský:25.1.2014 22:45

Je to chyba. Už se to tu jednou řešilo. Když tam nedáš to else, tak program stále testuje, jestli se to nerovná 2 pak 3 pak 4... Jsou to zbytečné instrukce navíc. Takhle u == to nepoznáš, ale kdybys tam měl třeba místo toho <= tak to vykoná všechny podmínky, kdybys zadal třeba 1. Když si odkrokuješ program, poznáš to.

Avatar
Solarian
Člen
Avatar
Solarian:26.1.2014 17:52

Ahoj, nedaří sem mi napsat tu kalkulačku, už jsem to psala 3x a zkopírovala jsem ten kód z článku a pořád mi to nefunguje. Zeptá se mě to na čísla, vypíše volby a potom když chci vybrat operaci, tak to píše pořád dál(i čísla i písmena)a ukončit to jde jedině Enter a nebo křížkem. A dělá mi to i ten druhý kód se switch.

Odpovedať
Hlupáci dělají stále stejné hlouposti. Ti šikovnější stále nové.
Avatar
Solarian
Člen
Avatar
Solarian:26.1.2014 18:34

Omlouvám se za nesmyslný dotaz, ono je potřeba po té volbě operace dát Enter :D:D:D
Ze mě určitě programátor nebude ;)

Odpovedať
Hlupáci dělají stále stejné hlouposti. Ti šikovnější stále nové.
Avatar
Solarian
Člen
Avatar
Odpovedá na psafarcik
Solarian:31.1.2014 22:31

Ahoj, když použiju switch a mám tam několik case a na konci default. Musím napsat pod každou podmínku case co chci aby se mi vypsalo a nebo to jde napsat na jedno místo, pokud je splněná některá z podmínek?

switch (volba)
         {
             case 1:
                    vysledek = a + b;
                    Console.WriteLine("Výsledek je {0}", vysledek);
                    break;
             case 2:
                    vysledek = a - b;
                    Console.WriteLine("Výsledek je {0}", vysledek);
                    break;
             case 3:
                    vysledek = a * b;
                    Console.WriteLine("Výsledek je {0}", vysledek);
                    break;
             case 4:
                    vysledek = a / b;
                    Console.WriteLine("Výsledek je {0}", vysledek);
                    break;

             default: Console.WriteLine("Neplatná volba!");
                    break;

Jestli se to musí psát takhle, tak mi připadá, že je jednodušší použít if - jako je v článku.

Odpovedať
Hlupáci dělají stále stejné hlouposti. Ti šikovnější stále nové.
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovedá na Solarian
Jan Vargovský:31.1.2014 22:34

Switch ti nepovoluje zjistit jestli se udělal nějaký case nebo se zavolal default. Udělej si nějaký boolean před switchem, nastav na true a když bude default nastav mu false. Pak pod tím swichtem měj normálně

if(boolean)
Console.WriteLine("Výsledek je {0}", vysledek);
Avatar
Solarian
Člen
Avatar
Odpovedá na Jan Vargovský
Solarian:1.2.2014 1:34

Tak tady s tím bojuju už 2,5 hodiny a jediné na co jsem přišla je to že bool a boolean spolu nějak souvisí ale nebude to to samé. Nakonec jsem stvořila tohle, ale stejně to nefunguje

bool ano = ((volba == 1) && (volba == 2) && (volba == 3) && (volba == 4));
      bool ne = ((volba == 0) || (volba >= 5));

      switch (volba)
      {
          case 1:
              vysledek = a + b;
              break;
          case 2:
              vysledek = a - b;
              break;
          case 3:
              vysledek = a * b;
              break;
          case 4:
              vysledek = a / b;
              break;
          default: Console.WriteLine("Neplatná volba");
              break;
      }
            if (ano)
            Console.WriteLine("Výsledek je {0}", vysledek);
              else if (ne)
           Console.WriteLine("Neplatná volba");

když nakonec napíšu if (boolean) tak to píše, že je to typ, ale použitý jako proměnná(přeloženo v Googlu)

Odpovedať
Hlupáci dělají stále stejné hlouposti. Ti šikovnější stále nové.
Avatar
petrph
Člen
Avatar
Odpovedá na Solarian
petrph:1.2.2014 8:35

Ahoj- to ti Google napsal správně. p4koo ti tím if(boolean) chtěl říct že si máš udělat proměnnou typu boolean (tu tvou ano), ne že to od něj máš natvrdo opsat:)
A konkrétně to má vypadat takhle
před switch bool ano = true; //nic víc
ve switch v sekci default už to máš napsané správně default: ano=false;
a na konci vymazat v else to "if (ne)"-ta větev else se provede automaticky když ano není true.
Ještě možná k rozdílu mezi boolean a bool.Teda-vysvětluje se to blbě. Musíš rozlišit jestli ten termín používáš ve výkladu,disku­zi,slovním popisu funkce programu a podobně. Pak používáš termín boolean (můžeš si to přeložit jako pravdivostní) čili říkáš tím že jde o nějaký výraz, který lze testovat na to zda to zda je pravdivý nebo nepravdivý-tedy cokoliv co můžeš napsat do podmínky if).
Kdežto slovo bool použiješ přímo v programu jako typ proměnné,do které si ukládáš pravdivostní informaci typu true/false -to je to tvoje
bool ano.

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 173.