Prośba z pomocą przy pierwszym programie w C++

0

Witam, wczoraj zacząłem swoją naukę C++ z filmów Mirosława Zelenta na YT, wszystko fajnie tłumaczy i postanowiłem napisać sobie prosty programik ale niestety nie działa on tak jak należy. Proszę o pomoc.
Otóż program to kalkulator oszczędności, tj program pyta o:

  • miesięczne oszczędności // i w tle mnoży razy 12 i powstają roczne oszczędności
  • oprocentowanie //użytkownik podaje samą liczbę oprocentowania bez znaku %, program tę liczbę w tle dzieli przez 100 i powstaje
  • na ile lat liczyc oszczednosci
    ...
    Tj w praktyce tak ma to wyglądać, załóżmy np.:
  • miesięczne oszczędności: 200zł // *12 = 2400zł = roczne oszczędności
  • oprocentowanie: 4 // 4:100 = 0,04
  • na 3 lata
    ...
    Odsetki = 2400zł * 0,4 = 96zł
    Roczne oszczednosci z odsetkami = 2400zł + 96zł = 2496zł | Oszczednosci za 1 rok
    .....
    Oszczednosci za poprzedni rok: 2496zł
    Roczne oszczednosci: 2496zł + 2400zł = 4896zł
    Odsetki: 4896zł * 0,04 = 195,84zł
    Roczne oszczednosci z odsetkami = 4896zł + 195,84zł = 5091,84zł | Oszczednosci za 2 rok
    .....
    Oszczednosci za poprzedni rok: 5091,84zł
    Roczne oszczednosci: 5091,84zł + 2400zł = 7491,84zł
    Odsetki: 7491,84zł * 0,04 = 299,6736zł
    Roczne oszczednosci z odsetkami = 7491,84zł + 299,6736zł = 7791,5136zł | Oszczednosci za 3 rok
    ....
    Twoje oszczednosci po 3 latach beda wynosic: 7791,5136zł
    ...
    Jak napisać taki program?
    Niżej daje to co teraz napisałem ale mam gdzies błąd, proszę o pomoc```

#include <iostream>

using namespace std;

float miesieczne_oszczednosci, roczne_oszczednosci, oprocentowanie1, oprocentowanie2, lata, odsetki, alloszczednosci;
int main()
{
    cout<<"Miesieczne oszczednosci: ";
    cin>>miesieczne_oszczednosci;
    roczne_oszczednosci = miesieczne_oszczednosci*12;

    cout<<"Roczne oprocentowanie: ";
    cin>>oprocentowanie1;
    oprocentowanie2=oprocentowanie1/100;

    cout<<"Ilosc lat oszczednosci: ";
    cin>>lata;

    odsetki=roczne_oszczednosci*oprocentowanie2;
    alloszczednosci=roczne_oszczednosci+odsetki;

    for (int i=lata; i>=0; i--)
    {
        odsetki=alloszczednosci*oprocentowanie2;
        alloszczednosci=alloszczednosci+odsetki;
    }



    cout<<"Twoje oszczednosci: "<<alloszczednosci<<endl;
    return 0;
}

Proszę o pomoc,Pozdrawiam - świeżak w C++

3
  1. Nie używaj zmiennych globalnych, zmienne powinieneś deklarować i używać w danym zakresie w którym są potrzebne.
  2. Używaj języka angielskiego.
  3. Nazywaj zmienne sensownie co to znaczy oprocentowanie1 oprocentowanie2, ktos kto przeczyta twój kod musi wiedzieć do czego służy.
  4. Nie pisz logiki w funkcji main. Do każdej logiki stosuj osobną funkcję.
  5. Napisz co jest źle - co program liczy źle w tym przypadku.
  6. Nie czytaj tutoriali Pana Z. :-(
0

Tu masz rozwiązanie, zrobione patrząc na przykład który podałeś:

#include <iostream>
using namespace std;

int main()
{
	double monthlySavings;
	cout << "Miesieczne oszczednosci: ";
	cin >> monthlySavings;

	double yearlySavings = monthlySavings * 12;

	double rateOfInterest;
	cout << "Roczne oprocentowanie: ";
	cin >> rateOfInterest;

	int years;
	cout << "Ilosc lat oszczednosci: ";
	cin >> years;

	double interest = (yearlySavings * rateOfInterest);
	interest = (double)(interest / 100.00);
	double allSavings = yearlySavings + interest;

	for (int i = 1; i < years; i++)
	{
		allSavings += yearlySavings;
		interest = (double)((allSavings * rateOfInterest) / 100);
		allSavings += interest;
	}
	cout << endl << "Twoje oszczednosci: " << allSavings << endl;
	return 0;
}

Następnym razem użyj breakpointów w swoim IDE i zobacz gdzie Ci się nie zgadza.

Zastosuj się jeszcze do wskazówek kolegi z góry i będzie ok.

0

...z filmów Mirosława Zelenta...

Widać od razu. Lepiej zainwestuj w jakąś dobrą książkę, bo ktoś kto od pierwszych lekcji uczy korzystania ze zmiennych globalnych na pewno uczy źle. Kup np. Szkołę programowania Prata i z tego się ucz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1