Answer to Question #197429 in C++ for Syed Ali

Question #197429

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);


1
Expert's answer
2021-05-23T21:02:30-0400
#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;
}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog