Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno C# cykly a výpočet

Ak máš len R1 a R2, tak žiaden cyklus nepotrebuješ.

To, či je číslo zadané správne, skontroluješ pomocou metódy double.TryParse, ktoré ti v prípade úspechu uloží rozpoznanú hodnotu do výstupnej premennej, takže nepotrebuješ potom volať double.Parse.

To, či je číslo kladné, skontroluješ pomocou porovnania s 0.

Vzorec pre výpočet výsledného odporu (a vlastne aj všetko ostatné) ti už napísal MM.

Výsledok by mohol vyzerať takto:

static bool TryParseResistanceValue(string text, out double result)
{
	// hodnota nemá formát čísla
	if (!double.TryParse(text, out result))
		return false;
	
	// hodnota nie je kladná
	if (result <= 0)
		return false;
	
	// všetko je o.k.
	return true;
}

void btnpocitej_Click(object sender, EventArgs e)
{    
	double r1, r2;

	if (!TryParseResistanceValue(txtR1.Text, out r1))
	{
		MessageBox.Show("Zadaný odpor R1 musí byť kladné číslo.");
		return;
	}

	if (!TryParseResistanceValue(txtR2.Text, out r2))
	{
		MessageBox.Show("Zadaný odpor R2 musí byť kladné číslo.");
		return;
	}
	
	double result = 1 / ((1 / r1) + (1 / r2));
	
	txtvysledek.Text = string.Format("{0} Ω", result);
}

OT k nemiestnym komentárom k C#: :-)
Lepšie ako v dementnej Jave s dementne riešenými výnimkami, ktorá navyše nepozná ani partial class. :-p

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny