2012-06-24 2 views
-3

Привет, я пытаюсь написать код в C, чтобы решить математическое уравнение на основе правила BODMAS, любое предложение? для например: программа должна дать выход как: (8 + 8)/2 + 4 = 12Расчет BODMAS в c

+0

предложение для чего, в частности? –

+0

Предложение: не использовать C. – BoltClock

+0

http://www.lawrence.edu/fast/greggj/CMSC270/Infix.html –

ответ

0
#include <stdio.h> 

int calc(char *exp_str){ 
    FILE *fp; 
    int ret; 
    fp=fopen("calc_aux.c","w"); 
    fprintf(fp, "int main(){ return %s; }", exp_str); 
    fclose(fp); 
    system("gcc calc_aux.c -o calc_aux.exe"); 
    ret=system("calc_aux.exe"); 
    remove("calc_aux.c"); 
    remove("calc_aux.exe"); 
    return ret; 
} 

int main(){ 
    char exp[]="(8+8)/2+4"; 
    printf("%s=%d\n", exp, calc(exp)); 
} 
//result:(8+8)/2+4=12 
+0

http://stackoverflow.com/a/8067449/971127 – BLUEPIXY

+0

thnx это сработало, но может Вы также напишите комментарий, чтобы я мог более ясно, как работает программа. –

+0

@AshishKarna. Пожалуйста, посмотрите комментарий, также связанный с функцией calc. – BLUEPIXY