/* Student.cpp implements the non-trivial Student operations.
 * ...
 **************************************************************/

#include "Student.h"                        // class Student

// -------- default-value constructor --------------------------
Student::Student ()
{
  myIDNumber = 0;
  myFirstName = "";
  myLastName = "";
  myYear = "";
  myCredits = 0.0;
  myGPA = 0.0;
}

// -------- explicit-value constructor -------------------------
Student::Student (long idNumber, const string & firstName,
		  const string & lastName, const string & year,
		  double credits, double GPA)
{
  myIDNumber = idNumber;
  myFirstName = firstName;
  myLastName = lastName;
  myYear = year;
  myCredits = credits;
  myGPA = GPA;
}

// -------- input (function member) ----------------------------
void Student::Read(istream & in)
{
     in >> myIDNumber >> myFirstName >> myLastName
	>> myYear >> myCredits >> myGPA;
   }

// -------- output (function member) ---------------------------
#include <iomanip.h>                      // setw, setprecision
void Student::Print(ostream & out) const
{
     out << setw(9) << myIDNumber << '\t'
	 << myFirstName << ' ' << myLastName
	 << '\n' << myYear
	 << setprecision(4) << setiosflags(ios::fixed | ios::showpoint)
	 << setw(8) << myCredits
	 << setw(8) << myGPA << endl;
   }

