#include <math.h>
#include <iostream>
using namespace std;
void instruction();
int calculator (char);
void divide_by_zero ();
float do_next_op (char, float, float);
int main()
{
//input
char input;
float accum,num;
// instructions ();
void instruction();
accum = 0 ;
do
{
//get input
cout<< " : " ;
cin >> input;
cin >> num;
//EIDEN
// cin.ignore(); -> don't have to put ignore in this line
// CHECK NUMBER
if (cin.fail())
{
cerr << "num is invalid" << ". Result so far : " << accum << endl <<endl;
cin.clear();
while (cin.get() != '\n') {}; // get all characters from buffer -> clear buffer
}
else // Do op
{
accum = do_next_op (input, num, accum);
//display result
cout << " Result so far : " << accum << endl;
}
cout << " "<< endl;
} // end not quit
while (input != 'Q' && input != 'q' && input != '=');
cout << "Final result : " ;
system ("pause") ;
return 0 ;
}
//instruct user
void instruction()
{
cout <<" This program models a simple calculator which can add, subtract,multiply,divide, power" << endl;
cout << " the calculator accumulate value after each operation " << endl;
cout << " press Q to quit the program " << endl;
cout << " Have fun with my program " << endl<< endl;
}
float do_next_op (char op, float num, float total)
{
switch (op)
{
case '+' :
total += num;
break;
case '-':
total -= num;
break;
case '*':
total *= num;
break;
case '/':
float divide_by_zero (char op, float num);
// CHECK DIVIDE BY ZERO
break;
case '^':
total = pow (total,num);
break ;
default :
cout << " syntax error" << endl;
}
return total;
}
float divide_by_zero (char op, float num);
switch (op)
{
case '/';
if (num == 0 )
{
cerr << "Divide by zero" << endl;
}
else total /= num;
break;
return total;
}
I tried to insert the function divide by zero, but I dont' kbnow why it doe snot run, and also the instruction function....
really confused right now