Kalkulator nie wyświetla mi cyfr po przeciunku

0

Witam, nie wiem dlaczego program nie wyświetla mi cyfr po przecinku, jestem w tym nowy, więc się średnio orientuję jeszcze. Zapewne to jakaś drobnostka, której ja nie dostrzegam. A oto mój program:

 
int main()

{

 int a, b, x;
 float z;
   char c;
   printf("Proszę podać pierwszą liczbę: \n");
            scanf("%d", &a);
       printf("Proszę podać drugą liczbę: \n");
            scanf("%d", &b);
            getchar();
       printf("Jaką operacje chcesz wykonać (podaj znak +,-,* lub /): \n");
       scanf("%c", &c);

switch (c)
{
          case   '+': x=a+b;
                   printf("Wynik to: %d\n", x);
                   break;
          case   '-': x=a-b;
                   printf("Wynik to: %d\n", x);
                   break;
          case   '*': z=a*b;
                   printf("Wynik to: %f\n", z);
                   break;
          case   '/': z=a/b;
                   printf("Wynik to: %f\n", z);
                   break;
}
return 0;
}

2

Skoro a i b są int'ami to wynik a/b to też int(dlatego tracisz część po przecinku).
Wystarczy, żeby dzielna lub dzielnik były zmiennoprzecinkowe: z=(float)a/b;.
BTW. lepiej jest korzystać z typu double, a nie float.

0

Wielkie dzięki ;]

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