CS 250 Computer Programming and Problem Solving - FALL 1998 

[ Home | Syllabus | Notes | Glossary | CS250 WEB Version Home Page ]


 

Object Oriented Design:

Case Study: Doctor Scheduling

Version 2:


Scheduler::Scheduler(Doctor * docs, int NumDoctors)
{
   initialize private data members from parameters
   open file containing Doctor Object information
   for all doctors
      read that doctors information
}

rainbow.gif (2251 bytes)

// Initialize 
// array of doctors from a file.

Scheduler::Scheduler( Doctor * docs, int num )
{
  // initialize private data members from parameters
  doctors = docs;
  NumDoctors = num;
  // open file containing Doctor Object information
  ifstream dnameFile( "doctors.txt" );
  if( !dnameFile )
  {
    cout << "Cannot open input file! Aborting program.\n";
    abort(); // Needs #include <stdlib.h>
  }
  // for all doctors
  for(int i = 0; i < NumDoctors; i++)
  {
      // read that doctors information
     dnameFile >> doctors[i]; // read in information to initialize i'th doctor
  }
}

rainbow.gif (2251 bytes)

rainbow.gif (2251 bytes)

class Doctor {
	friend istream & operator >>(istream & inputFile, Doctor & thisDoc);
public:
  Doctor();
private:
  Name name;
};

rainbow.gif (2251 bytes)

rainbow.gif (2251 bytes)

istream & operator >>(istream & inFile, Doctor & thisDoc)
{
	char temp[100];
	inFile.getline(temp,100,','); hptrd_left.gif (955 bytes)
	thisDoc.name.SetLast(temp); hptrd_left.gif (955 bytes)
	inFile.getline(temp,100,'\n');
	thisDoc.name.SetFirst(temp);
	cout << thisDoc.name; // for debugging purposes
	return inFile;
}

rainbow.gif (2251 bytes)


Copyright chris wild 1998.
For problems or questions regarding this website contact [Chris Wild (e-mail:wild@cs.odu.edu].
Last updated: October 05, 1998.