Pagini recente » Cod sursa (job #1490276) | Cod sursa (job #22138) | Cod sursa (job #752804) | Cod sursa (job #1216469) | Cod sursa (job #2063507)
#include <fstream>
#include <cstring>
using namespace std;
ifstream f("evaluare.in");
ofstream g("evaluare.out");
int i=0; char sir[101];
int produs();
int exp();
int adunare()
{
int nr=produs();
while(sir[i]=='+'||sir[i]=='-')
if(sir[i]=='+')
{
++i;
nr=nr+produs();
}
else
{
++i;
nr=nr-produs();
}
return nr;
}
int produs()
{
int nr=exp();
while(sir[i]=='*'||sir[i]=='/')
{
if(sir[i]=='*')
{
++i;
nr=nr*exp();
}
else
{
++i;
nr=nr/exp();
}
}
return nr;
}
int exp()
{
int nr=0;
if(sir[i]=='(')
{
++i;
nr=adunare();
++i;
}
else
while(sir[i]>='0'&&sir[i]<='9')
{
nr=nr*10+(sir[i]-'0');
++i;
}
return nr;
}
int main()
{
f.getline(sir,101);
g<<adunare();
return 0;
}