Mikuláš je tady! Získej 90 % extra kreditů ZDARMA s promo kódem CERTIK90 při nákupu od 1199 kreditů. Pouze do neděle 7. 12. 2025! Zjisti více:
NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Diskuze – Řešené úlohy k 1.-4. lekci 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
Nejnovější komentáře jsou na konci poslední stránky.
Avatar
Odpovídá na perry_tp
Michal Štěpánek:1.8.2015 23:33

protože as Pí je nastaveno jako double. Musel bys to naparsovat na float

float obvod = 2f * float.Parse(Math.PI) * polomer;

nebo rovnou tu proměnnou "pi" definovat jako double a ne float.

Editováno
Odpovědět
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
james
Člen
Avatar
james:8.9.2015 15:53

Tak tohle mi nefungovalo. Neslouží metoda Parse() pouze pro převod z textového řetězce? Použil jsem metodu Convert.ToSin­gle() pro konverzi double --> float.

float obvod = 2f * Convert.ToSingle(Math.PI) * polomer;

Víc na https://msdn.microsoft.com/…ert.tosingle

Avatar
Marek Unzeitig:5.12.2015 16:48

Zdravim, jaký je rozdíl mezi funkcemi Parse() a TryParse()? Např.:

Console.Write("Zadej poloměr kruhu v cm: ");
        string rString = Console.ReadLine();

        double r;
        double.TryParse(rString, out r);
Avatar
Odpovídá na Marek Unzeitig
Neaktivní uživatel:5.12.2015 19:44

Ahoj, pokud se nepovede Parse() tak ti může spadnout program, proto se v některých situacích použivá TryParse(), který ti jen(nemusí) vyhodí chybu, ale program pokračuje dál..
viz. ukázkový příklad

bool funguje;
int x = 0;

string c = Console.ReadLine();
//x = int.Parse(c);
funguje = int.TryParse(c, out x);
if (!funguje)
{
        Console.WriteLine("V programu nastala chyba!, avšak dále pokračuje");
}
Console.WriteLine("Stiskni Enter pro ukončení aplikace.");
Console.ReadLine();

zkus zadat slovo a odkomentovat Parse :)

Odpovědět
Neaktivní uživatelský účet
Avatar
Robyzz
Člen
Avatar
Robyzz:17.2.2016 0:14

Skoda ze som nevedel ze mozem dat miesto input - meno a vlastnost..

Avatar
Robyzz
Člen
Avatar
Robyzz:19.2.2016 18:32

Vysvetli mi to niekto? preco je v Středně pokročilom příklade

int a = int.Parse(Console.ReadLine());

a nasledne

int vysledek = a * a;

To co nechapem je, preco tam je v prvom "a" a v druhom "vysledek"

Dakujem

Avatar
Erik Báča
Člen
Avatar
Odpovídá na Robyzz
Erik Báča:19.2.2016 20:44

Protože a je číslo které jsi zadal a výsledek je druhá mocnina tohoto čísla, nemůžeš přepsat a, protože s ním můžeš chtít dělat více věcí např.

int vysledek1 = a * a;
int vysledek2 = a + a;
int vysledek3 = a - a;

kdybys napsal:

a = a * a;

tak bys s tou proměnou dále nemohl pracovat (změnila by se její hodnota)

Odpovědět
Když mi dáš mínus, napiš proč!
Avatar
pocitac770
Tvůrce
Avatar
Odpovídá na Robyzz
pocitac770:19.2.2016 20:47

Pro popsání úplného postupu pro ty nejblbější (nemyslím nic proti tobě) jsou napsány jednotlivé mezikroky do různých proměnných. U první (a) je načteno číslo z konzole, u druhé (vysledek) si vezmeme číslo z a a umocníme ho na druhou, neboli vynásobíme

vysledek = a * a;

//Edit: + ještě vysvětleno o comment výše

Editováno
Avatar
Robyzz
Člen
Avatar
Robyzz:19.2.2016 20:52

Aha.. chapem sice tomu ale chcel by som to vediet trochu podrobnejsie :) Tak dakujem a sorry za spam

Avatar
Tomáš Novák:22.2.2016 21:30

Podle mě to tu všichni píšete strašně složitě.
Já to napsal jednoduše a vše funguje

Console.WriteLine("Zadej poloměr kruhu");
string s = Console.ReadLine();
float a = float.Parse(s);
Console.WriteLine("Obvod daného kruhu je " + 2 * Math.PI * a);
Console.WriteLine("Obsah daného kruhu je " + Math.PI * a * a);
Nejnovější komentáře jsou na konci poslední stránky.
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 319.