Pagini recente » Cod sursa (job #2717041) | Cod sursa (job #424576) | Cod sursa (job #327832) | Cod sursa (job #3181044) | Cod sursa (job #1097728)
#include<fstream>
#include<string>
using namespace std;
int l;
string s;
int rezult();
int factor() {
int f=0;
if (s[l]=='(') { ++l; f=rezult(); ++l; }
else
while (s[l]>='0'&&s[l]<='9') { f=f*10+int(s[l])-48; ++l; }
return(f);
}
int termen() {
int t=factor();
while (s[l]=='*'||s[l]=='/') {
if (s[l]=='*') { ++l; t*=factor(); }
else { ++l; t/=factor(); }
}
return(t);
}
int rezult(){
int v=termen();
while (s[l]=='+'||s[l]=='-') {
if (s[l]=='+') { ++l; v+=termen(); }
else { ++l; v-=termen(); }
}
return(v);
}
int main(void) {
ifstream fin("evaluare.in");
ofstream fout("evaluare.out");
getline(fin,s);
fout<<rezult();
return(0);
}