Pagini recente » Cod sursa (job #1309387) | Cod sursa (job #1321937) | Cod sursa (job #2202588) | Cod sursa (job #2795624) | Cod sursa (job #2791558)
#include <stdio.h>
#define MAX 100000
char v[MAX];
int I;
int adunare();
int factor(){
int nr;
if(v[I]=='('){
I++;
nr=adunare();
I++;
}else{
nr=0;
while(v[I]>='0' && v[I]<='9'){
nr=nr*10+v[I]-'0';
I++;
}
}
return nr;
}
int inmultire(){
int rez;
rez=factor();
while(v[I]=='*' || v[I]=='/'){
if(v[I++]=='*')
rez*=factor();
else
rez/=factor();
}
return rez;
}
int adunare(){
int rez;
rez=inmultire();
while(v[I]=='+' || v[I]=='-'){
if(v[I++]=='+')
rez+=adunare();
else
rez-=adunare();
}
return rez;
}
int main(){
FILE *fin, *fout;
fin=fopen("evaluare.in","r");
fout=fopen("evaluare.out","w");
fgets(v, MAX, fin);
I=0;
fprintf(fout, "%d\n", adunare());
fclose(fin);
fclose(fout);
return 0;
}