# C Program to Make Simple Calculator

« Previous Program Next Program »

In this article, you will learn and get about creating a simple calculator program in C. Simple calculator means a calculator that performs four basic mathematical operation such as addition, subtraction, multiplication, and division. Here calculator program created in two ways:

To make a simple calculator in C programming that performs basic four mathematical operations, use the switch case to identify the input operator to perform the required calculation as shown in the program given below.

## Calculator Program in C using switch case

Here is a simple menu-driven program based on simple calculation like addition, subtraction, multiplication and division according to user's choice:

```#include<stdio.h>
#include<conio.h>
int main()
{
float num1, num2, res;
int choice;
do
{
printf("2. Subtraction\n");
printf("3. Multiplication\n");
printf("4. Division\n");
printf("5. Exit\n\n");
scanf("%d", &choice);
if(choice>=1 && choice<=4)
{
printf("\nEnter any two Numbers: ");
scanf("%f %f", &num1, &num2);
}
switch(choice)
{
case 1:
res = num1+num2;
printf("\nResult = %0.2f", res);
break;
case 2:
res = num1-num2;
printf("\nResult = %0.2f", res);
break;
case 3:
res = num1*num2;
printf("\nResult = %0.2f", res);
break;
case 4:
res = num1/num2;
printf("\nResult = %0.2f", res);
break;
case 5:
return 0;
default:
printf("\nWrong Choice!");
break;
}
printf("\n------------------------\n");
}while(choice!=5);
getch();
return 0;
}```

This program was build and run under Code::Blocks IDE. Here is the initial snapshot of the sample run:

Now supply any input (as choice from 1 to 5) in a way that:

• Enter 2 for Subtraction
• Enter 3 for Multiplication
• Enter 4 for Division
• And enter 5 to exit

Let's suppose user enters 2 as his/her choice, so program will asks again to enter any two number to perform the subtraction. For example, if user enters 2 as choice and 20 as first number, then 10 as second number. Press ENTER key to see the output as shown in the snapshot given below:

Press 5 to exit the calculation process. Let's take a look at the explanation of this program.

#### Program Explained

• Because a do-while loop executes its statement first, then checks the condition (at last of the loop's body) after running all the statements placed inside the block of this loop
• So, program flow enters into the do body, and all the 5 menu gets printed automatically
• And then program asks from user to enter his/her choice from 1 to 5
• Let's suppose if user enters 2 as input, 2 gets initialized to choice variable
• Because the value of choice is greater than or equal to 1 and less than or equal to 4
• So program flow goes inside the if block and scans two numbers from user
• Let's suppose, user enters two numbers say 20 and 10
• Now using the switch case, program flow goes inside its block and created all the 5 cases with its corresponding operations that is from addition to exit
• Because user enters 2 as input, so case 2's statement gets executed
• Therefore num1-num2 or 20-10 or 10 gets initialized to res variable
• And the value of res gets printed as output, which is the subtraction result of the two given number
• Then use break statement to go to the condition part of do-while loop and checks whether the value of choice is not equal to 5 or not
• If it is not equal to 5, then program flow again goes back to the start of do-while loop's body
• Otherwise, if it is equal to 5, then program flow exits from do-while loop
• Do the operation until user enters 5 as his/her choice. That's it

## Calculator Program in C using Function

After understanding the above program, it is easy to create the same program using function. So here is the calculator program that uses function in C.

```#include<stdio.h>
#include<conio.h>
float subFun(float, float);
float mulFun(float, float);
float divFun(float, float);
int main()
{
float num1, num2, res;
int choice;
do
{
printf("2. Subtraction\n");
printf("3. Multiplication\n");
printf("4. Division\n");
printf("5. Exit\n\n");
scanf("%d", &choice);
if(choice>=1 && choice<=4)
{
printf("\nEnter any two Numbers: ");
scanf("%f %f", &num1, &num2);
}
switch(choice)
{
case 1:
printf("\nResult = %0.2f", res);
break;
case 2:
res = subFun(num1, num2);
printf("\nResult = %0.2f", res);
break;
case 3:
res = mulFun(num1, num2);
printf("\nResult = %0.2f", res);
break;
case 4:
res = divFun(num1, num2);
printf("\nResult = %0.2f", res);
break;
case 5:
return 0;
default:
printf("\nWrong Choice!");
break;
}
printf("\n------------------------\n");
}while(choice!=5);
getch();
return 0;
}
{
return (a+b);
}
float subFun(float a, float b)
{
return (a-b);
}
float mulFun(float a, float b)
{
return (a*b);
}
float divFun(float a, float b)
{
return (a/b);
}```

Here is the sample run of above program:

Here all the four function takes two floating-point values as its argument, does the operation and then return it to the main function. That is, its return value gets initialized to res variable. To learn about function in detail, then refer to Function in C tutorial.

#### Same Program in Other Languages

C Online Test

« Previous Program Next Program »