division wont work properly in calculator

hey... i'm back with my calculator. it works just fine until the division part. it can just divide numbers that get a hole number, like it cant calculate 3 / 2... and so on, and it fails when it tries to divide by 0... i dont know how to fix it...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <conio.h>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    while (1)
    {
    
      int Answer;
    
    
      int numberOne;
    
      printf("1st number: ");
      scanf("%d", &numberOne);
    
      fflush(stdin);
      char calculation;
    
      printf("enter Calculation: ");
      scanf("%c", &calculation);
    
    
      int numberTwo;
      printf("2nd number: ");
      scanf("%d", &numberTwo);
    
    
    
      if (calculation == '*')
      {
          Answer = numberOne * numberTwo;
          printf("%d gange %d er %d\n", numberOne, numberTwo, Answer);
      }               
      else if (calculation == '+')
      {
          Answer = numberOne + numberTwo;
          printf("%d pluss %d er %d\n", numberOne, numberTwo, Answer);
      }                
      else if (calculation == '-')
      {
          Answer = numberOne - numberTwo;
          printf("%d minus %d er %d\n", numberOne, numberTwo, Answer);   
      }   
      else if (calculation == '/')
      {
          Answer = numberOne / numberTwo;
          printf("%d delt paa %d er %d\n", numberOne, numberTwo, Answer); 
      }
      printf("\n");
      
   }
          
      getch();
      return EXIT_SUCCESS;
}






Thanks for answers:) :) :) Love<3
Last edited on
like it cant calculate 3 / 2
3/2 is 1 and remains 1
and it fails when it tries to divide by 0
you can't divide by zero.

The way you are reading the input. If I press Enter after the first number, that's what calculation gets.
Change your int type to double or float so you CAN divide 3/2 and get 1.5 instead of 1. int drops the remainder.

Regarding division by zero... obviously the failure is correct. Just add an if in there to prevent division by zero.
shall i change everyone with float/double?
Topic archived. No new replies allowed.