C Programming
C Project - Complete Calculator Application using C Programming
Great, Finally in our previous tutorial, we’ve already built a small Student management application using C programming.
Today, we’ll show a step-by-step guide on how to write a simple calculator application in the C programming language:
¶Setup Environment
¶Set Up Your Development Environment
Ensure you have a C compiler installed on your system. Popular choices include GCC for Unix-like systems (Linux, macOS) and MinGW for Windows. You can use an Integrated Development Environment (IDE) like Code::Blocks, Visual Studio, or simply use a text editor and the command line.
¶Create a New C File
Open your preferred text editor or IDE and create a new C file. Save it with a meaningful name, like calculator.c
.
¶Step by step code instruction
¶Include Necessary Header Files
In your C file, include the necessary header files for input/output and math functions:
#include <stdio.h>
#include <math.h>
In here, stdio.h
is for standard input output and
math.h
is for math functions.
¶Define Function Prototypes
Declare the prototypes for the functions you will use later in the program. These will include functions for basic arithmetic operations and any additional operations you want to support:
float add(float num1, float num2);
float subtract(float num1, float num2);
float multiply(float num1, float num2);
float divide(float num1, float num2);
float modulus(float num1, float num2);
float power(float num, float exponent);
¶Implement Basic Arithmetic Functions
Define functions for addition, subtraction, multiplication, and division. These functions will perform the respective operations:
float add(float num1, float num2) {
return num1 + num2;
}
float subtract(float num1, float num2) {
return num1 - num2;
}
float multiply(float num1, float num2) {
return num1 * num2;
}
float divide(float num1, float num2) {
if (num2 != 0) {
return num1 / num2;
} else {
printf("Error: Division by zero\n");
return 0;
}
}
¶Implement Additional Functions
If you want to support modulus and power operations, implement those functions as well:
float modulus(float num1, float num2) {
if (num2 != 0) {
return fmod(num1, num2);
} else {
printf("Error: Modulus by zero\n");
return 0;
}
}
float power(float num, float exponent) {
return pow(num, exponent);
}
¶Write the Main Function
In the main
function, prompt the user for input, read the numbers and operator, and perform the calculation:
int main() {
char operator;
float num1, num2, result;
printf("Enter first number: ");
scanf("%f", &num1);
printf("Enter operator (+, -, *, /, %, ^): ");
scanf(" %c", &operator);
printf("Enter second number: ");
scanf("%f", &num2);
switch (operator) {
case '+':
result = add(num1, num2);
break;
case '-':
result = subtract(num1, num2);
break;
case '*':
result = multiply(num1, num2);
break;
case '/':
result = divide(num1, num2);
break;
case '%':
result = modulus(num1, num2);
break;
case '^':
result = power(num1, num2);
break;
default:
printf("Invalid operator\n");
return 1;
}
printf("Result: %f\n", result);
return 0;
}
¶Compile and Run
Save your file and compile it using your C compiler. Execute the resulting executable to test your calculator.
¶Complete Source code
#include <stdio.h>
#include <math.h>
// Function prototypes
float add(float num1, float num2);
float subtract(float num1, float num2);
float multiply(float num1, float num2);
float divide(float num1, float num2);
float modulus(float num1, float num2);
float power(float num, float exponent);
int main() {
char operator;
float num1, num2, result;
// Input
printf("Enter first number: ");
scanf("%f", &num1);
printf("Enter operator (+, -, *, /, %, ^): ");
scanf(" %c", &operator);
printf("Enter second number: ");
scanf("%f", &num2);
// Perform calculation based on operator
switch (operator) {
case '+':
result = add(num1, num2);
break;
case '-':
result = subtract(num1, num2);
break;
case '*':
result = multiply(num1, num2);
break;
case '/':
result = divide(num1, num2);
break;
case '%':
result = modulus(num1, num2);
break;
case '^':
result = power(num1, num2);
break;
default:
printf("Invalid operator\n");
return 1; // Exit with an error code
}
// Output the result
printf("Result: %f\n", result);
return 0; // Exit successfully
}
// Function to add two numbers
float add(float num1, float num2) {
return num1 + num2;
}
// Function to subtract two numbers
float subtract(float num1, float num2) {
return num1 - num2;
}
// Function to multiply two numbers
float multiply(float num1, float num2) {
return num1 * num2;
}
// Function to divide two numbers
float divide(float num1, float num2) {
if (num2 != 0) {
return num1 / num2;
} else {
printf("Error: Division by zero\n");
return 0; // Return a default value in case of division by zero
}
}
// Function to calculate modulus
float modulus(float num1, float num2) {
if (num2 != 0) {
return fmod(num1, num2);
} else {
printf("Error: Modulus by zero\n");
return 0; // Return a default value in case of modulus by zero
}
}
// Function to calculate power
float power(float num, float exponent) {
return pow(num, exponent);
}
¶Test and Refine
Test your calculator with various inputs to ensure it works as expected. Consider adding error checking and improving the user interface based on your requirements.
¶Output
Certainly! Here are sample outputs for various operators in the calculator application:
Addition Testing
Enter first number: 15
Enter operator (+, -, *, /, %, ^): +
Enter second number: 7
Result: 22.000000
Subtraction Testing
Enter first number: 20
Enter operator (+, -, *, /, %, ^): -
Enter second number: 8
Result: 12.000000
Multiplication Testing
Enter first number: 9
Enter operator (+, -, *, /, %, ^): *
Enter second number: 6
Result: 54.000000
Division Testing
Enter first number: 36
Enter operator (+, -, *, /, %, ^): /
Enter second number: 4
Result: 9.000000
Modulus Testing
Enter first number: 25
Enter operator (+, -, *, /, %, ^): %
Enter second number: 7
Result: 4.000000
Exponentiation Testing
Enter first number: 2
Enter operator (+, -, *, /, %, ^): ^
Enter second number: 3
Result: 8.000000
Congratulations! You’ve now created a simple calculator application in C. This basic calculator can be expanded and enhanced based on your needs and preferences.
¶Tags:
C programming calculator, Simple C calculator tutorial, C programming for beginners, Building a console calculator in C, Step-by-step C calculator guide, C programming math functions, Creating a calculator application in C, C programming language tutorial, Code example for a C calculator, Understanding C function prototypes, Input/output in C programming, C compiler setup for beginners, C development environment setup, User-friendly C calculator, Handling errors in C programming, C programming switch statement, C programming data types, C scanf function tutorial, Floating-point arithmetic in C, C programming conditional statements, C programming language basics, Arithmetic operations in C with functions, C calculator application demonstration, Building a basic calculator with C, Learn C programming interactively, Interactive C calculator example, Basic C coding for mathematical operations, C programming logic for calculator, Enhancing C calculator with additional functions
Student Management Complete Application Using C Programming
All Tutorials in this playlist
Popular Tutorials
Categories
-
Artificial Intelligence (AI)
11
-
Bash Scripting
1
-
Bootstrap CSS
0
-
C Programming
14
-
C#
0
-
ChatGPT
1
-
Code Editor
2
-
Computer Engineering
3
-
CSS
28
-
Data Structure and Algorithm
18
-
Design Pattern in PHP
2
-
Design Patterns - Clean Code
1
-
E-Book
1
-
Git Commands
1
-
HTML
19
-
Interview Prepration
2
-
Java Programming
0
-
JavaScript
12
-
Laravel PHP Framework
37
-
Mysql
1
-
Node JS
1
-
Online Business
0
-
PHP
28
-
Programming
8
-
Python
12
-
React Js
19
-
React Native
1
-
Redux
2
-
Rust Programming
15
-
SEO - Search Engine Optimization
1
-
Tailwind CSS
1
-
Typescript
10
-
Uncategorized
0
-
Vue JS
1
-
Windows Operating system
1
-
Woocommerce
1
-
WordPress Development
2
Tags
- Artificial Intelligence (AI)
- Bash Scripting
- Business
- C
- C Programming
- C-sharp programming
- C++
- Code Editor
- Computer Engineering
- CSS
- Data Structure and Algorithm
- Database
- Design pattern
- Express JS
- git
- Git Commands
- github
- HTML
- Java
- JavaScript
- Laravel
- Mathematics
- MongoDB
- Mysql
- Node JS
- PHP
- Programming
- Python
- React Js
- Redux
- Rust Programming Language
- SEO
- TypeScript
- Vue JS
- Windows terminal
- Woocommerce
- WordPress
- WordPress Plugin Development