Program do obliczania podatków działa w C++ ale w C nie


(Phight3r) #1

Otóż miałem zrobić na programowanie program, który oblicza podatek od dochodu. Najpierw próbowałem w C jednak po uruchomieniu programu i wpisaniu dochodu program kończył awaryjnie działanie. Napisałem ten sam kod (poza zmianą biblioteki na iostream, cout , cin itd.) w C++ i wszystko działa. Może ktoś wie dlaczego ten kod nie działa?

#include 


int main()

{

    float dochod = 0;

    float podatek = 0;

    float reszta = 0;


    printf("Podaj swoj dochod: ");

    scanf("%f", dochod);


    do

    {

        if (dochod > 0 && dochod < 2790)

        {

            printf("Podatek wynosi: 0");

        }

        if (dochod >= 2790 && dochod < 37024)

        {

            podatek = dochod * 0.19;

            printf("Podatek wynosi: %f", podatek);

            reszta = dochod - podatek;

            printf("Zostaje Ci: %f", reszta);

        }

        if (dochod >= 37024 && dochod < 74048)

        {

            podatek = dochod * 0.30;

            printf("Podatek wynosi: %f", podatek);

            reszta = dochod - podatek;

            printf("Zostaje Ci: %f", reszta);

        }

        else

        {

            podatek = dochod * 0.40;

            printf("Podatek wynosi: %f", podatek);

            reszta = dochod - podatek;

            printf("Zostaje Ci: %f", reszta);

        }


        printf("Podaj ponownie dochod: ");

        scanf("%f", dochod);

    } while (dochod > 0);


    return 0;

}

(Sawyer47) #2

Scanf przyjmuje adresy do zmiennych, nie zmienne, więc scanf("...", &x, &y, ...)


(Phight3r) #3

Dzięki, teraz już wszystko działa.

W obecnej chwili zajmuję się C, poszukałem trochę w Google na temat WinApi i C ale wszystkie materiały są do C++. Czy jest możliwość znajomości C i korzystania z WinApi?


([alex]) #4

WinApi to są zwykle funkcje, które mogą być wywoływane z prawie dowolnego języku.