In this problem, you are required to use for/while loop only to implement a calculator using
++ (increment) and -- (decrement) operators only. The operations that your calculator shall
perform are limited, i.e. addition, subtraction, multiplication, division, remainder and
absolute. Your program shall ask the user about the two input values and an operator, and
then use the switch-case structure to run the required operation (addition, subtraction,
multiplication, division or absolute (symbol ~)).
Prototype are:
• int addition(int n1,int n2);
• int subtraction(int n1,int n2);
• int multiplication(int n1,int n2);
• int division(int num,int denom);
• int remainder(int num,int denom);
• int absolute(int num);
#include <iostream>
using namespace std;
int addition(int n1, int n2);
int subtraction(int n1, int n2);
int multiplication(int n1, int n2);
int division(int num, int denom);
int remainder(int num, int denom);
int absolute(int num);
int main()
{
int n1, n2;
char op;
while (true)
{
cout << "First number: ";
cin >> n1;
cout << "Second number: ";
cin >> n2;
cout << "Enter operation (+, -, /, *, %, ~): ";
cin >> op;
switch (op)
{
case '+':
cout << addition(n1, n2) << endl;
break;
case '-':
cout << subtraction(n1, n2) << endl;
break;
case '*':
cout << multiplication(n1, n2) << endl;
break;
case '/':
cout << division(n1, n2) << endl;
break;
case '%':
cout << remainder(n1, n2) << endl;
break;
case '~':
cout << absolute(n1) << endl;
break;
default:
break;
}
}
return 0;
}
int addition(int n1, int n2)
{
int result = n1;
if (n2 > 0)
{
for (int i = 0; i < n2; i++)
{
result++;
}
}
else
{
for (int i = n2; i < 0; i++)
{
result--;
}
}
return result;
}
int subtraction(int n1, int n2)
{
int result = n1;
if (n2 > 0)
{
for (int i = 0; i < n2; i++)
{
result--;
}
}
else
{
for (int i = n2; i < 0; i++)
{
result++;
}
}
return result;
}
int multiplication(int n1, int n2)
{
if (n2 == 0) return 0;
int result = 0;
for (int i = 0; i < n2; i++)
{
for (int j = 0; j < n1; j++)
{
result++;
}
}
return result;
}
int division(int num, int denom)
{
if (num == 0 || denom == 0) return 0;
int result = 0;
if (num > 0 && denom > 0)
{
while (num > 0)
{
for (int j = 0; j < denom; j++)
{
num--;
}
if (num >= 0) result++;
}
}
if (num < 0 && denom < 0)
{
while (num < 0)
{
for (int j = denom; j < 0; j++)
{
num++;
}
if (num <= 0) result++;
}
}
if (num > 0 && denom < 0)
{
while (num > 0)
{
for (int j = denom; j < 0; j++)
{
num--;
}
if (num >= 0) result--;
}
}
if (num < 0 && denom > 0)
{
while (num > 0)
{
for (int j = 0; j < denom; j++)
{
num++;
}
if (num <= 0) result--;
}
}
return result;
}
int remainder(int num, int denom)
{
while (num > denom)
{
for (int i = 0; i < denom; i++)
{
num--;
}
}
return num;
}
int absolute(int num)
{
if (num >= 0) return num;
else
{
for (int i = num; i < 0; i++)
{
num++;
num++;
}
}
return num;
}
Comments
Leave a comment