Skocz do zawartości

[C]Początki z C, problem z programem


Finger

Polecane posty

Witam, od kilku dni zacząłem uczyć się C tak na boku i piszę sobie różne programy. Napisałem prosty program liczący dodawanie, odejmowanie, mnożenie i dzielenie, ale coś mi nie do końca chce działać. Jak próbuję policzyć iloraz to nieważne jakie dane bym próbował tam wsadzić i tak zwraca 0. Próbowałem też zamieniać wartości x,y w funkcji dzielenie na flot, ale i tak nic to nie dało. Co tutaj jest źle?

 

 

#include <stdio.h>

#include <stdlib.h>

 

int mnozenie(int x,int y)

{

return x*y;

}

 

float dzielenie(int x,int y)

{

return x/y;

}

 

int dodawanie(int x,int y)

{

return x+y;

}

 

int odejmowanie(int x,int y)

{

return x-y;

}

 

int main()

{

int a,b,c;

printf("Podaj pierwsza liczbe: \n");

scanf("%d", &a);

 

printf("Podaj druga liczbe: \n");

scanf("%d",&b);

 

printf("Wybierz dzialanie:\n");

printf("1. dodawanie\n");

printf("2. odejmowanie \n");

printf("3. mnozenie \n");

printf("4. dzielenie \n");

scanf("%d",&c);

 

switch ©

{

case 1:

printf("Wynik dodawania tych liczb to %d",dodawanie(a,B));

break;

case 2:

printf("Wynik odejmowania tych liczb to %d",odejmowanie(a,B));

break;

case 3:

printf("Wynik mnozenia tych liczb to %d",mnozenie(a,B));

break;

case 4:

printf("Wynik dzielenia tych liczb to %d",dzielenie(a,B));

break;

}

 

 

return 0;

 

}

Link do komentarza
Udostępnij na innych stronach

W funkcji dzielenie() daj

return (float)x/(float)y;

albo zmień argumenty na float, a najlepiej wszystkie typy zmiennych w programie zmień na float, wtedy będziesz mógł operować na liczbach zmiennoprzecinkowych. I w printf() zamiast %d daj %f.

Etharnion - 2D RPG

Szukam grafika chętnego do współpracy przy projekcie.

Link do komentarza
Udostępnij na innych stronach

W funkcji dzielenie() daj

return (float)x/(float)y;

albo zmień argumenty na float, a najlepiej wszystkie typy zmiennych w programie zmień na float, wtedy będziesz mógł operować na liczbach zmiennoprzecinkowych. I w printf() zamiast %d daj %f.

 

 

Własnie tego %f mi brakowało. Dzięki wielkie :)

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...