Question: DEBUG, I've been given the following code by a Chegg Expert: #include #include #include #include #include using namespace std; class token { public: double num1,num2;

DEBUG, I've been given the following code by a Chegg Expert:

#include

#include

#include

#include

#include

using namespace std;

class token

{

public:

double num1,num2;

char op;

token(double a, char b, double c) : num1(a),op(b),num2(c){};

token() : num1(0),op(0),num2(0){};

void initialize(double a, char b, double c) {

num1 = a;

op = b;

num2 = c;

return;

}

double solve()

{

switch(op)

{

case '+' : return (num1+num2);

case '-' : return (num1-num2);

case '*' : return (num1*num2);

case '/' : return (num1um2);

case '^' : return (pow(num1,num2));

case 'r' : return (pow(num2,1um1));

}

}

};

string expression;

deque numbers;

deque operators;

void express()

{

cout

cout

cin >> expression;

return;

}

void extract() //Turns an expression into a list of numbers and operators.

{

vector digits;

unsigned int i,k; int temp=0;

for (i=0; i

{

if (expression[i]>='0' && expression[i]

digits.push_back(expression[i]-'0');

else {

if(((expression[i]>='a' && expression[i]='A' && expression[i]

cout

double val;

cin>>val;

digits.push_back(val);

}

else{

operators.push_back(expression[i]);

for (k=0; k

temp+=digits.at(k)*pow(10,(digits.size()-1-k));

numbers.push_back(temp);

digits.clear();

temp=0;

}

}

}

operators.erase(operators.end());

return;

}

void addsub() //Does adding and subtracting.

{

token tempp;

double temp = numbers.at(0);

while (true)

{

if (operators.at(0) == '+' || operators.at(0) == '-')

{

numbers.erase(numbers.begin());

tempp.initialize(temp ,operators.at(0), numbers.at(0));

temp = tempp.solve();

if (operators.size() == 1)

{

operators.clear();

numbers.at(0) = temp;

return;

}

else

operators.erase(operators.begin());

}

}

}

void multidiv() //Does multiplication and division.

{

token tempp;

double temp;

unsigned int i;

for (i=0; i

{

if (operators.at(i) == '*' || operators.at(i) == '/')

{

tempp.initialize(numbers.at(i) ,operators.at(i), numbers.at(i+1));

temp = tempp.solve();

if (operators.size() == 1)

{

operators.clear();

numbers.at(0) = temp;

return;

}

else

{

operators.erase(operators.begin()+i);

numbers.erase(numbers.begin()+i+1);

numbers.at(i) = temp;

}

--i;

}

}

addsub();

}

void calculate() //Does powers and roots.

{

token tempp;

double temp;

unsigned int i;

for (i=0; i

{

if (operators.at(i) == '^' || operators.at(i) == 'r')

{

tempp.initialize(numbers.at(i) ,operators.at(i), numbers.at(i+1));

temp = tempp.solve();

if (operators.size() == 1)

{

operators.clear();

numbers.at(0) = temp;

return;

}

else

{

operators.erase(operators.begin()+i);

numbers.erase(numbers.begin()+i+1);

numbers.at(i) = temp;

}

--i;

}

}

multidiv();

}

int main ()

{

express();

extract();

calculate();

cout

return 0;

}

Unfortunately, if you were to run this on its own in Microsoft Visual Studio Code 2019 I would get the following message:

Debug Assertion Failed

Program: C:\...\14.29.3133\include\deque

Expression cannot increment deque iterator past end

Hitting "Retry" Led me to this line in this deque file in line 281:

DEBUG, I've been given the following code by a Chegg Expert: #include

I'm geninuly stumped on where to go, and was told there was no errors, could you verify in running the following code above in Visual studio code? Thank you

277 278 279 280 _Deque_const_iterator& operator++) noexcept { #if _ITERATOR_DEBUG_LEVEL != 0 const auto _Mycont static_cast(this->_Getcont()); STL_VERIFY (_Mycont, "cannot increment value-initialized deque iterator"); STL_VERIFY(this->_Myoff <_mycont->_Myoff + _My cont->_Mysize, "cannot increment deque iterator past end"); #endif // _ITERATOR_DEBUG_LEVEL != 0 281 282

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!