Assignment:
Implememnt the message class using a a header and implemtin a file name message.h and message.cpp respectively. In addition to the two message class files you must write a driver. The driver mus creat a message array that is capable of holding 1000 messages (make sure that you dont exceed the the maximum number of messages) It then must read all Messages from a file named Messages.txt; sort the messages based on the date, fand a message bassed on the messageID(value will be given by keyboard input), and print the first five messages and the message resulting from the search.

Given:
Memeber Functions :

Message()
- Default Constructor that increments the messageID

Message(string, string string)
- Constructor twith initiallization strings for sender, recipient, and body, it will also increment the messageID.

~Message()
-Destructor

void setSender(string)
- Modifier that allows the user to set the sender string

void setRecipient(string)
- Modifier that allows the user to set the recipient

void setBody(string)
- Modifier that allows the user to set the Body

void setDate(string)
- Modifier that allows the user to set the date

string getSender()
- Accessor that allows the user to get the sender string

string getRecipient()
- Accessor that allows the user to get the recipient string

string getBody()
- Accessor that allows that user to get the Body string

string getDate()
- Accessor that allows the user to get the date string

static in getMessageID()
- Accessor that allows the user to get the value of message ID

string toString()
- Function that returns a string representation of a message object.

exampel:
messageID: 1
date: 2006/11/20
sender: [email protected]
recipient: [email protected]
body: Hope your semester is going well!
Currently i have:

message.h:
Code:
#ifndef MESSAGE_H
#define MESSAGE_H
#include <iostream>
#include <fstream>
#include <sstream>
using namespace std;


/**************************************************************************
*
*	class: Message
*	Discription: A class that stores incoming emails and sorts them 
*
***************************************************************************/
class Message
{ 
	private:
		string sender, recipient, body, date;  
		static int messageIDGen;
		int messageID;

    public:
/**************************************************************************
*
*	class: Message
*	Function: Message
*   Description: Default constructor
*
***************************************************************************/
		Message(){ messageID = ++messageIDGen; }

/**************************************************************************
*
*	class: Message
*	Function: Message
*   
*
***************************************************************************/
		Message(string, string, string, string);

/**************************************************************************
*
*	class: Message
*   Function: ~Message
*	Description: Destructor
*
***************************************************************************/
		~Message();


/****************************************************************
*
*	Class: Message
*   Function: setSender
*   Description: Modifier that allows the user to set the 
*   sender string
*
****************************************************************/
		void setSender(string);

/****************************************************************
*
*	Class: Message
*   Function: setRecipient
*   Description: Modifier that allows the user to set the 
*   recipient
*
****************************************************************/
		void setRecipient(string);

/****************************************************************
*
*	Class: Message
*   Function: setBody
*   Description: Modifier that allows the user to set the Body
*
****************************************************************/
		void setBody(string);

/****************************************************************
*
*	Class: Message
*   Function: setDate
*   Description: Modifier that allows the user to set the date
*
****************************************************************/
		void setDate(string);

/****************************************************************
*
*	Class: Message
*   Function: getSender
*   Description: Accessor that allows the user to get the 
*   sender string
*
****************************************************************/
		string getSender();

/****************************************************************
*
*	Class: Message
*   Function: getRecipient
*   Description: Accessor that allows the user to get the 
*   recipient string
*
****************************************************************/
		string getRecipient();

/****************************************************************
*
*	Class: Message
*   Function: getBody
*   Description: Accessor that allows that user to get the 
*   Body string
*
****************************************************************/
		string getBody();

/****************************************************************
*
*	Class: Message
*   Function: getDate
*   Description: Accessor that allows the user to get the
*   date string
*
****************************************************************/
		string getDate();

/****************************************************************
*
*	Class: Message
*   Function: toString
*   Description: Function that returns a string representation 
*   of a message object
*
****************************************************************/
		string toString();
		
/****************************************************************
*
*	Class: Message
*   Function: getStringMessageID
*   Description: We have no idea what this does lol
*
****************************************************************/
		string getStringMessageID();
;
};
#endif


message.cpp:
Code:
#include "Message.h"


/****************************************************************
*
*	Class: Message
*   Function: ~Message
*   Description: Destructor
*
****************************************************************/
Message::~Message()
{

}

/****************************************************************
*
*	Class: Message
*   Function: setSender
*   Description: Modifier that allows the user to set the 
*   sender string
*
****************************************************************/
void Message::setSender(string Sender)
{
	sender=Sender;
}

/****************************************************************
*
*	Class: Message
*   Function: setSender
*   Description: Modifier that allows the user to set the 
*   recipient
*
****************************************************************/
void Message::setRecipient(string Recipient)
{
	recipient=Recipient;
}

/****************************************************************
*
*	Class: Message
*   Function: setBody
*   Description: Modifier that allows the user to set the Body
*
****************************************************************/
void Message::setBody(string Body)
{
	body=Body;
}

/****************************************************************
*
*	Class: Message
*   Function: setDate
*   Description: Modifier that allows the user to set the date
*
****************************************************************/
void Message::setDate(string Date)
{
	date=Date;
}

/****************************************************************
*
*	Class: Message
*   Function: getSender
*   Description: Accessor that allows the user to get the 
*   sender string
*
****************************************************************/
string Message::getSender()
{
	return sender;
}

/****************************************************************
*
*	Class: Message
*   Function: getRecipient
*   Description: Accessor that allows the user to get the 
*   recipient string
*
****************************************************************/
string Message::getRecipient()
{     
	return recipient;
}

/****************************************************************
*
*	Class: Message
*   Function: getBody
*   Description: Accessor that allows that user to get the 
*   Body string
*
****************************************************************/
string Message::getBody()
{     
	return body;
}

/****************************************************************
*
*	Class: Message
*   Function: getDate
*   Description: Accessor that allows the user to get the
*   date string
*
****************************************************************/
string Message::getDate()
{     
	return date;
}

/****************************************************************
*
*	Class: Message
*   Function: toString
*   Description: Function that returns a string representation 
*   of a message object
*
****************************************************************/
string Message::toString()
{
	return 0;
}

/****************************************************************
*
*	Class: Message
*   Function: getStringMessageID
*   Description: We have no idea what this does lol
*
****************************************************************/
string Message::getStringMessageID()

{
	ostringstream temp;
	temp << messageID;      
	return temp.str();      
}
Mailbox.cpp <--driver file:
Code:
#include "Message.h"

int main()
{
	int messageID;
	string extra, date, sender, recipient, body;
	Message inMessage;

	//ask and promps user for a message to view
	cout << "Which messageID would you like to view? "; 
	cin >> messageID;
	
	//declares an instream file
	ifstream inFile;
	inFile.open("messages.txt"); //opens messsages.txt
	
	//checks to see if file is found, and displays error if not
	if (!inFile)
	{
		cout << "File not found." << endl;
		return 0;
	}

	//allows only 1000 messages to be entered
	for(int messages = 0; messages <=999; messages++)
	{

	}
	

	inMessage.getDate();
	inMessage.getSender();
	inMessage.getRecipient();
	inMessage.setBody();
	
	cout << endl << "Your message is:" << endl;
	cout << endl << "messageID:" << "\t" << inMessage.getStringMessageID();
	cout << endl << "date:" << "\t" << inMessage.getDate();
	cout << endl << "sender:" << "\t" << inMessage.getSender();
	cout << endl << "recipient:" << "\t" << inMessage.getRecipient();
	cout << endl << "body:" << "\t" << inMessage.getBody();
	return 0;
}
Okay i need help with the function toStream im not sure what i should do or need to do for that.

and then the driver im having the hard part with i dont know what i need to do to get the message in and give it a message id. Any help or advice would be great please i have to turn this in in less that 2 hours or it wont be accepted