Pagini recente » Cod sursa (job #192215) | Cod sursa (job #183842) | Cod sursa (job #2482789) | Cod sursa (job #1041753) | Cod sursa (job #337316)
Cod sursa(job #337316)
#include<stdio.h>
#define N 100005
char v[N], *p=v;
const char in[]="evaluare.in";
const char out[]="evaluare.out";
int b();
int c();
int a()
{
int x=b();
while(*p=='+' || *p=='-')
if(*p=='+')++p, x+=b();
else ++p, x-=b();
return x;
}
int b()
{
int x=c();
while(*p=='*' || *p=='/')
if(*p=='*') ++p, x*=c();
else ++p, x/=c();
return x;
}
int c()
{
int nr=0;
if(*p=='(')++p,nr=a(), ++p;
else while(*p>='0' && *p<='9')
{nr=nr*10+*p-'0';
++p;}
return nr;
}
int main()
{
freopen(in,"r",stdin);
freopen(out,"w",stdout);
scanf("%s",v);
printf("%d\n",a());
return 0;
}