[C#] syntax error (???)

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Alesh2020 22. 10. 2021 18:44

Ach jo, takže v kšeftu máš oddělení dochucovadel (třída 1) tam řádek s Tabascem (potomek třídy 1, třída 2) a pak její instanci, tu jednu jedinou lahvičku. https://files.fm/u/a22mbatj7

Já si právě myslel, že "instance" je prostě něco jako výsledek v matice... :hm
Ách jo, kam si má teda člověk psát poznámky... :hm
Alesh2020
Junior
Uživatelský avatar

Odeslat příspěvekod Wikan 22. 10. 2021 19:02

Ne, to by nebyl dobrý model. Vztah předek-potomek je vztah generalizace-specializace. Řádek s Tabascem není speciální případ oddělení dochudovadel.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod Alesh2020 23. 10. 2021 10:58

Ách jo, kam si má teda člověk psát poznámky... :hm
Alesh2020
Junior
Uživatelský avatar

Odeslat příspěvekod Alesh2020 26. 10. 2021 08:09

Dá se razit pravidlo že private/public je přístupná v rámci metody, zatímco public je přístupná v rámci (celého) programu?
Ách jo, kam si má teda člověk psát poznámky... :hm
Alesh2020
Junior
Uživatelský avatar

Odeslat příspěvekod Wikan 26. 10. 2021 08:43

Tady máš pěknou tabulku, co je odkud vidět:
https://docs.microsoft.com/en-us/dotnet ... -modifiers
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod Alesh2020 26. 10. 2021 09:51

1) deklaruji si dvě celočíselné proměnné a inicializuji je dvěma hodnotami.
2) dělím první proměnnou tou druhou, a nemohu použít operátor %.

Mě tyhle "vzorové úlohy" z knihy nebaví, ale autor je tam asi nenasázal pro srandu. Jediné řešení, co mě napadlo:

Kód: Vybrat vše
using System;

namespace A
{
    class Program
    {
        static void Main(string[] args)
        {
            int prvni = 26;
            int druha = 7;
            int deleni = prvni / druha;
            int vysledek = prvni - (deleni * druha);
            Console.WriteLine("Výsledek: " + vysledek);
        }
    }
}


Více simple to snad nejde (doufám).

// vydělím první / druha, výsledek uložím do „delení“ Výsledek je 3, nejdřív vynásobím výsledek dělení (3) druhou proměnnou (7), dostanu 21. 26-21=5. Zbytek po dělení je 5.
Ách jo, kam si má teda člověk psát poznámky... :hm
Alesh2020
Junior
Uživatelský avatar

Odeslat příspěvekod Wikan 26. 10. 2021 10:16

A otázka zní?
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod Alesh2020 26. 10. 2021 10:56

Jde to udělat jednodušej? Slyšel jsem, že se programy maj dělat co nejjednodušej...
Ách jo, kam si má teda člověk psát poznámky... :hm
Alesh2020
Junior
Uživatelský avatar

Odeslat příspěvekod Wikan 26. 10. 2021 11:00

Nejde.
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod Alesh2020 26. 10. 2021 12:56

Děkuji.
Ách jo, kam si má teda člověk psát poznámky... :hm
Alesh2020
Junior
Uživatelský avatar

Odeslat příspěvekod Alesh2020 28. 10. 2021 07:17

Kód: Vybrat vše
using System;

namespace A
{
    class Program
    {
        static void Main(string[] args)
        {
            int prvni = 26;
            int druha = 7;
            int treti = 11;
            int deset = 10;
            int pocet = 0;
            if (prvni < deset)
                pocet = ++;
            if (druha < deset)
                pocet = ++;
            if (treti < deset)
                pocet = ++;
            Console.WriteLine("Počet čísel menších než 10: " + pocet);
        }
    }
}


Zdravím, co dělám blbě?
A] mám deklarovat tři celočíselný proměnný.
B] napsat program který mi spočítá počet hodnot menších než 10.
C] zobrazit to na konzoli.

Nejde to ani zkompilovat.

-- 28. 10. 2021 09:01 --

Je zajmavý, že jednom "if" nejde použít dvakrát "<". Když napíšu:
Kód: Vybrat vše
using System;

namespace A
{
    class Program
    {
        static void Main(string[] args)
        {
            int prvni = 17;
            int druha = 8;
            int treti = 39;
            int pomocna = 0;
           
            if (prvni < druha)
        }
    }
}


Neřve to. Když to změním na "if (prvni < druha < treti)" tak prej "Operátor < nejde použít na operandy typu bool a int.". V čem je problém? I předtím jsem tam pracoval s proměnnými typu int...
Ách jo, kam si má teda člověk psát poznámky... :hm
Alesh2020
Junior
Uživatelský avatar

Odeslat příspěvekod Wikan 28. 10. 2021 09:41

pocet = ++; je nesmysl. Asi jsi chtěl napsat pocet++; případně pocet += 1; případně pocet = pocet + 1; Všechno jsou to ekvivalentní zápisy, ale v praxi se používá hlavně ten první.

if (prvni < druha < treti) opravdu napsat nejde. Správný zápis je if (prvni < druha && druha < treti)
Wikan
Moderátor
Uživatelský avatar

Odeslat příspěvekod Alesh2020 28. 10. 2021 10:54

Děkuji, sem noob...
Ách jo, kam si má teda člověk psát poznámky... :hm
Alesh2020
Junior
Uživatelský avatar

Odeslat příspěvekod Alesh2020 29. 10. 2021 07:31

Kód: Vybrat vše
using System;

namespace A
{
    class Program
    {
        static void Main(string[] args)
        {
            int prvni = 40;
            int druha = 78;
            int treti = 55;
            int pomocna = 9;

            if (prvni >= druha && prvni <= treti)
            {
                Console.WriteLine("Prostřední hodnota je " + prvni);
            }
            if (druha >= prvni && druha <= treti)
            {
                Console.WriteLine("Prostřední hodnota je " + druha);
            }
            if (treti >= druha && treti <= prvni)
            {
                Console.WriteLine("Prostřední hodnota je " + treti);
            }
            Console.WriteLine("Pomocná hodnota je: " + pomocna);
        }
    }
}



Zdravím, tady mi to zase nějak nešlape. Mám tři čísla, a mám určit, které z nich je PROSTŘEDNÍ (pokud mluvíme o velikosti). Z nějakého důvodu se mi na konzoli zobrazí jen ta "Pomocná hodnota: 9"... :hm
Ách jo, kam si má teda člověk psát poznámky... :hm
Alesh2020
Junior
Uživatelský avatar

Odeslat příspěvekod soban 29. 10. 2021 09:09

A co na tom nechápeš?

Pokud ty čísla nevyhovují žádné podmínce tak se žádný kod za IF nemůže provést.....


if (prvni >= druha && prvni <= treti)
40 >= 78 AND 40 <= 55
0 AND 1 je 0

if (druha >= prvni && druha <= treti)
78 >= 40 AND 78 <= 55
1 AND 0 je 0

if (treti >= druha && treti <= prvni)
55 >= 78 AND 55 <= 40
0 AND 0 je 0

PS
proč si nezjistíš co dělá && ?

PS2
pochybuji že v knize nejsou vysvětlené logické operátory && a || atd......

PS3
a k čemu tam máš proměnnou pomocná? To by mě zajímalo?
Autor ti poradil že máš používat &&?
Podle mě ne když tam máš proměnnou pomocná tak ji máš použít a využít znalosti co jsi se naučil v předchozích kapitolách a né používat funkce které neznáš (&&)! A které budou vysvětlené později.

PS4
Dělej příklady tak jak je autor vymyslel a nepřeskakuj kapitoly když na to nemáš - ve škole se taky učí nejdříve 1+1=2 a až později se učí logické funkce AND, OR,
/----------------------------------------\
| Petr Šobáň |
| Olomouc |
\----------------------------------------/
soban
Pokročilý

Předchozí stránkaDalší stránka

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků