Finger Napisano Marzec 24, 2011 Zgłoś Share Napisano Marzec 24, 2011 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 More sharing options...
Adam27 Napisano Marzec 24, 2011 Zgłoś Share Napisano Marzec 24, 2011 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 More sharing options...
Finger Napisano Marzec 24, 2011 Autor Zgłoś Share Napisano Marzec 24, 2011 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 More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.