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 >>

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;
}

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;
}

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;
}
}
}

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

Java Training in Chennai Java Training in Chennai | Core Java Training in Chennai Java Training in Chennai

Online Java Training Java 8 Online Training | Java J2EE Online Training | JavaEE Training Institute in Chennai

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]); // আউটপুট দেওয়া হল
}

7. #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]); // আউটপুট দেওয়া হল
}

8. Remarkable! Its genuinely awesome post, I have got much
clear idea about from this piece of writing.