Pagini recente » Cod sursa (job #221627) | Cod sursa (job #1653136) | Cod sursa (job #1772181) | Cod sursa (job #2479745) | Cod sursa (job #1133163)
#include <fstream>
#include <string.h>
using namespace std;
ifstream cin("evaluare.in");
ofstream cout("evaluare.out");
char v[100002],*p;
int s;
int a(); int b(); int c();
int main()
{
cin.getline(v,100001); p=v;
cout<<a();
}
int a()
{
int val=b();
while(*p=='+' || *p=='-')
{
switch(*p)
{
case '+':
++p;
val+=b();
break;
case '-':
++p;
val-=b();
break;
}
}
return val;
}
int b()
{
int val=c();
while(*p=='/' || *p=='*')
{
switch(*p)
{
case '/':
++p;
val/=c();
break;
case '*':
++p;
val*=c();
break;
}
}
return val;
}
int c()
{
int val=0;
if(*p=='(')
{
++p;
val=a();
++p;
}
else
{
while(*p>='0' && *p<='9')
{
val=val*10+*p-'0';
++p;
}
}
return val;
}