Lab 4

Description:
Write a calculator base on c++.The calculator suppose to display addition, subtraction, multiplication,exponentiation and roman numerials.


#include 
#include 
using namespace std;

void Romannumerial(int num)
{
	if(num > 999)
	{
		cout << "Too large to be transferd to roma number.\n" < 99)
	{
		int n = num / 100;
		if(n == 9)
		{
			cout < 5)
		{
			cout << "D";
			for(int i = 0; i < 10 - n; ++i)
				cout << "C";
		}
		else if(n == 5)
		{
			cout << "D";
		}
		else
		{
			for(int i = 0; i < n; ++i)
				cout < 9)
	{
		int n = num / 10;
		if(n == 9)
		{
			cout < 5)
		{
			cout << "L";
			for(int i = 0; i < 10 - n; ++i)
				cout << "X";
		}
		else if(n == 5)
		{
			cout << "L";
		}
		else
		{
			for(int i = 0; i < n; ++i)
				cout < 0)
	{
		int n = num;
		if(n == 9)
		{
			cout < 5)
		{
			cout << "V";
			for(int i = 0; i < 10 - n; ++i)
				cout << "I";
		}
		else if(n == 5)
		{
			cout << "V";
		}
		else
		{
			for(int i = 0; i < n; ++i)
				cout << "I";
		}
	}
}

int main(int argc, char* argv[])
{
	int cmd;
	bool exit = false;
	while(!exit)
	{
		cout <> cmd;
		int num1, num2;
		int r = 0;
		switch(cmd)
		{
		case 1:
			cout <> num1 >> num2;
			if(num1 > 65536 || num2 > 65536)
				cout << "Warning: value may be to0 large, stack may overflow.\n";
			cout << num1 + num2 << endl;
			break;
		case 2:
			cout <> num1 >> num2;
			if(num1 > 65536 || num2 > 65536)
				cout << "Warning: value may be to0 large, stack may overflow.\n";
			cout << num1 - num2 << endl;
			break;
		case 3:
			cout <> num1 >> num2;
			if(num1 > 65536 || num2 > 65536)
				cout << "Warning: value may be to0 large, stack may overflow.\n";
			r = 0;
			for(int i = 0; i < num2; ++i)
			{
				r += num1;
			}
			cout << r << endl;
			break;
		case 4:
			cout <> num1 >> num2;
			if(num1 > 65536 || num2 > 65536)
				cout << "Warning: value may be to0 large, stack may overflow.\n";
			r = 1;
			for(int i = 0; i < num2; ++i)
			{
				r *= num1;
			}
			cout << r << endl;
			break;
		case 5:
			cout <> num1;
			Romannumerial(num1);
			break;
		default:
			exit = true;
		}
	}
	cout << endl;
	return 0;
}

Screen shot 2013-11-22 at 10.07.46 PM

Leave a Reply

Your email address will not be published. Required fields are marked *