//Derek McQuay 647465151 CS 235 Fall 2012 midterm 1 #include "node.h" node::node(const int exponent, const int coefficient, const char variable, node* next) : exponent(exponent), coefficient(coefficient), variable(variable), next(next) {} node::node(const int exponent, const char variable, node* next) : //construtor for when coefficient is assumed 1 exponent(exponent), coefficient(1), variable(variable), next(next) {} ostream & operator<<(ostream & os, node n) { //used to correctly print out each node if(n.coefficient == 0) { os << ""; } else if(n.coefficient == 1 && n.exponent == 0) { os << n.coefficient; } else if(n.coefficient == -1 && n.exponent == 0) { os << n.coefficient; } else if(n.exponent == 0) { os << n.coefficient; } else if(n.coefficient == -1) { os << "-" << n.variable << " ^ " << n.exponent; } else if(n.coefficient < 0 && n.exponent == 1) { os << n.coefficient << n.variable; } else if(n.coefficient == 1 && n.exponent == 1) { os << n.variable; } else if(n.exponent == 1) { os << n.coefficient << " " << n.variable; } else if(n.coefficient == 1) { os << n.variable << " ^ " << n.exponent; } else { os << n.coefficient << " " << n.variable << " ^ " << n.exponent; } return os; }