Pętla zwiększająca kwotę bazowa

0

Witam! Mam problem z poniższą pętlą. Prosze o pomoc.

Napisz program, który wyliczy wartość dziennego zarobku za prace wiedząc, że zarobek dzienny obliczany jest według wzoru:

                       zarobek = zarobek z poprzedniego dnia zwiększony o 15%

Przy realizacji zadania zadbaj o podanie kwoty bazowej oraz określeniu liczby dni pracy, która nie może przekroczyć 14 dni

#include<iostream>
using namespace std;
int main()
{	
	int i;
	int k, d;
	
	cout << "Podaj kwote bazowa: ";
	cin >> k;
    cout << "Podaj liczbe dni: ";
    cin >> d;
    
	for(i=k;i<d;i*++) {
	 cout << k+k*(1.15)<< k << endl;
}
	}
2

Nigdzie nie zapamiętujesz nowej wartości k.

Chodzi o to, że po przebiegu pętli w żaden sposób nie modyfikujesz k, więc w następnym przebiegu zaczynasz z tą samą wartością. Musisz użyć przypisania: a = b przypisuje wartość b do a

0

@kq: dzięki. Niestety jestem tutaj nowa:)

1

Zależy, jakie te kwoty są.
Jak małe, to na typie integer liczenie będzie z mocnymi "schodkami", nie będzie to dokładnie 15%.
Na większych też będą obcięcia, ale bardziej się schowają przed oczami.

1
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;

int main()
{   
    double k;
    int d;
    cout<<"Podaj kwote bazowa: ";
    cin>>k;
    cout<<"Podaj liczbe dni: ";
    cin>>d;
    cout.setf(ios::fixed);
    cout<<"no while: "<<setprecision(2)<<k*pow(1.15,d)<<endl<<"while:"<<endl;
    while(d--)  cout<<setprecision(2)<<(k*=1.15)<<endl;
    return 0;
}
0

Ja dodam tylko link z informacją, jakiego typu używać do liczenia pieniędzy i jak to poprawnie robić, TUTAJ

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