Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Programming Assignment Error I am suppose to be able to create a list of customer stores for each employee in the database. However, I have

Programming Assignment Error

I am suppose to be able to create a list of customer stores for each employee in the database.

However, I have followed most of the requirements but I am having an issue with the code from the CustomerList.cpp file.

I am getting Code Error: LNK2019 from Visual Studios 2015 Some errors: 1.) Error LNK2019 unresolved external symbol "public: __thiscall Store::Store(int,char *,char *,char *,char *,char *)" (??0Store@@QAE@HPAD0000@Z) referenced in function "public: bool __thiscall CustomerList::addStore(class Store *)" (?addStore@CustomerList@@QAE_NPAVStore@@@Z)

2.) Error LNK2001 unresolved external symbol "public: __thiscall Store::Store(int,char *,char *,char *,char *,char *)" (??0Store@@QAE@HPAD0000@Z)

3.) Error LNK2019 unresolved external symbol "public: int __thiscall Store::getStoreID(void)" (?getStoreID@Store@@QAEHXZ) referenced in function "public: bool __thiscall CustomerList::addStore(class Store *)" (?addStore@CustomerList@@QAE_NPAVStore@@@Z)

4. Error LNK2019 unresolved external symbol "public: char * __thiscall Store::getStoreName(void)" (?getStoreName@Store@@QAEPADXZ) referenced in function "public: bool __thiscall CustomerList::addStore(class Store *)" (?addStore@CustomerList@@QAE_NPAVStore@@@Z)

5.) Error LNK2019 unresolved external symbol "public: char * __thiscall Store::getStoreAddress(void)" (?getStoreAddress@Store@@QAEPADXZ) referenced in function "public: bool __thiscall CustomerList::addStore(class Store *)" (?addStore@CustomerList@@QAE_NPAVStore@@@Z)

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 }

//THE ERRORS STARTS FROM HERE. WHEN I COMMENT OUT ALL LINES FROM THIS FILE ONLY BEGINNING HERE AND BELOW THE ERRORS GO AWAY. ERRORS PROVIDED ON PICTURE.

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; } } }

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();

};

Store.cpp

#pragma once #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 << " "; }

Store.h

#pragma once #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 };

EmployeeRecord.h

#pragma once #include "CustomerList.h"

class EmployeeRecord { private: int m_iEmployeeID; char m_sFirstName[32]; char m_sLastName[32]; int m_iDeptID; double m_dSalary;

public: CustomerList *getCustomerList(); CustomerList *m_pCustomerList;

EmployeeRecord(); //Constructor EmployeeRecord(int ID, char *fName, char *lName, int dept, double sal); //Setting the values. ~EmployeeRecord(); //Destructor

int getID(); // Return the value stored in the member variable void setID(int ID); void getName(char *fName, char *lName); void setName(char *fName, char *lName); int getDept(); void setDept(int d); double getSalary();//Define Pointer Function void setSalary(double sal);//Copy the function argument to m_dSalary. void printRecord(); //Print to screen

};

EmployeeRecord.cpp

#include #include "EmployeeRecord.h" #include #include

using namespace std;

EmployeeRecord::EmployeeRecord() {

//Set Values 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) { //Problem 1 m_iEmployeeID = ID; strcpy(m_sFirstName, fName); strcpy(m_sLastName, lName); m_iDeptID = dept; m_dSalary = sal; }

//Destructor

EmployeeRecord::~EmployeeRecord() {

}

int EmployeeRecord::getID() { return m_iEmployeeID; }

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

void EmployeeRecord::getName(char *fName, char *lName) { //Problem 2 strcpy(fName, m_sFirstName); strcpy(lName, m_sLastName);

}

void EmployeeRecord::setName(char *fName, char *lName) {

strcpy(m_sFirstName, fName); strcpy(m_sLastName, lName);

} int EmployeeRecord::getDept() { return m_iDeptID; }

void EmployeeRecord::setDept(int d) { m_iDeptID = d; }

double EmployeeRecord::getSalary() {

return m_dSalary; }

void EmployeeRecord::setSalary(double sal) { m_dSalary = sal; }

void EmployeeRecord::printRecord() { cout << "ID: " << m_iEmployeeID << endl; cout << "First Name: " << m_sFirstName << endl; cout << "Last Name: " << m_sLastName << endl; cout << "Department: " << m_iDeptID << endl; cout << "Salary: " << m_dSalary << endl; }

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

int main(void) { int ID; char firstname[32] = ""; char lastname[32] = ""; int dept; double sal;

cout << "Enter Employee ID: "; cin >> ID; cout << "Enter your First Name: "; cin >> firstname; cout << "Enter your last name: "; cin >> lastname; cout << "Enter Department: "; cin >> dept; cout << "Enter Salary: "; cin >> sal;

EmployeeRecord *Employee = new EmployeeRecord(ID, firstname, lastname, dept, sal); Employee->printRecord();

Employee->setID(2); char* firstName = "John"; char* lastName = "Doe"; Employee->setName(firstName, lastName); Employee->setDept(2); Employee->setSalary(4000);

cout << "--------------------------------" << endl; Employee->printRecord(); system("pause");

CustomerList *cl = Employee->getCustomerList();

Store *s = new Store(2505, "Best Buy", "1231 Main St.", "Birmingham", "Alabama", "12345"); cl->addStore(s); cl->printStoresInfo(); return 0;

}

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

Step: 3

blur-text-image

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

Machine Learning And Knowledge Discovery In Databases European Conference Ecml Pkdd 2015 Porto Portugal September 7 11 2015 Proceedings Part 1 Lnai 9284

Authors: Annalisa Appice ,Pedro Pereira Rodrigues ,Vitor Santos Costa ,Carlos Soares ,Joao Gama ,Alipio Jorge

1st Edition

3319235273, 978-3319235271

More Books

Students also viewed these Databases questions