// StudentRecord.h
// CSI 2131 Lab 7 by Naim R. El-Far (naim@discover.uottawa.ca)

// File:	StudentRecord.h
// Desc:	Header file for class StudentRecord which will hold data for a single student extracted from the data file

#pragma once

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

class StudentRecord {
private:
	long int	offsetInFile;
	string		lastName;
	string		firstName;				//Can hold first name or first and second names
	int			studentNumber;
	string		unit;
	string		email;
	
public:
	StudentRecord();					//Deafult constructor
	StudentRecord(string);				//Given a raw string as it appears in the data file, populate with student info
	StudentRecord(StudentRecord*);		//Copy constructor
	~StudentRecord();

	long int getOffsetInFile();
	void	setOffsetInFile(long int);
	string	getLastName();
	void	setLastName(string);
	string	getFirstName();
	void	setFirstName(string);
	int		getStudentNumber();
	void	setStudentNumber(int);
	string	getUnit();
	void	setUnit(string);
	string	getEmail();
	void	setEmail(string);
	void	Parse(string);				//Given a raw text string, parse it and populate the separate fields with the info
	void	PrintRaw();					//Print record as it appears in the datafile
	void	PrintFormatted();			//Print record formatted into its fields
};
