this is a example to convert string into number:
Code:
#include<iostream>
#include<string>
#include<sstream>
using namespace std;
class calculation
{
private:
long double num1,num2;
char theoperator;
void calculate()
{
switch(theoperator)
{
case '+':
addition();
break;
case '-':
substraction();
break;
case '*':
multiplication();
break;
case '/':
if(!num2)
{cout<<"\ndenominator shouldn't be zero"<<endl;return;}
division();
break;
}
cout<<"="<<num1<<endl;
}
void addition()
{
num1+=num2;
}
void substraction()
{
num1-=num2;
}
void multiplication()
{
num1*=num2;
}
void division()
{
num1/=num2;
}
public:
void check(string input)
{
string num;
if(input.find("+",0)<input.size())
{
theoperator='+';
num=input.substr(0,input.find("+",0));
istringstream istream1(num);
istream1>>num1;
num=input.substr(input.find("+",0)+1,input.size()-input.find("+",0)-1);
istringstream istream2(num);
istream2>>num2;
}
else if(input.find("-",0)<input.size())
{
theoperator='-';
num=input.substr(0,input.find("-",0));
istringstream istream1(num);
istream1>>num1;
num=input.substr(input.find("-",0)+1,input.size()-input.find("-",0)-1);
istringstream istream2(num);
istream2>>num2;
}
else if(input.find("*",0)<input.size())
{
theoperator='*';
num=input.substr(0,input.find("*",0));
istringstream istream1(num);
istream1>>num1;
num=input.substr(input.find("*",0)+1,input.size()-input.find("*",0)-1);
istringstream istream2(num);
istream2>>num2;
}
else if(input.find("/",0)<input.size())
{
theoperator='/';
num=input.substr(0,input.find("/",0));
istringstream istream1(num);
istream1>>num1;
num=input.substr(input.find("/",0)+1,input.size()-input.find("/",0)-1);
istringstream istream2(num);
istream2>>num2;
}
else {cout<<"no operator"<<endl;return;}
calculate();
}
};
main()
{
string input;
calculation hoho;
while(1)
{
cin>>input;
hoho.check(input);
}
}