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
Jan Křížek:16.11.2018 11:31

Mám dotaz ohledně příkladu s odmocninou. Nerozumím, proč je podmínka nastavena tak aby zadané číslo bylo větší jak nula, a v else je nula zahrnuta s výstupním textem "Odmocnina ze záporného čísla neexistuje!" ?. Čistě z matematického hlediska 0 není ani záporným ani kladným číslem a navíc se dá odmocnit.

Avatar
Tomáš Endlicher:25.11.2018 14:01

Ahoj, nevíte někdo proč mi pátý řádek od spodu hlásí chybu?

Console.Write­Line("Zadejte první číslo:");
float a = float.Parse(Con­sole.ReadLine());
Console.Write­Line("Zadejte druhé číslo:");
float b = float.Parse(Con­sole.ReadLine());
Console.Write­Line("Zvolte operaci");
Console.Write­Line("1 - sčítání");
Console.Write­Line("2 - odčítání");
Console.Write­Line("1 - násobení");
Console.Write­Line("2 - dělení");
int volba = int.Parse(Con­sole.ReadLine());
float vysledek = 0;
if (volba == 1)
vysledek = (a + b);
if (volba == 2)
vysledek = (a - b);
if (volba == 3)
vysledek = (a * b);
if (volba == 4)
vysledek = (a / b);
Console.Write­Line("Výsledek je {0}", vysledek);
else
if ((volba < 1) && (volba > 4))
Console.Write­Line("Neplatná volba");
Console.ReadKey();

Avatar
Odpovedá na Tomáš Endlicher
Neaktivní uživatel:25.11.2018 19:46

Pokud chceš pouze za určité podmínky vykonat více věcí, musíš je dát do složených závorek. To znamená, že to <code>else</code> už tam nemá vůbec žádný smysl. Předpokládám, že to, co jsi chtěl, je tak nějak:

if (volba == 4) vysledek = (a/b);
if (volba > 0 && volba < 5) Console.WriteLine("Výsledek je {0}", vysledek);
else Console.WriteLine("Neplatná volba");

A příště prosím používej tlačítko na vložení kódu (<code></></code> vedle smajlíka), ono se to pak líp čte.

Odpovedať
Neaktivní uživatelský účet
Avatar
Filip Dvořáček :4.3.2019 17:02

Ahoj,
mám problém s podmínkami. Nedokážu ho nijak blíže popsat. Prostě nefungují. Přikládám sem jeden kód tak mi ho prosím někdo zkontrolujte.
Předem děkuji za pomoc
Filip

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Kalkulačka
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Výtejte v jednoduché kalkulačce!");
            Console.WriteLine("Zadejte 1. číslo:");
            float a = float.Parse(Console.ReadLine());
            Console.WriteLine("Zadejte 2. číslo:");
            float b = float.Parse(Console.ReadLine());
            Console.WriteLine("Zvolte druh operace:");
            Console.WriteLine("1-Sčítání");
            Console.WriteLine("2-Odčítání");
            Console.WriteLine("3-Násobení");
            Console.WriteLine("4-Dělení");
            int operace = int.Parse(Console.ReadLine());
            float vysledek = 0;
            if (operace == 1)
                vysledek = a + b;
            else
            if (operace == 2)
                vysledek = a - b;
            else
            if (operace == 3)
                vysledek = a * b;
            else
            if (operace == 4)
                vysledek = a / b;

            if (operace <0 && operace >5)
                Console.WriteLine("Neplatná operace!");
            else
            Console.WriteLine("Výsledek je ", vysledek );

            Console.ReadKey();
        }
    }
}
Avatar
Filip Dvořáček :4.3.2019 17:24

Nebo zde:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp5
{
    class Program
    {
        static void Main(string[] args)
        {
            if (3 > 5) ;
                Console.WriteLine("pravda");
            Console.WriteLine("dsrf");
            Console.ReadKey();
        }
    }
}

Podmínka nebyla splněna a stejně vypíše "pravda".
Kde dělám chybu?
Ještě dodávám, že pokud vzorový kód zkopíruju (Ctrl C a V) tak funguje, ale pokud ho opíšu tak nefunguje.
Děkuji za pomoc
Filip

Editované
Avatar
Odpovedá na Filip Dvořáček
Neaktivní uživatel:4.3.2019 17:29

Co konkrétně ti nefunguje? Jestli

if (operace < 0 && operace > 5)

tak

  1. Buďto uvedeš hodnoty, které jsou mimo rozsah platných možností (0 a 5), nebo použiješ operátory, které nezahrnují hodnoty jim předložené (<code><</code> a <code>></code>). Vzhledem k tomu, že to kombinuješ, si počítač myslí, že 0 a 5 jsou platné.
  2. Hodnota určitě nebude najednou mimo rozsah nahoře i dole. Místo <code>&&</code> použij <code>||</code>.
Odpovedať
Neaktivní uživatelský účet
Avatar
Odpovedá na Filip Dvořáček
Neaktivní uživatel:4.3.2019 17:32

V tomto případě je problém ve středníku za podmínkou. Oddělej ho a všechno bude v pořádku.

if (3 > 5) ;
Odpovedať
Neaktivní uživatelský účet
Avatar
Odpovedá na Neaktivní uživatel
Filip Dvořáček :4.3.2019 17:36

Tento kod vypise "Výsledek je" viz fot.
Díky

Avatar
Odpovedá na Neaktivní uživatel
Filip Dvořáček :4.3.2019 17:40

Moc díky za pomoc středník jsem odendal a fungujeto!

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.