Program 45 - CSU1128 - CSE 2026 - Shoolini University

Program to make function blocks as a calculator which calculates the operations entered by the user

Explanation

The program functions as a calculator, performing basic arithmetic operations (addition, subtraction, multiplication, and division) entered by the user. It uses separate functions for each operation.

Header

The code begins with including the standard input-output header file using #include <stdio.h>.

Function Declarations

The program declares four functions to perform arithmetic operations:

  • double add(double d, double m);: Declares the function to add two numbers.
  • double sub(double d, double m);: Declares the function to subtract two numbers.
  • double mul(double d, double m);: Declares the function to multiply two numbers.
  • double divide(double d, double m);: Declares the function to divide two numbers.

Variable Declaration

The main() function is defined, and several variables are declared:

  • double d, m: Variables to hold the input numbers.
  • char j: Variable to hold the operator.
  • double result: Variable to hold the result of the operation.

Program Description

The program prints a description message for the user to understand its functionality.

User Input

The user is prompted to enter an arithmetic expression in the form of two numbers separated by an operator:

  • printf("Enter an expression in the form number operand number or (2 + 2): ");: Prompts the user to enter the expression.
  • scanf("%lf %c %lf", &d, &j, &m);: Reads the expression and stores the numbers in d and m, and the operator in j.

Operation and Output

The program uses a switch statement to perform the appropriate operation based on the operator entered by the user:

  • switch (j): Checks the value of the operator.
  • case '+': Calls the add function if the operator is '+' and stores the result in result.
  • case '-': Calls the sub function if the operator is '-' and stores the result in result.
  • case '*': Calls the mul function if the operator is '*' and stores the result in result.
  • case '/': Calls the divide function if the operator is '/' and stores the result in result.
  • default: Prints an error message if the operator is invalid and exits the program.
  • printf("Result: %.2lf\n", result);: Prints the result of the operation formatted to two decimal places.

Function Definitions

The program defines the four arithmetic functions:

  • double add(double d, double m): Defines the function to add two numbers and return the result.
  • double sub(double d, double m): Defines the function to subtract two numbers and return the result.
  • double mul(double d, double m): Defines the function to multiply two numbers and return the result.
  • double divide(double d, double m): Defines the function to divide two numbers and return the result.

Program End

The program ends with return 0; to indicate successful execution.

Code

                    
/*
 * -----------------------------------------------------------
 * Logic Building with Computer Programming (CSU1128)
 * Instructor: Dr. Pankaj Vaidya | Author: Divya Mohan
 * 
 * This code is a part of the educational initiative by dmj.one
 * with aim of empowering and inspiring learners in the field of
 * Computer Science and Engineering through the respective courses.
 * 
 * (c) 2022, Divya Mohan for dmj.one. All rights reserved.
 * -----------------------------------------------------------
 */

#include <stdio.h>

double add(double d, double m);
double sub(double d, double m);
double mul(double d, double m);
double divide(double d, double m);

int main()
{
    printf("\n\n Program to make function blocks as a calculator which calculates the operations entered by the user. \n\n");

    double d, m;
    char j;

    printf("Enter an expression in the form number operand number or (2 + 2): ");
    scanf("%lf %c %lf", &d, &j, &m);

    double result;
    switch (j)
    {
    case '+':
        result = add(d, m);
        break;
    case '-':
        result = sub(d, m);
        break;
    case '*':
        result = mul(d, m);
        break;
    case '/':
        result = divide(d, m);
        break;
    default:
        printf("Invalid operator.\n");
        return 1;
    }

    printf("Result: %.2lf\n", result);

    return 0;
}

// Function definitions
double add(double d, double m)
{
    return d + m;
}

double sub(double d, double m)
{
    return d - m;
}

double mul(double d, double m)
{
    return d * m;
}

double divide(double d, double m)
{
    return d / m;
}

                

Output

Program to make function blocks as a calculator which calculates the operations entered by the user.

Enter an expression in the form number operand number or (2 + 2): 2 * 2
Result: 4.00