Я новичок в C и пытаюсь понять, почему мой код возвращает int в мою переменную с плавающей запятой pounds
, а не ожидаемое число с плавающей запятой. При тестировании я могу заставить свой код возвращать только целые числа. Вот мой код, и я использую Dev-C++ v4.9.9.2 в соответствии с указаниями моего профессора.
#include <stdio.h>
#define WALK_CAL 5
#define STAND_CAL 2
#define DRINK_CAL 20
#define FOOD_CAL 40
#define CALS_PER_POUND 3500
main(){
int minWalk;
int minStand;
int minDrink;
int minEat;
float pounds;
printf("How many minutes were you walking? \n");
scanf("%d", &minWalk);
printf("How many minutes were you standing? \n");
scanf("%d", &minStand);
printf("How many minutes were you drinking? \n");
scanf("%d", &minDrink);
printf("How many minutes were you eating? \n");
scanf("%d", &minEat);
pounds = ((((minDrink*DRINK_CAL)+(minEat*FOOD_CAL))-((minWalk*WALK_CAL)+(minStand*STAND_CAL)))/CALS_PER_POUND)*-1;
if(pounds >= 0){
printf("You lost %.3f pounds today! \n", pounds);
} else {
printf("Weight lost is %.3f pounds. \n", pounds);
}
system("pause");
return 0;
}