Jest to chyba mój pierwszy post w tym dziale, więc nie krzyczcie jak coś źle. Wiem, że mój problem jest banalny, ale nie mam gdzie znaleźć odpowiedzi na niego. Otóż chodzi mi o dwa typy zmiennych w jednym programie. Co robie źle, że floaty cały czas są zaokrąglane. Chce wpisując dwie liczby całkowite uzyskać ich iloraz jako ułamek. Podaje tylko wywalający się fragment kodu (program jest tak prosty, że właściwie aż wstyd ).
#include
#include
main()
{ int a, b, suma, roznica, iloczyn;
float iloraz;
printf ("podaj a:");
scanf ("%d", &a);
printf ("\npodaj b:");
scanf ("%d", &b);
iloraz=a/b;
printf("\niloraz %d i %d to %f", a, b, iloraz);
getch ();
return 0;
}
Ponieważ w instrukcji iloraz = a/b wedle typów wygląda to tak: float = int/int; A dzielenie int przez int da również int i stąd to. Możesz zrobić tak: iloraz= 1.0 * a / b; dzięki czemu działania będą przeprowadzane na typie float/double.
PS Funkcja główna to int main(void). No i używania conio.h czyni twój program nieprzenośną, na początek nauki C radziłbym używać wyłącznie bibliotek standardowych.