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

C++ problem z zadaniem

0 głosów
697 wizyt
pytanie zadane 15 października 2017 w C i C++ przez Huberti Gaduła (4,500 p.)

Krolestwo Naturlandii, gdzie jednostka monetarna jest twarp, stosuje nastepujaca skale podatkowa:

- pierwszych 5 000 twarpow: 0% podatku,

- następnych 10 000 twarpow: 10% podatku,

- następnych 20 000 twarpow: 15% podatku,

- dochód przekraczający 35 000 twarpów: 20% podatku.

Na przykład ktoś, kto zarabia 38 000 twarpów, powinien zapłacić tytułem podatku 4600 twarpów. Napisz program który w pętli wyliczy i pokaże należność podatkową.

Czy ktoś mógłby dać mi wskazówkę, jak sprawić, aby poniższy program wyliczał należność podatkową za pomocą pętli?

#include <iostream>
#include <cstdlib>

int main()
{
    using namespace std;

    double zarobek=0;
    cout<<"Podaj swoj dochod w twarpach: ";
    cin>>zarobek;
    if (zarobek<0 || cin.good()==false)
    {
        exit(0);
    }
    else
    {
        int do_zaplaty=0;
        
        if (zarobek<=5000)
            do_zaplaty=zarobek*0.00;

        else if (zarobek>5000 && zarobek<=15000)
            do_zaplaty=(zarobek-5000)*0.10;

        else if (zarobek>15000 && zarobek<=35000)
            do_zaplaty=(zarobek-15000)*0.15+10000*0.10;

        else if (zarobek>35000)
            do_zaplaty=(zarobek-35000)*0.20+20000*0.15+10000*0.10;

        cout<<"Musisz zaplacic "<<do_zaplaty<<" podatku."<<endl;
    }
    return 0;
}

 

komentarz 15 października 2017 przez Huberti Gaduła (4,500 p.)
Doprecyzuję, napisałem program rozwiązujący problem, ale jest on niezgodny z treścią zadania. Jak można zapisać te if-y za pomocą pętli? Nie wiem, jak się za to zabrać.

2 odpowiedzi

+1 głos
odpowiedź 15 października 2017 przez LightInWindow Użytkownik (720 p.)
Bo tutaj robisz dla jednego progu podatkowego.

Zauważ, że 38000*0,2 = 7600, to ma być coś takiego

38000 : 5000 = 0 podatku , zostało 33000 do opodatkowania,

33000 : 10000 = 1000 , zostalo 23000,

23000 : 20000 = 3000 , zostalo 3000

3000 : 35000 = 600, zostalo 0 do opodatkowania

Suma podatku 4600 jak w przykładzie.

Ja bym użył tutaj switcha coś w stylu.

Jeżeli próg jest mniejszy to idź dalej, a jak natrafi na większy lub równy kwocie to jedzie do końca odejmując po kolei.
0 głosów
odpowiedź 15 października 2017 przez Corvette 653 Początkujący (400 p.)
... ktoś ukrył poprzednią wiadomość akurat jak ją zmieniłem XD

jak dla mnie chodzi o to aby wrzucić cały program do 1 dużej pętli program skończy się dopiero gdy użytkownik wpisze np 1 dzięki temu będziesz mógł policzyć np 3 wyliczenia nie uruchamiając 3 razy programu

ale nie przejmuj się że twoje zadanie nie jest idealne tutaj chodzi również o pomysłowość to dobrze że myślisz troche inaczej :)
komentarz 16 października 2017 przez Huberti Gaduła (4,500 p.)
Program powinien wyliczać należność podatkową za pomocą pętli, a nie działać w pętli.
komentarz 20 listopada 2018 przez Rosol Kuba Początkujący (380 p.)

@Corvette 653, i co dales rade??

Podobne pytania

–1 głos
1 odpowiedź 308 wizyt
pytanie zadane 9 kwietnia 2018 w C i C++ przez NewUser115 Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 885 wizyt
0 głosów
2 odpowiedzi 275 wizyt
pytanie zadane 4 września 2017 w C i C++ przez student97 Nowicjusz (210 p.)

93,735 zapytań

142,672 odpowiedzi

323,294 komentarzy

63,297 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...