Pagini recente » Cod sursa (job #281978) | Cod sursa (job #2832537) | Cod sursa (job #1545286) | Cod sursa (job #2833301) | Cod sursa (job #723561)
Cod sursa(job #723561)
#include <fstream>
#include <cstdio>
char caracter;
long evaluare(){
long nr = produs();
while((caracter == '+' || caracter == '-')){
if (caracter == '+'){
f>>caracter;
nr=nr + produs();
}
if (caracter == '-' ){
f>>caracter;
nr = nr - produs();
}
}
return nr;
}
long produs(){
long nr = numar();
while (caracter == '*' || caracter == '/'){
if (caracter == '*'){
f>>caracter;
nr = nr * numar();
}
if (caracter == '/'){
f>>caracter;
nr = nr / numar();
}
}
return nr;
}
long numar(){
long nr = 0;
if(caracter == '('){
f>>caracter;
nr = evaluare();
f>>caracter;
}
else{
while ((caracter >= '0') && (caracter <= '9') && (!f.eof())){
nr = nr * 10 + (caracter - '0');
f>>caracter;
}
}
return nr;
}
int main(){
ifstream f ("evaluareuare.in");
ofstream g ("evaluare.out");
f>>caracter;
g<<evaluare();
f.close();
g.close();
return 0;
}