Pagini recente » Cod sursa (job #456093) | Cod sursa (job #2148734) | Cod sursa (job #1035887) | Cod sursa (job #1283917) | Cod sursa (job #2273240)
#include <bits/stdc++.h>
using namespace std;
char c;
int exp();
int factor();
int termen();
int exp()
{
int val=termen();
while(c=='+' || c=='-')
{
if(c=='+')
{
scanf("%c", c);
val+=termen();
}
else if(c=='-')
{
scanf("%c", c);
val-=termen();
}
}
return val;
}
int termen()
{
int val=factor();
while(c=='*' || c=='/')
{
if(c=='*')
{
scanf("%c", c);
val*=factor();
}
else if(c=='/')
{
scanf("%c", c);
val/=factor();
}
}
return val;
}
int factor()
{
int val=0;
if(c=='(')
{
scanf("%c", c);
val=exp();
scanf("%c", c);
}
else
{
while(c>='0' && c<='9')
{
val=val*10+c-'0';
scanf("%c", c);
}
}
return val;
}
int main()
{
freopen("evaluare.in", "r", stdin);
freopen("evaluare.out", "w", stdout);
scanf("%c", c);
printf("%d", exp());
return 0;
}