c program to calculate any kind of equation

Write a program using c/c++/java, which can calculate any kind of equation. Implement the concept of Lexical with Semantic Analysis. Sample input: x = (a+b)/2 + 4*b.




<< Go to Index Page >>

12 comments:

  1. #include
    using namespace std;
    float area_of_rectangle(float length,float width)
    {
    float result;
    result=(length*width);
    return(result);
    }
    main()
    {
    float length,width;
    cout<<"enter the value of length:"<>length;
    cout<<"enter the value of width:"<>width;
    cout<<"area_of_rectangle(length,width)"<<endl;
    return 0;
    }

    ReplyDelete
    Replies
    1. not in correct place.....

      Delete
    2. Good
      Here is a link for C/C++ programs and pointer programs. This may be useful for you.

      C/C++ Programs

      Delete
  2. /*Amena Akter Anni
    ID:30934
    Betch:47th*/

    #include
    using namespace std;
    class bb
    {
    public:
    bb();
    ~bb();
    void simple_interest();
    };
    bb::bb()
    {
    int P,T,R;
    cout<<"Enter the principle amount:";
    cin>>P;
    cout<<"Enter the interest rate:";
    cin>>R;
    cout<<"Enter the time duration:";
    cin>>T;
    }
    bb::~bb()
    {
    cout<<"Destructing"<<endl;
    }
    void bb::simple_interest()
    {
    int P,R,T;
    float SI=0;
    SI=T*(P*R)/100;
    cout<<"Return the simple interest:"<<SI<<endl;
    }
    int main()
    {
    bb ob1;
    ob1.simple_interest();
    return 0;
    }

    ReplyDelete
  3. /*Amena Akter Anni
    ID:30934
    Betch:47th*/

    #include
    using namespace std;
    main()
    {
    int g,i;
    for(i=1;i<=3;i++){
    cin>>g;
    if(g<18){
    cout<<"You are a child"<=65)
    {
    cout<<"You are a senior citizen"<<endl;
    }
    }
    }

    ReplyDelete
  4. Great Post ! C tutorial With simple example on Data Types & Variables, Conditionals, Loops, Arrays & Strings etc. Here you can download simple and easy PDF From
    C Tutorial & C Language Interview Questions and Answers . c online test also visit- http://www.hub4tech.com/c-plus-plus-online-test-exam

    ReplyDelete
  5. /* () ছাড়া সমীকরনের জন্য কাজ করবে। () সহ করার জন্য চেষ্টা করা হবে */
    #include
    #include
    main()
    {
    char in[120], op[60];
    int i=0,j=0,k=0, temp,num[60];

    gets(in); // ইউজার ইনপুট নেওয়া হল

    while (in[i]) // ইউজার ইনপুট কে অপার‍্যান্ড ও অপারেটরে বিভক্ত করে অপার‍্যান্ডদের একটা int array তে ও অপারেটরদের একটা char array তে রাখা হল
    {
    temp=0;
    while (isdigit(in[i])&&in[i]!='\0')
    {
    temp=temp*10+(in[i]-'0');
    i++;
    }
    num[j++]=temp;
    if (in[i]=='+'||in[i]=='-'||in[i]=='*'||in[i]=='/')
    op[k++]=in[i++];
    }
    op[k]='\0'; // char array op এর শেষে নাল টার্মিনেটর যোগ করা হল

    for (i=0; i<k; i++) // এই লুপ ভাগের কাজ যদি থাকে তাহলে সেটা করবে
    {
    if (op[i]=='/')
    {
    num[i+1]=num[i]/num[i+1];
    num[i]=num[i+1];
    op[i]=' ';
    }
    }

    for (i=0; i<k; i++) // এই লুপ গুনের কাজ যদি থাকে তাহলে তা করবে
    {
    if (op[i]==' '&&op[i+1]==' ')
    continue;
    else if (op[i]==' ' && op[i+1]!=' ')
    {
    num[i+1]=num[i];
    continue;
    }
    else if (op[i]=='*')
    {
    num[i+1]=num[i]*num[i+1];
    num[i]=num[i+1];
    op[i]=' ';
    }
    }
    /* এর পরের অংশ যোগ ও বিয়োগের কাজ করবে। */
    if (op[0]==' ')
    {
    i=0;
    while (op[i]==' ')
    i++;
    for (i;i<k;i++)
    {
    if (op[i]=='+')
    num[i+1]=num[i]+num[i+1];
    else if (op[i]=='-')
    num[i+1]=num[i]-num[i+1];
    else if (op[i]==' ')
    num[i+1]=num[i];
    }
    }
    else
    {
    for (i=0;i<k;i++)
    {
    if (op[i]=='+'&&op[i+1]!=' ')
    num[i+1]=num[i]+num[i+1];
    else if (op[i]=='+'&&op[i+1]==' ')
    {
    num[i+1]=num[i];
    op[i+1]=op[i];
    }
    else if (op[i]=='-'&&op[i+1]!=' ')
    num[i+1]=num[i]-num[i+1];
    else if (op[i]=='-'&&op[i+1]==' ')
    {
    num[i+1]=num[i];
    op[i+1]=op[i];
    }
    else if (op[i]==' ')
    num[i+1]=num[i];
    }
    }
    /* সকল হিসাব সমাপ্ত। op স্ট্রিং এর স্ট্রিং লেন্থ যত int array এর তত নম্বর ইনডেক্স এ চুড়ান্ত ফল জমা হয়েছে।*/

    printf("%s= %d", in, num[k]); // আউটপুট দেওয়া হল
    }

    ReplyDelete
  6. #include
    #include
    main()
    {
    char in[120], op[60];
    int i=0,j=0,k=0, temp,num[60];

    gets(in); // ইউজার ইনপুট নেওয়া হল

    while (in[i]) // ইউজার ইনপুট কে অপার‍্যান্ড ও অপারেটরে বিভক্ত করে অপার‍্যান্ডদের একটা int array তে ও অপারেটরদের একটা char array তে রাখা হল
    {
    temp=0;
    while (isdigit(in[i])&&in[i]!='\0')
    {
    temp=temp*10+(in[i]-'0');
    i++;
    }
    num[j++]=temp;
    if (in[i]=='+'||in[i]=='-'||in[i]=='*'||in[i]=='/')
    op[k++]=in[i++];
    }
    op[k]='\0'; // char array op এর শেষে নাল টার্মিনেটর যোগ করা হল

    for (i=0; i<k; i++) // এই লুপ ভাগের কাজ যদি থাকে তাহলে সেটা করবে
    {
    if (op[i]=='/')
    {
    num[i+1]=num[i]/num[i+1];
    num[i]=num[i+1];
    op[i]=' ';
    }
    }

    for (i=0; i<k; i++) // এই লুপ গুনের কাজ যদি থাকে তাহলে তা করবে
    {
    if (op[i]==' '&&op[i+1]==' ')
    continue;
    else if (op[i]==' ' && op[i+1]!=' ')
    {
    num[i+1]=num[i];
    continue;
    }
    else if (op[i]=='*')
    {
    num[i+1]=num[i]*num[i+1];
    num[i]=num[i+1];
    op[i]=' ';
    }
    }
    /* এর পরের অংশ যোগ ও বিয়োগের কাজ করবে। */
    if (op[0]==' ')
    {
    i=0;
    while (op[i]==' ')
    i++;
    for (i;i<k;i++)
    {
    if (op[i]=='+')
    num[i+1]=num[i]+num[i+1];
    else if (op[i]=='-')
    num[i+1]=num[i]-num[i+1];
    else if (op[i]==' ')
    num[i+1]=num[i];
    }
    }
    else
    {
    for (i=0;i<k;i++)
    {
    if (op[i]=='+'&&op[i+1]!=' ')
    num[i+1]=num[i]+num[i+1];
    else if (op[i]=='+'&&op[i+1]==' ')
    {
    num[i+1]=num[i];
    op[i+1]=op[i];
    }
    else if (op[i]=='-'&&op[i+1]!=' ')
    num[i+1]=num[i]-num[i+1];
    else if (op[i]=='-'&&op[i+1]==' ')
    {
    num[i+1]=num[i];
    op[i+1]=op[i];
    }
    else if (op[i]==' ')
    num[i+1]=num[i];
    }
    }
    /* সকল হিসাব সমাপ্ত। op স্ট্রিং এর স্ট্রিং লেন্থ যত int array এর তত নম্বর ইনডেক্স এ চুড়ান্ত ফল জমা হয়েছে।*/

    printf("%s= %d", in, num[k]); // আউটপুট দেওয়া হল
    }

    ReplyDelete