Pagini recente » Cod sursa (job #1443819) | Cod sursa (job #372841) | Cod sursa (job #1374615) | Cod sursa (job #2667620) | Cod sursa (job #1510780)
#include <cstdio>
using namespace std;
FILE *f=fopen("evaluare.in", "r");
FILE *g=fopen("evaluare.out", "w");
char s[101];
int poz;
int f3();
int f2();
int f1(){
int r=f2();
while(s[poz]=='+'||s[poz]=='-'){
++poz;
if(s[poz-1]=='+') r+=f2();
else r-=f2();
}
return r;
}
int f2(){
int r=f3();
while(s[poz]=='*'||s[poz]=='/'){
++poz;
if(s[poz-1]=='*') r*=f3();
else r/=f3();
}
return r;
}
int f3(){
if(s[poz]=='('){
++poz;
int val=f1();
++poz;
return val;
}
int val=0;
while('0'<=s[poz]&&s[poz]<='9'){
val=val*10+s[poz]-'0';
++poz;
}
return val;
}
int main()
{
fscanf(f, "%s", s);
fprintf(g, "%d", f1());
return 0;
}