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

Dziwnie działająca pętla (problem)

Object Storage Arubacloud
+1 głos
114 wizyt
pytanie zadane 13 maja 2016 w C i C++ przez kistel66 Początkujący (370 p.)

Program na początek pyta ile zapłacił klient, ile wynosi kwota produktu, a następnie oblicza resztę, jaką należy wydać. Potem powinien wyświetlić w jakich banknotach możną tę resztę wydać.

Testowałem na razie tylko setki i już pojawił się problem.

#include <iostream>
#include <cstdlib>
int main()
{
   using namespace std;
    cout << "Podaj cene produktu: ";
    int cena;
    cin>>cena;
    cout << "Podaj ile zaplacil klient: ";
    int kwota;
    cin>>kwota;
    int reszta;
    reszta=kwota-cena;
    cout << "Reszta wynosi: " << reszta << endl;
        int i;
        for (i=1; cena<reszta; i++)
            cena+=100;

        cout << "Mozesz wydac reszte w " << i << " banknotach 100 zl" << endl;


        system("pause");
    return 0;
}

Dla danych wejściowych np.: 100 i 1100, działa prawidłowo, ale już dla 400 i 800 pokazuje, że resztę można wydać w 1 banknocie 100 zł.

Próbowałem zamienić znak "<" na "<=", ale to niewiele pomogło.

1 odpowiedź

+2 głosów
odpowiedź 13 maja 2016 przez adas94 Nałogowiec (29,200 p.)
wybrane 13 maja 2016 przez kistel66
 
Najlepsza

Zauważ, że przy 800 i 400, cena i reszta wynoszą po 400 zł, a w pętli for masz warunek cena < reszta, więc nie dziw się, że w ogóle nie wchodzi Ci do tej pętli tylko od razu masz cout z i=1 

 

Jeśli zależy Ci tylko na podaniu w ilu setkach dostaje się resztę, to podziel reszta przez 100 i wypisz to coutem, ta pętla for nie ma sensu żadnego. 

komentarz 13 maja 2016 przez kistel66 Początkujący (370 p.)
Dzięki bardzo za pomoc.
komentarz 14 maja 2016 przez DragonCoder Nałogowiec (36,500 p.)
Ja bym troche "urzeczywistnil" program( nw czemu ale zazwyczaj taram sie to robic jak tylko sie da), moze dodac if i podac warunki ze jezeli resta jest np. 2 grosze to mozna dodac 2 grosze albo 2x1 grosz.... Jezeli chce cie sie "pobawic"

Podobne pytania

+1 głos
2 odpowiedzi 379 wizyt
pytanie zadane 1 maja 2021 w JavaScript przez mialbiaek Użytkownik (510 p.)
0 głosów
5 odpowiedzi 207 wizyt
pytanie zadane 17 maja 2015 w C i C++ przez serabio Nowicjusz (180 p.)
0 głosów
1 odpowiedź 454 wizyt
pytanie zadane 31 stycznia 2018 w JavaScript przez kingkushlee Gaduła (3,960 p.)

92,580 zapytań

141,433 odpowiedzi

319,665 komentarzy

61,965 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...