C# Anfänger Zinsprogramm,wie geht es weiter?

TimDim

Commander
Registriert
Okt. 2008
Beiträge
2.692
Hey verzweifle gerade und würde mich über eure Hilfe freuen.

Die Aufgabe lautet wie folgt:
Schreiben Sie ein Programm, das die Zinserträge und das Gesamtkapital eines Sparvertrages berechnet. In den Sparvertrag werden monatlich 100,- € eingezahlt. Das angesparte Guthaben wird mit 1,8 % p.a. verzinst. Die Zinsen werden jeweils am Ende eines Jahres gutgeschrieben.
Gehen Sie beim Erstellen des Programms so vor, dass zunächst der Zinsertrag eines Jahres ermittelt wird. Anschließend soll das Programm dann die Erträge für eine vom Benutzer anzugebende Laufzeit (in ganzen Jahren) berechnen.


Mein Code sieht immoment so aus:
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {

            double ergebnis = 1;

            Console.WriteLine("Programm zur Zinsbrechnung");


            Console.WriteLine("Geben sie die Anzahl von Jahren ein");
            int jahre = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Geben sie die Anzahl von Monaten ein");
            int monate = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Geben sie den Zinssatz ein");
            double Zinssatz = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("Geben sie das Startkapital ein");
            double Startkapital = Convert.ToDouble(Console.ReadLine());


            for (int counter = 0; counter < jahre; counter++)
            {
                ergebnis =Startkapital* Zinssatz;
                ergebnis =Startkapital* Zinssatz*12;

            }
            
        }
    }
}

Wie geht es jetzt weiter?
Achja bitte nicht einfach die Lösung sagen sondern vieleich Tips,möchte es ja lernen und nicht vorgesagt bekommen :)

Mfg.
 
Seite, wo man alle möglichen Zinsberechnungen findet. Einfach schauen, welche Eingaben welchen Werten entsprechen.
 
Also da du eh in ganzen Jahren Rechnen sollst, reicht es nur Jahre als Eingabe anzunehmen. Dann musst du in der for-schleife noch einen Fehler korrigieren, so wird die einmal zu wenig durchlaufen.

Dann solltest du die Berechnung mal anpassen oder willst du bei zB 5% Zinsen als Zinssatz 1,05 angeben ;)? Und es reicht das anzugeben da der Zinssatz ja auch jährlich berechnet werden soll.

Ach und du beachtest nicht das du ab dem 2ten Jahr Zinseszins hast.

​Und eine Ausgabe des Ergebnisses am Ende wäre nicht unpraktisch :D

PS: Keine Lösungen gepostet, wie gewüscht! :)
 
Zuletzt bearbeitet:
Man muss aber auch irgendwie beachten das wenn man das Geld nur einen Monat drauf hat weniger Geld bekommt?
 
1.
Code:
using System.Threading.Tasks;
Das hier brauchst du in deinem Code an sich überhaupt nicht. Das brauchst du erst dann, sobald du mit Multithreading arbeiten willst, um bsp. GUI und Berechnung unabhängig voneinander zu realisieren.
2. Solltest du dir überlegen Abfragen einzubauen, die gewährleisten, dass deine Eingaben auch korrekt sind. Ist zwar natürlich für die reine Lösung nicht wichtig, aber gewöhn es dir lieber zu Beginn an, auch auf solche Kleinigkeiten zu achten.
 
Ja ich bin noch ein totaler Noob dabei und konnte bisher nur so einfache Programme machen aber das Programm übersteigt meine Fähigkeiten,auch von den mathematischen Kentnissen.
 
Laut Aufgabenstellung ist es nicht möglich das Geld nur ein paar Monate auf das Konto zu tun, immer mindestens ein Jahr. Wenn das möglich sein sollte bekommt er einfach garkeine Zinsen da dort expliziet drin steht p.a. (per anno = jährlich)

PS: Setz das ergebnis mal beim start auf 0, sonst bekommt er geld auch ohne was anzulegen :)

@SymA: Lass ihn doch erstmal das rein technische können, DAU Sicher muss es ja noch lange nicht sein.. Das übersteigt sicher seine Fähigkeiten, erstmal das Grundlegende, dann kann man sich darüber Gedanken machen...
 
Zuletzt bearbeitet:
ATIundAMD schrieb:
Ja ich bin noch ein totaler Noob dabei und konnte bisher nur so einfache Programme machen aber das Programm übersteigt meine Fähigkeiten,auch von den mathematischen Kentnissen.

...da Du pro Monat einzahlst aber jährlich verzinst wird, kannst Du einfach den über's Jahr eingezahlten Betrag durch zwei Teilen und diesen dann mit 1,8% verzinsen. Also statt 1200 eben 600 €. ...das gilt natürlich immer nur für das laufende / neue Jahr.
Gibt sicher noch ne elegantere Lösung aber sitze gerade auf Arbeit und kann mir keinen zu großen Kopf machen.
 
Also sagen wir man hat im 1.Monat 100€,darauf bekommt man dann 1,8% Zinsen,dann im 2. Monat wieder 100€ also 200€ und darauf dann wieder 1,8% Zinsen,aber dann hebt man im dritten Monat 50€ ab und dann hat man ja nur noch 150€ und dann darauf wieder 1,8% Zinsen,und natürlich immer dann den Zinseszins der aber erst am Ende des Jahres dazugerechnet wird,so meinte unser Lehrer das.
Niemand ist auf die Lösung gekommen.
Ergänzung ()

Also sagen wir man hat im 1.Monat 100€,darauf bekommt man dann 1,8% Zinsen,dann im 2. Monat wieder 100€ also 200€ und darauf dann wieder 1,8% Zinsen,aber dann hebt man im dritten Monat 50€ ab und dann hat man ja nur noch 150€ und dann darauf wieder 1,8% Zinsen,und natürlich immer dann den Zinseszins der aber erst am Ende des Jahres dazugerechnet wird,so meinte unser Lehrer das.
Niemand ist auf die Lösung gekommen.
 
Oh mir fällt grad auf ich hab die Aufgabenstellung nicht ganz gelesen:

Du musst doch die Monate einlesen :D Aber dann kannst einfach das Startkapital + Anzahl Monate * 100€. Und den Betrag dann mit 1,8% verzinsen, einmal pro Jahr. Ab dem 2ten Jahr aber den Zinseszins nicht vergessen!

Oh man, würd mich wundern wenn eine Bank bei 1,8% p.a. jeden Monat 1,8% Zinsen geben würde, da würde man ja reich werden ^^

Aber k:

Du baust eine Schleife die für jeden Monat einmal aufgerufen wird. Da rechnest du: Kapital = Kapital + 100€. Für das was eingezahlt wird eben. Das erste Kapital ist das Statkapital.
Dann direkt danach Zinsbetrag = Kapital * 0,018. Für die laut deinem Lehrer Monatlichen Zinsen.
Dann noch eine Überprüfung ob der Monat der 12te oder ein vielfaches von 12 ist (24,36 etc). Wenn dem so ist Rechnest du: Kapital = Kapital + Zinsen.
Dann noch für die jährlichen Zinsen: Kapital = Kapital * 1,018.

Das ist dann das Endergebnis wie dein Lehrer es sich vorstellt.


PS: Jetzt ist aber mal ein Danke angebracht :)
 
Zuletzt bearbeitet:
rechnerisch: ((Geld pro Monat) * 12) + (((Geld pro Monat) * 12)/100) * Zinssatz

Dann haste raus, was du am Ende raus hast, sofern nur der Jahresabschluss betrachtet wird.

Zur Umsetzung:

Du gibst ein, was du pro Monat einzahlst und wie hoch der Zinssatz sein soll UND wie viele Jahre das ganze gehen soll.
Mach das ruhig, dann isses beliebig änderbar.

Dann machst du eine Zählschleife

VON 1 BIS zu der Jahreszahl, die du eingibst (so oft wiederholt er das dann).

Insgesamt = Insgesamt + Betrag

Betrag = (Insgesamt + ((Geld pro Monat) * 12) + (((Geld pro Monat)) * 12)/100) * Zinssatz


So, er geht rein, erste Zeile, rechnet er 0 = 0+ 0, ist beim ersten Durchlauf auch richtig so,
danach berechnet er das Geld, was nach einem Jahr aufm Konto ist, das "Insgesamt" ist wichtig.
Zählschleife Ende, er geht wieder hoch, schreibt den Betrag in die Variable Insgesamt, rechnet fürs nächste Jahr seperat aus und addiert den Betrag vom letzten Jahr. Ende Zählschleife, geht wieder neu rein, addiert den Betrag von 2. Jahr mit denen des ersten Jahres,und so weiter und so weiter. Bei jedem Durchlauf rechnet er für jedes Jahr was du einzahlst + alles von den Vorjahren und verzinst das mit deinem Zinssatz.

Ich hoffe ich habs halbswegs verständlich rüber gebracht.

Ich kann nur Visual C++, da könnte ich dir den Code in 2min entwickeln, wenn dir das was hilft.
 
Die Fragestellung ist doch etwas komplex. Für mich sieht es so aus.
Man zahl X Monate in folge (!) und lässt das geld Y Jahr auf dem konto.
beispiel. X= 10, Y = 3

X Y Guthaben
0 0 0
1 0 100
2 0 200
3 0 300
4 0 400
5 0 500
6 0 600
7 0 700
8 0 800
9 0 900
10 0 1000
....
0 1 =1000 * 1.018
...
0 2 =1000 * 1.018 * 1.018
...
0 3 =1000 * 1.018 * 1.018 * 1.018

ENDE

Das ganze musst du allgemein als algorithmus umsetzen. Tipp: ich würde 2 Schleifen machen
 
Ergänzung ()

IC3HANDS schrieb:
Aber dann kannst einfach das Startkapital + Anzahl Monate + 100€. Und den Betrag dann mit 1,8% verzinsen, einmal pro Jahr.

Das ist nicht korrekt.


Die Zinsen werden nur am Jahresende gutgeschrieben, aber bei deiner Rechnung würde man ja 1200 Euro mit 1,8 % verzinsen und das ist nicht korrekt, da im Monat 1 eben nur 100 Euro auf dem Konto waren.

Du musst die Zinsen also durchaus jeden Monat, oder realisitischer jeden Tag, machen, die Gutschrift erfolgt laut Aufgabe am Jahresende.


PS: Und Anzahl Monate + 100Euro stimmt schonmal auch nicht, es ist logischerweise eine Multiplikation.
 
Zuletzt bearbeitet:
easy.2ci schrieb:
Ergänzung ()

Das ist nicht korrekt.


Die Zinsen werden nur am Jahresende gutgeschrieben, aber bei deiner Rechnung würde man ja 1200 Euro mit 1,8 % verzinsen und das ist nicht korrekt, da im Monat 1 eben nur 100 Euro auf dem Konto waren.

Du musst die Zinsen also durchaus jeden Monat, oder realisitischer jeden Tag, machen, die Gutschrift erfolgt laut Aufgabe am Jahresende.


PS: Und Anzahl Monate + 100Euro stimmt schonmal auch nicht, es ist logischerweise eine Multiplikation.

Ja ein Tippfehler mit dem +100€ ^^ Und ich habs auch mal korrigiert.

Und ich habe es eben so verstanden, hab doch schon lange nach seiner kompletten Aussage alles neu hingeschrieben. Bin eben kein Bankier der wissen muss wie genau die ihre Zinsen berechnen um uns auszunehmen :)
 
Monat 1: 100 Euro
Darauf gibt es jetzt 1,8% Zinsen also 1,8 Euro
Zinsen 1: 1,8 Euro

Monat 2: 100 Euro
Darauf gibt es dann 11/12 Monate Zinsen also 1,65 Euro
Zinsen 2: 1,65 Euro

Monat 3: 100 Euro
Zinsen 3: 1,50 Euro

Im Prinzip sollte es ausreichen auszurechnen wieviel Zinsen es monatlich für 100 Euro gibt ( 15 Cent ). Und dies auf die Monate hochzurechnen. ( 78 ) Dann kannst du das Kapital ausweisen: 12 * 100 Euro = 1200 Euro und die Zinsen einfach mit einer Schleife ausrechnen. Zinsen 1 + Zinsen 2 + Zinsen 3 + ... + Zinsen 12= 11,70 Euro

Im Jahr 2 läuft es dann ähnlich, nur dass hier dann noch zusätzlich das vorhandene Kapital ( 1211,70 € ) aus dem Vorjahr mit verzinst wird, fertig. :D

*Edit*
Die Zinsen werden natürlich anteilig auf den jeweils monatlichen Betrag berechnet.
Das mit der jährlichen Auszahlung ist natürlich nur wichtig damit man nicht noch zusätzlich Zinseszinsen auf den monatlichen Zins berechnen muss.

Sprich wenn die Zinsen monatlich gebucht würden, dann müsste man von Anfang an mit dem Zinseszins rechnen.

Monat 1: 100 Euro
Monat 2: 200,15 Euro
Monat 3: 300,3027 Euro und so weiter
 
Zuletzt bearbeitet:
Also ich glaube das der letze Lösungsweg richtig ist.
 
die Zinsen gibts pro Jahr daher steht auch p.a. dran, und das is dann ne normale Verrentung

Endkapital = jährliche Rate *((1+Zins)^JAHRE-1)/Zins

in der Aufgabenstellung steht ja auch nix von Monaten
 
Zurück
Oben