Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Pomoc w zadaniu


Rekomendowane odpowiedzi

Opublikowano

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

Zmienna "b" powinna byc typu zmiennoprzecinkowego

 

Co do obliczania ile bedzie wynosic podwyzka powinnes pomnozyc kwote * 0.023   xD

 

W celu zwiekszenia szybkosci dzialania programu zamiast uzywac petli ,mozesz wykorzystac wzor  ,gdyz kwota co roku wzrasta o ta sama wartosc.

1500zl * 0.023 = 34,5zl  -> Tyle wynosi podwyzka co roku

 

Ilosc lat * podwyzka = suma wszystkich podwyzek przez te lata

35 * 1500zl * 0.023 = 35 * 34,5 = 1 207,5 zl

 

Teraz do tego wystarczy dodac kwote poczatkowa 1500 zl 

1500 zl + 1 207,5 zl = 2 707,5zl

 

Czyli wzor bedzie wygladac nastepujaco

lata pracy * kwota poczatkowa * podwyzka = aktualny zarobek

 

 

Wydaje mi sie jednak ,ze podwyzka ma dotyczyc aktualnego zarobku ,wiec bedzie to tak wygladac

for(int i=0;i<n;i++) b*=1.023;
Opublikowano

Zmień warunek pętli na taki, by wykonywał się tyle, ile lat stażu ma pracownik. W wyniku podaj to b. No i daj ifa, który sprawdzi, czy nie przekroczono 35 lat.


Pomagam w projektach dotyczących programowania (C++/C/Java/C#/inne). Jak masz jakiś problem, napisz do mnie, wspólnie poszukamy rozwiązania ;).

Opublikowano

- po pierwsze najpierw musisz policzyć ile obecnie zarabia czyli pętla od i=1 do i=staż
- przy czym podwyżka co roku ( te 0.023 a nie 0.23 bo to 23% ) jest liczona od zwiększonej wypłaty
1rok - 1500zł
2rok - 1500 + 1500*0.023 = 1534.5
3rok - 1534.5 + 1534.5*0.023
ogólnie jak jesteś w średniej to jest wzór który niby też na mature trzeba umieć który to liczy jak podasz procent i co jaki okres czasu się kapitalizują odsetki :D
- b nie może być intem to będzie usunięta część ułamkowa a to jak obetnie wiele razy to dużo wynik ci się zmieni. zmienna a daj int bo to lata pracy i będzie łatwiej pętle zrobić
- komunikat "pracujesz już" jest zły bo wyswietla ile zostalo do emerytury.
- oraz po pobraniu stażu zrób if'a jeśli staż większy od 35 jeszcze raz wyświetl komunikat i pobierz staż
 

Opublikowano

Z nudy napisałem :p.

#include <iostream>
#include <conio.h>
int main()
{
    int staz;
    float zarobki;
    int pozostalo;
std::cout << "Podaj lata stazu: ";
std::cin >> staz;
if( staz > 35 )
{
std::cout << "Jestes juz na emeryturze." << std::endl;
}
if( staz <=35 )
{
zarobki = 1500 + staz * (1500 * 0.023);
std::cout << "Zarabiasz: " << zarobki << std::endl;
pozostalo = 35 - staz;
std::cout << "Pozostalo lat do przepracowania: " << pozostalo << std::endl;
}
getch();
}

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...