Cod sursa(job #2063553)

Utilizator Gabriela.TpcGabriela Tiperciuc Gabriela.Tpc Data 11 noiembrie 2017 12:04:13
Problema Evaluarea unei expresii Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <fstream>
#include<cstring>
using namespace std;
ifstream f("evaluare.in");
ofstream g("evaluare.out");
char sir[101];int i;
int exp();
int produs()
{
    int rez=exp();
    while(sir[i]=='*' or sir[i]=='/')
    if(sir[i]=='*'){++i;
    rez=rez*exp();
    }else {++i;rez=rez/exp();}
return rez;
}
int aduna()
{
    int rez=produs();
    while(sir[i]=='+' and sir[i]=='-')
    {
        if(sir[i]=='+'){++i; rez=rez+produs();}
        else{++i;
        rez=rez-produs();
        }
    }return rez;
}
int exp()
{
    int rez=0;
    if(sir[i]=='(')
    {
        ++i;
        rez=aduna();
        ++i;
    }
    else
    {
    while(sir[i]>='0' and sir[i]<='9')
    {
        rez=rez*10+(sir[i]-'0');
        ++i;
    }return rez;
    }
}
int main()
{
f>>sir;
g<<aduna();
return 0;
}