All pastes #909216 Raw Edit

Anonymous

public text v1 · immutable
·published 2008-02-18 23:49 UTC
rendered paste body
#include <iostream>
#include <string>
#include "Approval.cpp"
#include "Client.cpp"
#include "Exercise.cpp"

using namespace std;



class HealthClub
{
public:
  int clientCounter;
  int exerciseCounter;
  int approvalCounter;
  Client *clientArray[100];
  Exercise *exerciseArray[100];
  Approval *approvalArray[100];
  HealthClub()
  {
    clientCounter=0;
    exerciseCounter=0;
    approvalCounter=0;
  }
  //displays the menu, reads in the users choice, and runs the proper method
  int menu() 
  {
    string option="0";

    while(option!="10")
      {
	option="0";
	cout << "1) Add a new client to the program \n";
	cout << "2) Display all clients in the program\n";
	cout << "3) Add a new exercise to the program\n";
	cout << "4) Display all exercises in the program\n";
	cout << "5) Add an approval for an exercise for a client \n";
	cout << "6) Display all approval records in program\n";
	cout << "7) Add a performed record to the program\n";
	cout << "8) Display all performed records in the program\n";
	cout << "9) Determine if any clients performed more reps "
	     << "than they were approved for\n";
	cout << "10) Exit\n";	
	cout << "Enter a choice(1-10): ";
	cin >> option;
	if(option=="1")
	  addClient();
	else if(option=="2")
  	  printClients();
	else if(option=="3")
	  addExercise();	  
	else if(option=="4")
	  printExercises();
	else if(option=="5")
	  addApproval();
	else if(option=="6")
	  printApprovals();
	else if(option=="7")
	  addPerformance();
	else if(option=="8")
	  printPerformances();  
	else if(option=="9")
	  printIfOverReps();
	else if(option=="10")
	  {
	    break;
	  }
	else
	  {
	    cout << "Your entry was invalid. Please enter your option.\n";
	    option="0";
	  }
      }
  }
  void addClient()
  {
    string inName="";
    int incltID;
    cout << "Please enter Client's Name: ";
    getline(cin, inName);
    cout << "Please enter Client's ID Number: ";
    cin >> incltID;
    if(clientCounter==0)
      {
	clientArray[clientCounter]=new Client(inName, incltID);
      }
    else
      {
	for(int i=0; i<clientCounter; i++)
	  {
	    if(clientArray[i]->getID()==incltID)
	      {
		cout << "This client ID already exists!";
		break;
	      }
	  }
	clientArray[clientCounter]=new Client(inName, incltID);
      }
    clientCounter++;
  }
  void printClients()
  {
    cout << "Name\tID#\n";
    for(int i=0;i<clientCounter;i++)
      {
	clientArray[i]->printClient();
      }
  }
  void addExercise()
  {
    string inExName="";
    int inexID;
    cout << "Please enter Exercise Name: ";
    cin >> inExName;
    cout << "Please enter Exercise ID Number: ";
    cin >> inexID;
    if(exerciseCounter==0)
      {
	exerciseArray[exerciseCounter]=new Exercise(inExName, inexID);
      }
    else
      {
	for(int i=0; i<exerciseCounter; i++)
	  {
	    if(exerciseArray[i]->getID()==inexID)
	      {
		cout << "This exercise ID already exists!";
		break;
	      }
	  }
	exerciseArray[exerciseCounter]=new Exercise(inExName, inexID);
      }
    exerciseCounter++;    
  }
  void printExercises()
  {
    cout << "Name\tID#\n";
    for(int i=0;i<exerciseCounter;i++)
      {
	exerciseArray[i]->printExercise();
      }
  }
  void addApproval()
  {
    int inExID;
    int inCltID;
    string inApprDate;
    int inApprWeight;
    int inMaxReps;
    char validCltID='n';
    char validExID='n';
    cout << "Please enter Client's ID#: ";
    cin >> inCltID;
    cout << "Please enter Exercise ID Number: ";
    cin >> inExID;
    for(int i=0; i<clientCounter;i++)
      {
	if(clientArray[i]->getID()==inCltID)
	  {
	    validCltID='y';
	  }
      }
    for(int i=0; i<exerciseCounter; i++)
      {
	if(exerciseArray[i]->getID()==inExID)
	  {
	    validExID='y';
	  }
      }
    if(validCltID=='n')
      {
	cout << "The Client ID you entered does not exist. \n";
      }
    if(validExID=='n')
      {
	cout << "The Exercise ID you entered does not exist. \n";
      }
    if(validCltID=='y' && validExID=='y')	 
      {
	cout << "Please enter Approval Date: ";
	cin >> inApprDate;
	cout << "Please enter Approved Weight: ";
	cin >> inApprWeight;
	cout << "Please enter Max number of Reps: ";
	cin >> inMaxReps;
	approvalArray[approvalCounter]=new Approval(inCltID, inExID, inApprDate, inApprWeight, inMaxReps);
	approvalCounter++; 
      }
  }
   void printApprovals()
  {
    cout << "Clt ID\tEx. ID#\tApproval Date\tAppr. Weight\tMax Reps\n";
    for(int i=0;i<approvalCounter;i++)
      {
	approvalArray[i]->printApprovals();
      }
  } 
  void addPerformance()
  {
    int inExID;
    int inCltID;
    string inApprDate;
    string inDoneDate;
    int inDoneReps;
    char errorFlag='n';
    cout << "Please enter Client's ID#: ";
    cin >> inCltID;
    cout << "Please enter Exercise ID Number: ";
    cin >> inExID;
    cout << "Please enter Approval Date: ";
    cin >> inApprDate;
    for(int i=0; i<approvalCounter; i++)
      {  
	if(approvalArray[i]->getCltID()==inCltID)
	  {
	    if(approvalArray[i]->getExID()==inExID)
	      {
		if(approvalArray[i]->getApprovalDate()==inApprDate)
		  {
		    cout << "Please enter Done Date: ";
		    cin >> inDoneDate;
		    cout << "Please enter Number of Reps done: ";
		    cin >> inDoneReps;
		    approvalArray[i]->addPerformance(inDoneDate, inDoneReps);
		  }
		else
		  {
		    errorFlag='y';
		  }
	      }
	    else
	      {
		errorFlag='y';
	      }
	  }
	else
	  {
	    errorFlag='y';
	  }
      }
  if(errorFlag=='y')
    {
      cout << "The information you entered doesn't match any approval records. \n";
    }
  }
   void printPerformances()
  {
    cout << "Clt ID#\tEx. ID#\tApproval Date\tDone Date\t# Reps Done\n";
    for(int i=0;i<approvalCounter;i++)
      {
	approvalArray[approvalCounter-1]->printPerformances();
      }
  }  
  void printIfOverReps()
  {
    int tempID;
    int tempexID;
    string cltName;
    string exName;
    string apprDate;
    string doneDate;
    int numbReps;
    int maxReps;
    cout << "Name\tEx Name\tAppr. Date\tMax Reps\tDone Date\tReps Done\n";
    for(int i=0;i<approvalCounter;i++)
      {
	if(approvalArray[i]->getDoneReps()>approvalArray[i]->getMaxReps())
	  {
	    tempID=approvalArray[i]->getCltID();
	    tempexID=approvalArray[i]->getExID();
	    apprDate=approvalArray[i]->getApprovalDate();
	    doneDate=approvalArray[i]->getDoneDate();
	    numbReps=approvalArray[i]->getDoneReps();
	    maxReps=approvalArray[i]->getMaxReps();
	    for(int i=0; i<clientCounter; i++)
	      {
		if(clientArray[i]->getID()==tempID)
		  {
		    cltName=clientArray[i]->getName();
		  }
	      }
	    for(int i=0; i<exerciseCounter; i++)
	      {
		if(exerciseArray[i]->getID()==tempexID)
		  {
		    exName=exerciseArray[i]->getName();
		  }
	      }
	    cout << cltName << "\t" << exName << "\t" << apprDate << "\t"
		 << maxReps << "\t" << doneDate << "\t" << numbReps << endl;
	  }
      }
  }
};
//creates an instance of HealthClub and runs the menu
int main()
{
  HealthClub *myInstance=new HealthClub();
  myInstance->menu();
  delete myInstance;
  return 0;
}