Question & Answer: (C++) Construct a Customer class that keeps track of a Customer purchases, credit line, and total balance. An object in the Customer class will h…..

(C++) Construct a Customer class that keeps track of a Customer purchases, credit line, and total balance. An object in the Customer class will have a name, an address, a credit limit (set to $1500) as well as other data fields. Declare and define data fields, include a constructor to populate the data fields, and implement member functions such that you can perform the following:

• Extract data members if needed.

• Keep track of number of sales, and total balance.

• Specify if a new purchase would exceed the credit limit. If the cost of an item to be purchased, added to the unpaid balance, surpasses the Customer’s credit limit , do not allow the sale and output “Not enough credit limit.Purchase cannot be completed.” . Otherwise show “Purchase successful.”

Write a program that tests the features of the Customer class. Figure 1 shows a sample output. You can use the following pseudocode as a template:

#include header files

using namespace std;

class Customer

{public:

Customer(parameters);

string get_name() const;

double get_credit_limit() const;

double get_total_balance() const;

int get_num_purchases() const;

Private:

//data field};

//definition of constructor and member functions

int main()

{

construct Customer object

cout << “Customer: ” << Customer name << endl;

cout << “Credit Limit: ” << Customer credit imit << endl;

//while loop

purchase value?

cin >> val;

c.add_purchase (val);

Purchase another item (y/n)?

cout << “The total of ” << number of purchases << “purchase(s) is $ ” << total balance << endl;

return 0;

}

Expert Answer

 

#include <iostream>

using namespace std;

class Customer

{
public:

Customer(string name, double creditLimit);

string get_name() const;

double get_credit_limit() const;

double get_total_balance() const;

int get_num_purchases() const;

void add_purchase (double val);

private:

string name;

double credit_limit;

double total_balance;

int num_purchases;
};

Customer::Customer(string name, double credit_limit) {
this->name = name;
this->credit_limit = credit_limit;
this->total_balance = 0;
this->num_purchases = 0;
}

string Customer::get_name() const{
return name;
}

double Customer::get_credit_limit() const{
return credit_limit;
}

double Customer::get_total_balance() const {
return total_balance;
}

int Customer::get_num_purchases() const {
return num_purchases;
}

void Customer::add_purchase (double val) {
if (total_balance + val > credit_limit) {
cout << “Limit exceeded. Cannot purchase” << endl;
return;
}
total_balance = total_balance + val;
num_purchases++;

}

int main()

{

Customer c(“Alpha”, 30000);

string name;

double credit_limit;

cout << “Customer: ” << c.get_name() << endl;

cout << “Credit Limit: ” << c.get_credit_limit() << endl;

char ch = ‘y’;

while (ch == ‘y’) {

cout << “enter purchase value: “;

double val;

cin >> val;

c.add_purchase (val);

cout << “Purchase another item (y/n)? “;

cin >> ch;
}

cout << “The total of ” << c.get_num_purchases() << ” purchase(s) is $” << c.get_total_balance() << endl;

return 0;

}

Still stressed from student homework?
Get quality assistance from academic writers!