• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

pytanie początkującego - prosta pętla while

0 głosów
286 wizyt
pytanie zadane 11 sierpnia 2019 w C i C++ przez Filip Rerek Nowicjusz (190 p.)

Cześć :) Jestem początkującym programistą. Obecnie szlifuję pętlę while, wymyślam zadania i je piszę. W jednym mam problem, ponieważ wyniki są za każdym razem złe i nie mam pojęcia, co napisałem nie tak. W zadaniu chodzi o to, że miesięcznie wrzucamy dziecku jakiś grosz do skarbonki, a program, wiedząc od którego roku życia dziecka i do którego roku życia dziecka oraz ile miesięcznie wrzucamy, policzy ile będzie pod koniec, np. na osiemnastkę.

#include <iostream>

using namespace std;

int wiek_mlodszy, wiek_starszy, oszczednosci_miesiecznie, oszczednosci=0;

int main()
{
        cout<<"Od ktorego roku zycia dziecka bedziesz wplacal pieniadze na jego konto oszczednosciowe: ";
        cin>>wiek_mlodszy;
        cout<<"Do ktorego roku zycia dziecka bedziesz wplacal pieniadze na jego konto oszczednosciowe: ";
        cin>>wiek_starszy;
        cout<<"Ile miesiecznie bedziesz odkladal na jego konto oszczednosiowe (w PLN): ";
        cin>>oszczednosci_miesiecznie;

    while(wiek_starszy>=wiek_mlodszy)

    {

        wiek_mlodszy++;
        oszczednosci=(wiek_starszy-wiek_mlodszy)*12*oszczednosci_miesiecznie;

        cout<<"Po "<<wiek_starszy-wiek_mlodszy<<". latach, na koncie Twojego dziecka bedzie "<<oszczednosci<<" PLN.";


    }



    return 0;
}

 

komentarz 11 sierpnia 2019 przez Undisputed Gaduła (3,040 p.)
16 linijka zamień warunek while(wiek_starszy>=wiek_mlodszy) na while(wiek_starszy>wiek_mlodszy) i przeanalizuj sobie to :)
komentarz 11 sierpnia 2019 przez tkz Nałogowiec (42,060 p.)

To nadal nie rozwiązuje problemu. 

#include <iostream>
 
using namespace std;
 
int wiek_mlodszy, wiek_starszy, oszczednosci_miesiecznie, oszczednosci=0;
 
int main()
{
        cout<<"Od ktorego roku zycia dziecka bedziesz wplacal pieniadze na jego konto oszczednosciowe: ";
        cin>>wiek_mlodszy;
        cout<<"Do ktorego roku zycia dziecka bedziesz wplacal pieniadze na jego konto oszczednosciowe: ";
        cin>>wiek_starszy;
        cout<<"Ile miesiecznie bedziesz odkladal na jego konto oszczednosiowe (w PLN): ";
        cin>>oszczednosci_miesiecznie;
    int ileOszczedza = wiek_starszy - wiek_mlodszy;
    while(ileOszczedza)
    {
        oszczednosci+=12*oszczednosci_miesiecznie;
        cout<<"Po "<<ileOszczedza<<". latach, na koncie Twojego dziecka bedzie "<<oszczednosci<<" PLN.";
        ileOszczedza--;
    }
 
    return 0;
}

 

komentarz 11 sierpnia 2019 przez Filip Rerek Nowicjusz (190 p.)

@Filip Rerek, dzięki bardzo za pomoc, wszystko przeanalizowałem. Jednak dalej wynik jest taki sam, mianowicie zamiast jednej odpowiedzi, przykładowo:

wiek_mlodszy=5

wiek_starszy=8

oszczednosci_miesieczne=10

"Po 3. latach na koncie dziecka będzie 240 PLN"

Jest:

"Po 3. latach na koncie dziecka będzie 240 PLN", "Po 2. latach na koncie dziecka będzie 120 PLN", "Po 1. latach na koncie dziecka będzie 0 PLN"

Liczba odpowiedzi zależy od różnicy wiek-starszy - wiek_mlodszy. Czy błąd leży w złym warunku? Obliczenia wydają się być dobre.

#include <iostream>

using namespace std;

int wiek_mlodszy, wiek_starszy, oszczednosci_miesiecznie, oszczednosci;

int main()
{
        cout<<"Od ktorego roku zycia dziecka bedziesz wplacal pieniadze na jego konto oszczednosciowe: ";
        cin>>wiek_mlodszy;
        cout<<"Do ktorego roku zycia dziecka bedziesz wplacal pieniadze na jego konto oszczednosciowe: ";
        cin>>wiek_starszy;
        cout<<"Ile miesiecznie bedziesz odkladal na jego konto oszczednosiowe (w PLN): ";
        cin>>oszczednosci_miesiecznie;

    while(wiek_mlodszy<wiek_starszy)

    {

        wiek_mlodszy++;
        oszczednosci=(wiek_starszy-wiek_mlodszy)*12*oszczednosci_miesiecznie;

        cout<<"Po "<<(wiek_starszy-wiek_mlodszy)+1<<". latach, na koncie Twojego dziecka bedzie "<<oszczednosci<<" PLN.";


    }



    return 0;
}

 

komentarz 11 sierpnia 2019 przez tkz Nałogowiec (42,060 p.)
#include <iostream>
  
using namespace std;
  
int wiek_mlodszy, wiek_starszy, oszczednosci_miesiecznie, oszczednosci=0;
  
int main()
{
        cout<<"Od ktorego roku zycia dziecka bedziesz wplacal pieniadze na jego konto oszczednosciowe: ";
        cin>>wiek_mlodszy;
        cout<<"Do ktorego roku zycia dziecka bedziesz wplacal pieniadze na jego konto oszczednosciowe: ";
        cin>>wiek_starszy;
        cout<<"Ile miesiecznie bedziesz odkladal na jego konto oszczednosiowe (w PLN): ";
        cin>>oszczednosci_miesiecznie;
    int ileOszczedza = wiek_starszy - wiek_mlodszy;
        oszczednosci = 12*oszczednosci_miesiecznie*ileOszczedza ;
        cout<<"Po "<<ileOszczedza<<". latach, na koncie Twojego dziecka bedzie "<<oszczednosci<<" PLN.";
  
    return 0;
}

 

2 odpowiedzi

+1 głos
odpowiedź 11 sierpnia 2019 przez michal_php Stary wyjadacz (13,700 p.)
W ogóle to nie jest za bardzo Ci potrzebna ta pętla do tego zadania.

Bo podajesz wiek zaczęła i końca co możesz już sobie zrobić różnice ile odkładasz w miesiącach i do tego możesz pomnożyć przez miesięczne odkładanie i masz wynik.
komentarz 11 sierpnia 2019 przez tkz Nałogowiec (42,060 p.)
No nie, pętla jest potrzebna, bo wypisuje "przebieg" tych oszczędności.
0 głosów
odpowiedź 11 sierpnia 2019 przez enigmatycznyclay Bywalec (2,450 p.)

Zamiast:

oszczednosci=(wiek_starszy-wiek_mlodszy)*12*oszczednosci_miesiecznie;

Daj:

oszczednosci += 12*oszczednosci_miesiecznie;

 

Podobne pytania

0 głosów
2 odpowiedzi 471 wizyt
pytanie zadane 1 maja 2017 w JavaScript przez Konfeusz Bywalec (2,810 p.)
0 głosów
2 odpowiedzi 303 wizyt
pytanie zadane 12 kwietnia 2017 w C i C++ przez Borys Kaczmarek Użytkownik (630 p.)
0 głosów
2 odpowiedzi 189 wizyt
pytanie zadane 29 października 2016 w C i C++ przez Daniel Dzwonkowski Nowicjusz (230 p.)

93,427 zapytań

142,421 odpowiedzi

322,649 komentarzy

62,787 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...