strictly use provide template for solution provided at end of a question. -------------------------------------------- Write a program to calculate the total reward points. Strictly adhere to the Object-Oriented specifications given in the problem statement. All class names, member variable names, and function names should be the same as specified in the problem statement. A class VISACard has the following attributes. Access Specifiers Data type Variable protected string type protected double amount private int rewardPercentage Include the following method in VISACard class. Method Description public void ComputeRewardPoints() In this method, calculate and display the reward points based on rewardPercentage in amount Formula: Reward points = amount * (rewardPercentage / 100) A derived class HPVISACard derived from VISACard class and overrides the following method. Method Description public void ComputeRewardPoints() In this method, calculate the reward point. 3% of the amount will be reward points. If the transaction type is fuel, add 10 points to calculate reward points.   Formula: Transaction type (Fuel): Reward points = (amount * (3 / 100))+ 10 Type other than fuel: Reward points = amount * (3 / 100) In the Main method, obtain input from the user. Create VISACard or HPVISACard objects and invoke display methods to display the details. Card type will be either ‘VISA card’ or ‘HPVISA card’. Otherwise, display ‘Invalid input’ Calculate the reward points corresponding to the card type and transaction type and print the reward points(upto two precision). Input and Output Format: Refer sample input and output for formatting specifications. All text in bold corresponds to the input and the rest corresponds to output. Sample Input and Output 1 : Menu 1.VISA Card 2.HPVISA Card Enter the choice 1 Enter the transaction type Shopping Enter the transaction amount 5000 Enter the reward points 2 Card details: Type: Shopping Amount: 5000 Reward point: 100.0   Sample Input and Output 2 : Menu 1.VISA Card 2.HPVISA Card Enter the choice 2 Enter the transaction type Fuel Enter the transaction amount 650 Card details: Type: Fuel Amount: 650 Reward point: 29.5 Sample Input and Output 3 : Menu 1.VISA Card 2.HPVISA Card Enter the choice 3 Invalid input -------------------------end question----------------------   Templates to use for solution   main.cpp #include #include "VISACard.cpp" #include "HPVISACard.cpp" #include using namespace std; int main() { //Fill your code here return 0; }   HPVisacard.cpp #include #include "VISACard.cpp" using namespace std; class HPVISACard : VISACard { public: void computeRewardPoints() { // Fill your code } HPVISACard(string type1, double amount1) : VISACard(type1, amount1) { } };   visacard.cpp #include using namespace std; class VISACard { protected: string type; double amount; private: int rewardPercentage; public: void computeRewardPoints() { // Fill your code here } public: VISACard(string type1, double amount1, int rewardPercentage1) { type = type1; amount = amount1; rewardPercentage = rewardPercentage1; } VISACard(string type1, double amount1) { type = type1; amount = amount1; } void setType (string type){ this->type = type; } void setAmount (double amount){ this->amount = amount; } void setRewardPercentage (int rewardPercentage){ this->rewardPercentage = rewardPercentage; } int getRewardPercentage(){ return rewardPercentage; } string getType(){ return type; } double getAmount(){ return amount; } };

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

strictly use provide template for solution provided at end of a question.

--------------------------------------------

Write a program to calculate the total reward points.

Strictly adhere to the Object-Oriented specifications given in the problem statement. All class names, member variable names, and function names should be the same as specified in the problem statement.

A class VISACard has the following attributes.

Access Specifiers Data type Variable
protected string type
protected double amount
private int rewardPercentage


Include the following method in VISACard class.

Method Description
public void ComputeRewardPoints() In this method, calculate and display the reward points
based on rewardPercentage in amount


Formula:
Reward points = amount * (rewardPercentage / 100)

A derived class HPVISACard derived from VISACard class and overrides the following method.

Method Description
public void ComputeRewardPoints() In this method, calculate the reward point.
3% of the amount will be reward points.
If the transaction type is fuel, add 10 points to calculate reward points.

 

Formula:
Transaction type (Fuel): Reward points = (amount * (3 / 100))+ 10
Type other than fuel: Reward points = amount * (3 / 100)


In the Main method, obtain input from the user.
Create VISACard or HPVISACard objects and invoke display methods to display the details.
Card type will be either ‘VISA card’ or ‘HPVISA card’. Otherwise, display ‘Invalid input’
Calculate the reward points corresponding to the card type and transaction type and print the reward points(upto two precision).

Input and Output Format:
Refer sample input and output for formatting specifications.

All text in bold corresponds to the input and the rest corresponds to output.
Sample Input and Output 1 :
Menu
1.VISA Card
2.HPVISA Card
Enter the choice
1
Enter the transaction type
Shopping
Enter the transaction amount
5000
Enter the reward points
2
Card details:
Type: Shopping
Amount: 5000
Reward point: 100.0
 

Sample Input and Output 2 :
Menu
1.VISA Card
2.HPVISA Card
Enter the choice
2
Enter the transaction type
Fuel
Enter the transaction amount
650
Card details:
Type: Fuel
Amount: 650
Reward point: 29.5

Sample Input and Output 3 :
Menu
1.VISA Card
2.HPVISA Card
Enter the choice
3
Invalid input

-------------------------end question----------------------

 

Templates to use for solution

 

main.cpp

#include <iostream>
#include "VISACard.cpp"
#include "HPVISACard.cpp"
#include <sstream>
using namespace std;
int main() {

//Fill your code here

return 0;
}

 

HPVisacard.cpp

#include <iostream>
#include "VISACard.cpp"
using namespace std;
class HPVISACard : VISACard
{
public:
void computeRewardPoints() {

// Fill your code
}

HPVISACard(string type1, double amount1) : VISACard(type1, amount1) {

}
};

 

visacard.cpp

#include <iostream>
using namespace std;
class VISACard {
protected:
string type;
double amount;

private:
int rewardPercentage;

public:
void computeRewardPoints() {

// Fill your code here
}

public:
VISACard(string type1, double amount1, int rewardPercentage1) {
type = type1;
amount = amount1;
rewardPercentage = rewardPercentage1;
}
VISACard(string type1, double amount1) {
type = type1;
amount = amount1;
}
void setType (string type){
this->type = type;
}
void setAmount (double amount){
this->amount = amount;
}
void setRewardPercentage (int rewardPercentage){
this->rewardPercentage = rewardPercentage;
}
int getRewardPercentage(){
return rewardPercentage;
}
string getType(){
return type;
}
double getAmount(){
return amount;
}
};

Expert Solution
steps

Step by step

Solved in 7 steps with 3 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY