# Thread: doubles variable

1. ## doubles variable

Hi. This is my first post, sorry if i seem a bit n00b.

I just started learning C and I met a problem.

Code:
```#include <stdio.h>

double oper;
double a, b;
double add, minus, divide, times;

main()
{
printf("Please choose an operator. 1 for addition, 2 for subtraction, 3

for division and 4 for multiplication: \n");
scanf("%d", &oper);
printf("Enter the first number: \n");
scanf("%
d", &a);
printf("Enter the second number: \n");
scanf("%d", &b);
add = b + a;
minus = a - b;
times = a * b;
divide = a / b;
if (oper == 1) {
printf("%d + %d = %d", a, b, add);
}
if (oper == 2) {
printf("%d - %d = %d", a, b, minus);
}
if (oper == 3) {
printf("%d / %d = %d", a, b, divide);
}
if (oper == 4) {
printf("%d * %d = %d", a, b, times);
}
getchar();
return 0;
}```
Yeah. When i run this, none of the operators work. For example, while adding stuff and i type 1, 2 and then 3 i get 2 + 0 = 3.

But when I change the variables to int it all works again, just that it rounds off.

How can I solve this problem?

2. Stop reading and printing the variables as ints.

Use &#37;f or %lf (search which is appropriate for scanf() and printf()... I think they are different.), but definitely not %d.

3. thanks alot MacGyver!

4. Welcome to cboard.

Popular pages Recent additions