Írjunk programot, amely rekurzióval számítja ki a kamatos kamat értékét és jelenítsük meg évenkénti bontásban.
A feladat megoldása:
static double Kamat(int év, double összeg, double kamatláb)
{
if (év == 0) { return összeg; }
else
{
összeg = összeg * (1.0 + kamatláb / 100.0);
return Kamat(év - 1,összeg, kamatláb);
}
}
private void button1_Click(object sender, EventArgs e)
{
int év, i;
double ered, összeg, kamatláb;
string s;
if (textBox1.Text != "" && textBox2.Text != "" &&
textBox3.Text != "")
{
összeg = Double.Parse(textBox1.Text);
kamatláb = Double.Parse(textBox2.Text);
év = Int32.Parse(textBox3.Text);
ered = Kamat(év, összeg, kamatláb);
textBox4.Text = ered.ToString("#.#####");
listBox1.Items.Clear();
for (i = 1; i <= év; i++)
{
ered = Kamat(i, összeg, kamatláb);
s = i.ToString("#.#####") +
". év végén az összeg: "
+ ered.ToString();
listBox1.Items.Add(s);
}
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox4.Text = ""; listBox1.Items.Clear();
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
textBox4.Text = ""; listBox1.Items.Clear();
}
private void textBox3_TextChanged(object sender, EventArgs e)
{
textBox4.Text = ""; listBox1.Items.Clear();
}
A program futási eredményei: