Rente

Status
Niet open voor verdere reacties.

mmaarrkk

Gebruiker
Lid geworden
19 apr 2006
Berichten
234
hey mensen.. nog ff een vraagje, Ik heb een programma gemaakt wat je eindkapitaal zou moeten uitrekenen na 5 jaar (elk jaar komt de rente er bij). Nu gebruik ik een while loop maar hij herhaalt niet:S doe ik iets fout?:

private void btn_Bereken_Click(object sender, EventArgs e)
{
double startbedrag, eindbedrag, rente;
int jaar;

startbedrag = double.Parse(txt_Startbedrag.Text);

jaar = 0;

while (jaar <= 5)
{
jaar = jaar + 1;
rente = ((startbedrag / 100) * 5);
eindbedrag = startbedrag + rente;
lbl_Eind.Text = eindbedrag.ToString();
}

als ik 100 invul komt er 105 euro uit (dat is maar 1 jaar en neit 5) terwijl er eigenlijk 127 euro uit meot komen.. Weet iemand waarom mijn while loop niet werkt?

Alvast bedankt!

mvg

Mark
 
rente = ((startbedrag / 100) * 5);
eindbedrag = startbedrag + rente

Hoi Mark, de lust zal best 5 x doorlopen worden hoor.
Code:
Lus 1e:  keer:
rente = ((startbedrag / 100) * 5) => 1*5 =5
eindbedrag = startbedrag + rente => 100 + 5 = 105

Lus 2e:  keer:
rente = ((startbedrag / 100) * 5) => 1*5 =5
eindbedrag = startbedrag + rente => 100 + 5 = 105

Lus Xe keer :
rente = ((startbedrag / 100) * 5) => 1*5 =5
eindbedrag = startbedrag + rente => 100 + 5 = 105

Je snapt 'm al denk ik he?

Code:
private void btn_Bereken_Click(object sender, EventArgs e)
{
double startbedrag, eindbedrag, rente;
int jaar;

startbedrag = double.Parse(txt_Startbedrag.Text);

jaar = 0;

eindbedrag=startbedrag;

while (jaar <= 5)
{
jaar = jaar + 1;
rente = ((eindbedrag/ 100) * 5);
eindbedrag = eindbedrag + rente;
lbl_Eind.Text = eindbedrag.ToString();
}

Ik neem aan dat je ook kunt zeggen
eindbedrag += rente;
maar ik programmeer niet in C#, dus weet ik niet 100% zeker.
 
Code:
private void btn_Bereken_Click(object sender, EventArgs e)
{
double bedrag; 
double rente;
int jaar;

bedrag = double.Parse(txt_Startbedrag.Text);

jaar = 0;
rente = 1.05;

while (jaar < 5)
{
jaar = jaar + 1;
bedrag = bedrag * rente;
}
lbl_Eind.Text = bedrag.ToString();
}

Zo doorloopt hij 5x de while loop.
Zoals jij het had, zou hij het 6x doorlopen. Omdat hij bij 0 begint en <= kan gaan t/m 5 zijn het dus 6 loops.
Daarnaast de rente als privevariabele 1x laten setten. Scheelt je processortijd omdat hij dat maar 1x hoeft te doen.
Als laatste de lbl toewijzing buiten de while loop gezet. Dit omdat het maar 1x hoeft te gebeuren. Op het eind.
 
heys uper mooi.. hier zat ik nou tijden op te kniezen.. snapte niet wat er fout ging maar dat het zon dom foutje was wist ik ook weer niet:P dankje!
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan