Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

My program keeps on breaking whenever I am trying to use the CustomerList function in my main program. ////////////////////////////////////////////////////////////////////////// MainProgram.cpp #include #include EmployeeRecord.h #include using

My program keeps on breaking whenever I am trying to use the CustomerList function in my main program.

//////////////////////////////////////////////////////////////////////////

MainProgram.cpp

#include #include "EmployeeRecord.h" #include using namespace std;

int main() {

CustomerList *cl = Employee1 ->getCustomerList(); Store *s = new Store(4567,"A Computer Store", "1111 Main St." ,"West City" ,"Alabama", "12345"); cl -> addStore(s); cl -> printStoresInfo();

}

EmployeeRecord.h

#pragma once

#include "CustomerList.h"

class EmployeeRecord { private: int m_iEmployeeID; char m_sLastName[32]; char m_sFirstName[32]; int m_iDeptID; double m_dSalary; public: CustomerList *getCustomerList(); CustomerList *m_pCustomerList;

//The default constructor EmployeeRecord();

// Constructor shall set the member values passed into the function. EmployeeRecord(int ID, char *fName, char *lName, int dept, double sal);

// The destructor ~EmployeeRecord();

// shall return the value stored in the member variable int getID();

// will set the member variable m_iEmployeeID to the value of its' argument. void setID(int ID);

// The getName() function shall copy the member variables m_sFirstName and m_sLastName into the character arrays pointed to by the function arguments. void getName(char *fName, char *lName);

// The setName() function will copy the function arguments into the member variables m_sFirstName and m_sLastName void setName(char *fName, char *lName);

// The getDept() function shall be defined as a reference function. That is, a call to this function will copy the member variable m_iDeptID into the int variable referenced by the function argument. int getDept();

// The setDept() function will copy the function argument into the member variable m_iDeptID. void setDept(int d);

// The getSalary() function shall be defined as a pointer function. double getSalary();

// The function setSalary() shall copy the function argument into the member variable m_dSalary. void setSalary(double sal);

//This function shall print to the screen all data found in the employee's record void printRecord();

};

EmployeeRecord.cpp

#include #include "EmployeeRecord.h"

using namespace std;

//Default Constructor

EmployeeRecord::EmployeeRecord() {

// The default constructor shall set the member variables to the following m_iEmployeeID = 0; m_sFirstName[0] = '\0'; m_sLastName[0] = '\0'; m_iDeptID = 0; m_dSalary = 0.0; }

EmployeeRecord::EmployeeRecord(int ID, char *fName, char *lName, int dept, double sal) {

// Copying the member varibles for First and Last name strcpy(m_sFirstName, fName); strcpy(m_sLastName, lName);

// Copying other member variables m_iEmployeeID = ID; m_iDeptID = dept; m_dSalary = sal; fName = NULL; lName = NULL; }

// Default Desctrutor

EmployeeRecord::~EmployeeRecord() { delete m_pCustomerList; // It was tested in sprint 1 }

int EmployeeRecord:: getID() { cout << " Testing data:" << endl; // Testing ID cout << "Testing getID(). Result = " << m_iEmployeeID << endl;*/ return m_iEmployeeID; }

void EmployeeRecord::setID(int ID) { m_iEmployeeID = ID;

cout << " Setting data in Record:" << endl; cout << "ID = " << m_iEmployeeID << endl;*/ }

void EmployeeRecord::getName(char *fName, char *lName) { //Copying member variables to parameters for name.

strcpy(fName, m_sFirstName); strcpy(lName, m_sLastName); //cout << "Testing getName(). Result = " << m_sFirstName << " " << m_sLastName << endl;

}

void EmployeeRecord::setName(char *fName, char *lName) { strcpy(m_sFirstName, fName); strcpy(m_sLastName, lName);

//cout << "First Name = " << m_sFirstName < //cout << "Last Name = " << m_sLastName <

}

int EmployeeRecord::getDept() { //Copying member variables to parameters for Dept ID return m_iDeptID; // testing getDept() //cout << "Testing getDept(). Result = " << d << endl; }

void EmployeeRecord::setDept(int d) { m_iDeptID = d; // cout << "Dept = " << m_iDeptID << endl; }

double EmployeeRecord::getSalary() { return m_dSalary; //cout << "Testing getSalary(). Result = " << *sal << endl; //cout << endl << endl; }

void EmployeeRecord::setSalary(double sal) { m_dSalary = sal; //cout << "Salary = $" << m_dSalary << " "; //cout << endl << endl; }

void EmployeeRecord::printRecord() { // Print out Employee Record cout <<" Print Record " << endl;

cout << "ID: " << m_iEmployeeID << "\t"; cout << "\tName: " << m_sLastName << " , " << m_sFirstName << "\t"; cout << "\tDept: " << m_iDeptID << "\t" << "\t"; cout << "Salary: $" << m_dSalary << "\t" << endl << endl; }

CustomerList *EmployeeRecord::getCustomerList() { return m_pCustomerList; }

CustomerList.h

#pragma once;

#include #include "Store.h"

class CustomerList {

public: Store *m_pHead; CustomerList(); ~CustomerList(); bool addStore(Store *s); Store *removeStore(int ID); Store *getStore(int ID); bool updateStore(int ID, char *name, char *addr, char *city, char *st, char *zip); void printStoresInfo();

};

CustomerList.cpp

#include #include "CustomerList.h"

#include "Store.h"

using namespace std;

CustomerList::CustomerList()

{

m_pHead = NULL;

// Default constructor

}

CustomerList::~CustomerList()

{

delete m_pHead;

// Destructor

}

bool CustomerList:: addStore(Store *s)

{

//creating a new instance

if(m_pHead==NULL)

{

m_pHead = new Store(s->getStoreID(),s->getStoreName(), s->getStoreAddress(), s->getStoreCity(), s->getStoreState(), s->getStoreZip()); return true;

}

else

{

Store * temp;

temp=m_pHead;

while(temp->m_pNext != NULL)

{

temp = temp->m_pNext;

}

temp->m_pNext = new Store(s->getStoreID(),s->getStoreName(), s->getStoreAddress(), s->getStoreCity(), s->getStoreState(), s->getStoreZip());

return true;

}

}

Store *CustomerList::removeStore(int ID)

{

Store *temp, *back;

temp = m_pHead;

back = NULL;

while((temp != NULL)&&(ID != temp ->getStoreID()))

{

back=temp;

temp=temp->m_pNext;

}

if(temp==NULL)

return NULL;

else if(back==NULL)

{

m_pHead = m_pHead ->m_pNext;

return temp;

}

else

{

back -> m_pNext = temp-> m_pNext;

return temp;

}

return NULL;

}

Store *CustomerList::getStore(int ID)

{

Store *temp;

temp = m_pHead;

while((temp != NULL) && (ID != temp ->getStoreID()))

{

temp = temp->m_pNext;

}

if(temp == NULL)

return NULL;

else

{

Store *retStore = new Store;

*retStore = *temp;

retStore->m_pNext = NULL;

return retStore;

}

}

bool CustomerList::updateStore(int ID, char *name, char *addr, char *city, char *st, char *zip)

{

return false;

}

void CustomerList::printStoresInfo()

{

Store *temp;

cout << " ===================================================================================== " << endl;

if(m_pHead == NULL)

{

cout << " The List is currently empty. " ;

}

else

{

temp = m_pHead;

while(temp != NULL)

{

temp->printStoreInfo();

temp = temp->m_pNext;

}

}

}

Store.h

#pragma once;

#include #include

using namespace std;

class Store { private: int m_iStoreID; char m_sStoreName[64]; char m_sAddress[64]; char m_sCity[32]; char m_sState[32]; char m_sZip[11];

public: Store *m_pNext;

Store(); // Default constructor Store(int ID, // Constructor char *name, char *addr, char *city, char *st, char *zip); ~Store(); // Destructor int getStoreID(); // Get/Set store ID void setStoreID(int ID); char *getStoreName(); // Get/Set store name void setStoreName(char *name); char *getStoreAddress(); // Get/Set store address void setStoreAddress(char *addr); char *getStoreCity(); // Get/Set store city void setStoreCity(char *city); char *getStoreState(); // Get/Set store state void setStoreState(char *state); char *getStoreZip(); // Get/Set store zip code void setStoreZip(char *zip); void printStoreInfo(); // Print all info on this store };

Store.cpp

#include "Store.h" #include

using namespace std;

Store::Store() { m_pNext = NULL; }

Store::Store(int ID, char *name, char *addr, char *city, char *st, char *zip) { m_iStoreID = ID; strcpy(m_sStoreName, name); strcpy(m_sAddress, addr); strcpy(m_sCity, city); strcpy(m_sState, st); strcpy(m_sZip, zip); m_pNext = NULL; }

Store::~Store() { // Nothing to do here }

int Store::getStoreID() { return m_iStoreID; }

void Store::setStoreID(int ID) { m_iStoreID = ID; }

char *Store::getStoreName() { char *name = new char[strlen(m_sStoreName) + 1]; strcpy(name, m_sStoreName); return name; }

void Store::setStoreName(char *name) { strcpy(m_sStoreName, name); }

char *Store::getStoreAddress() { char *addr = new char[strlen(m_sAddress) + 1]; strcpy(addr, m_sAddress); return addr; }

void Store::setStoreAddress(char *addr) { strcpy(m_sAddress, addr); }

char *Store::getStoreCity() { char *city = new char[strlen(m_sCity) + 1]; strcpy(city, m_sCity); return city; }

void Store::setStoreCity(char *city) { strcpy(m_sCity, city); }

char *Store::getStoreState() { char *state = new char[strlen(m_sState) + 1]; strcpy(state, m_sState); return state; }

void Store::setStoreState(char *state) { strcpy(m_sState, state); }

char *Store::getStoreZip() { char *zip = new char[strlen(m_sZip) + 1]; strcpy(zip, m_sZip); return zip; }

void Store::setStoreZip(char *zip) { strcpy(m_sZip, zip); }

void Store::printStoreInfo() { cout << m_iStoreID << setw(20) << m_sStoreName << setw(15) << m_sAddress << setw(15) << m_sCity << ", " << m_sState << setw(10) << m_sZip << " "; }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

How To Make A Database In Historical Studies

Authors: Tiago Luis Gil

1st Edition

3030782409, 978-3030782405

More Books

Students also viewed these Databases questions

Question

How many three-digit numbers are divisible by 7?

Answered: 1 week ago

Question

What is Indian Polity and Governance ?

Answered: 1 week ago