Pomoc w zadaniu

0

Witam, mam zadanie z którym nie mogę sobie za bardzo poradzić. Mógłby ktoś mi pomóc?
Treść zadania:
Pracownik po każdym przepracowanym roku otrzymuje 2,3% podwyżki. Po 35 latach idzie na emeryturę. Stawka przez pierwszy rok wynosi 1500 zł. Napisz program, który po podaniu przez użytkownika lat stażu, podaj jego aktualny zarobek oraz liczbę lat pracy które mu pozostały do emerytury. Zadbaj o to by ilość lat pracy nie przekroczyła 35 oraz by można było ponownie podać ilość lat stażu.

A tutaj co napisałem:

#include <iostream>
#include <conio.h>
#include <math.h>
using namespace std;

int main()
{
	int a,b=1500,c;
	cout<<"Podaj lata stazu: ";
	cin>>a;
	for(int i=1;i<=35; i++)
	{
		b=b+(1500*0.23);
		c=b;
	}
	cout<<"Pracujesz juz: "<<35-a<<" lat\n";
	cout<<"Twoje zarobki wynosza: "<<c<<endl;
	getch();
} 
1

Dlaczego jako warunek dales liczbe lat?
Wyliczamy procent danej liczby przy pierwszej iteracji bedzie to 1500 czyli procent z 1500 to 34.5, dodajemy do b, znowu obliczamy procent, tym razem z 1534, i znowu dodajemy wynik do b.

    
   double pr=0;
   double ps=1500;
   for(int i=0;i<a;i++)
    {
		pr = 0.023 * ps;
                ps+=pr;
    }
1
int main()
{
    int a,b;
    do {
    b=1500;
    cout << "Podaj lata stazu: ";
    cin >> a;
    if ( a >= 0 && a <=35 ) {
    for ( int i=0 ; i<a ; ++i) {
        b+=(1500*0.023);			
    }
    cout<<"Do emerytury: "<<35-a<<" lat\n";
    cout<<"Twoje zarobki wynosza: "<<b<<endl;
    }
    }
    while (a != 100);
    getch();
} 
1

Moim zdaniem trzeba by liczyć podwyżkę od aktualnej pensji, a nie "na sztywno" od 1500 czyli w pętli było by coś takiego:
b = b + (b * 0.023);

0

Dzięki Wielkieeeee ! :)

0
sig napisał(a):

Moim zdaniem trzeba by liczyć podwyżkę od aktualnej pensji, a nie "na sztywno" od 1500 czyli w pętli było by coś takiego:
b = b + (b * 0.023);

Wytłumacz mi proszę bo nie jarzę czemu nie b*=1.023 ?

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