Skip to content

Commit

Permalink
implemented the calculator functions
Browse files Browse the repository at this point in the history
  • Loading branch information
Dprof-code committed Aug 2, 2023
1 parent 6b8d2b0 commit b44fb49
Show file tree
Hide file tree
Showing 6 changed files with 169 additions and 0 deletions.
5 changes: 5 additions & 0 deletions dprofcode/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Calculator Project

## Project Description

The calculator program allows user to perform arithmetic operations by entering two numbers and an arithmetic operator.
Binary file added dprofcode/calc.exe
Binary file not shown.
16 changes: 16 additions & 0 deletions dprofcode/calc.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#ifndef CALC_H
#define CALC_H

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>

int handle_calc(int first_number, int second_number, char *operator);

int sum(int first_number, int second_number);
int minus(int first_number, int second_number);
int multiply(int first_number, int second_number);
int divide(int first_number, int second_number);

#endif
55 changes: 55 additions & 0 deletions dprofcode/functions.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#include "calc.h"

/**
* sum - adds two numbers
*
* @first_number: first number
* @second_number: second_number
*/

int sum(int first_number, int second_number)
{
return (first_number + second_number);
}

/**
* minus - difference between two numbers
*
* @first_number: first number
* @second_number: second_number
*/

int minus(int first_number, int second_number)
{
return (first_number - second_number);
}

/**
* multiply - product of two numbers
*
* @first_number: first number
* @second_number: second_number
*/

int multiply(int first_number, int second_number)
{
return (first_number * second_number);
}

/**
* divide - division between two numbers
*
* @first_number: first number
* @second_number: second_number
*/

int divide(int first_number, int second_number)
{
if (second_number == 0)
{
printf("Error: Division by zero\n");
return (0);
}

return (first_number / second_number);
}
28 changes: 28 additions & 0 deletions dprofcode/handle_calc.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#include "calc.h"

/**
* handle_calc - handles the calculation
*
* Return: solution
*/

int handle_calc(int first_number, int second_number, char *operator)
{
int soln;

if (strcmp(operator, "+") == 0)
soln = sum(first_number, second_number);
else if (strcmp(operator, "-") == 0)
soln = minus(first_number, second_number);
else if (strcmp(operator, "*") == 0)
soln = multiply(first_number, second_number);
else if (strcmp(operator, "/") == 0)
soln = divide(first_number, second_number);
else
{
printf("operator not found\n");
return (-1);
}

return (soln);
}
65 changes: 65 additions & 0 deletions dprofcode/main.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
#include "calc.h"

/**
* main - program start point
*
* Return: 0;
*/

int main()
{
int first_number, second_number, result;
char operator[2];

setbuf(stdout, NULL);

printf("======================Calculator======================\n");

printf("This calculator can carry out the following functionalities: \nAddition\nSubtraction\nMultiplication\nDivision\n");

printf("Enter the numbers and operators below\n");

while (true)
{
printf("Enter the first number: ");
scanf("%d", &first_number);

if (first_number != 0)
{
break;
}

printf("Please enter a valid number.\n");
}

while (true)
{
printf("Enter the second number: ");
scanf("%d", &second_number);

if (second_number != 0)
{
break;
}

printf("Please enter a valid number.\n");
}

while (true)
{
printf("Enter the operator: ");
scanf("%1s", &operator);

if (handle_calc)
{
break;
}

printf("Please enter a valid operator.\n");
}

result = handle_calc(first_number, second_number, operator);

printf("Result: %d", result);
return (0);
}

0 comments on commit b44fb49

Please sign in to comment.