Pomoc w zadaniu

NA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
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:

Kopiuj
#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();
} 
PR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Pomorskie (Stare Kabaty)
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.

Kopiuj
    
   double pr=0;
   double ps=1500;
   for(int i=0;i<a;i++)
    {
		pr = 0.023 * ps;
                ps+=pr;
    }
MA
  • Rejestracja: dni
  • Ostatnio: dni
1
Kopiuj
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();
} 
SI
  • Rejestracja: dni
  • Ostatnio: dni
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);

NA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

Dzięki Wielkieeeee ! :)

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
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 ?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.