Pagini recente » Cod sursa (job #2735249) | Cod sursa (job #2596490) | Cod sursa (job #1630226) | Cod sursa (job #970865) | Cod sursa (job #715316)
Cod sursa(job #715316)
//#include "stdafx.h"
#include<fstream>
#include<string>
using namespace std;
ifstream f("evaluare.in");
ofstream g("evaluare.out");
char c;
long numar();
long prod();
long expr(){
long rez = prod();
while((c == '+'|| c == '-')&&!f.eof()){
if(c == '+'){
f>>c;
rez += prod();
}
if(c == '-'){
f >> c;
rez -= prod();
}
}
return rez;
}
long prod(){
long rez = numar();
while((c == '*'|| c == '/')&&!f.eof()){
if(c == '*'){
f >> c;
rez *= numar();
}
if(c == '/'){
f >> c;
rez /= numar();
}
}
return rez;
}
long numar(){
long nr = 0;
if(c == '('){
f>>c;
nr = expr();
f>>c;
}else{
while(c>'0'&&c<'9'&&!f.eof()){
nr = nr*10+c-'0';
f>>c;
}
}
return nr;
}
int main()
{
f>>c;
g<<expr();
f.close();
g.close();
return 0;
}