Blame view

P45102_en/S001-AC.cc 581 Bytes
Imanol-Mikel Barba Sabariego authored
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>

using namespace std;

int operate()
{
	int a = 0, b;
	char c,op;
	while(1)
	{
		cin >> c;
		if(cin.eof())
		{
			return a;
		}
		if( c == ')' )
		{
			break;
		}
		else if( c == '(' )
		{
			b = a;
			a = operate();
		}
		else if(c != '+' && c != '-' && c != '*')
                {
			b = a;
                        a = c - 48;
                }
		else
		{
			op = c;
		}
	}
	switch(op)
	{
		case '+':
			return b+a;
			break;
		case '-':
			return b-a;
			break;
		case '*':
			return b*a;
			break;
	}
}
int main()
{
	cout << operate() << endl;
	return 0;
}