NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Mezinárodní den IT společnosti je tady! Pouze nyní můžeš získat 90 % extra kreditů při nákupu od 1199 kreditů s promo kódem AJTACI90. Tak neváhej!

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
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 1.8.2015 23:34
Odpovědět
1.8.2015 23:33
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

 
Odpovědět
8.9.2015 15:53
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);
 
Odpovědět
5.12.2015 16:48
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
5.12.2015 19:44
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..

 
Odpovědět
17.2.2016 0:14
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

 
Odpovědět
19.2.2016 18:32
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
19.2.2016 20:44
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 19.2.2016 20:49
 
Odpovědět
19.2.2016 20:47
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

 
Odpovědět
19.2.2016 20:52
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);
 
Odpovědět
22.2.2016 21:30
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.