Pomoc w zadaniu

NA
  • Rejestracja:około 11 lat
  • Ostatnio:prawie 8 lat
  • 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:około 11 lat
  • Ostatnio:13 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;
    }
edytowany 3x, ostatnio: Proxima
MA
  • Rejestracja:około 12 lat
  • Ostatnio:ponad 9 lat
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:prawie 14 lat
  • Ostatnio:około 4 godziny
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);

PR
Masz racje. Zapomniałem o tym ;d
NA
  • Rejestracja:około 11 lat
  • Ostatnio:prawie 8 lat
  • Postów:5
0

Dzięki Wielkieeeee ! :)

_13th_Dragon
  • Rejestracja:prawie 20 lat
  • Ostatnio:17 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 ?


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.

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.