Concept explainers
PreferredCustomer Class
A retail store has a preferred customer plan where customers may earn discounts on all their purchases. The amount of a customer’s discount is determined by the amount of the customer’s cumulative purchases in the store.
• When a preferred customer spends $500, he or she gets a 5 percent discount on all future purchases.
• When a preferred customer spends $1,000, he or she gets a 6 percent discount on all future purchases.
• When a preferred customer spends $1,500, he or she gets a 7 percent discount on all future purchases.
• When a preferred customer spends $2,000 or more, he or she gets a 10 percent discount on all future purchases.
Design a class named PreferredCustomer, which is derived from the CustomerData class you created in
• purchasesAmount (a double)
• discountLevel (a double)
The purchasesAmount variable holds the total of a customer’s purchases to date. The discountLevel variable should be set to the correct discount percentage, according to the store’s preferred customer plan. Write appropriate member functions for this class and demonstrate it in a simple program.
Input Validation: Do not accept negative values for any sales figures.
Want to see the full answer?
Check out a sample textbook solutionChapter 15 Solutions
MyLab Programming with Pearson eText -- Access Card -- for Starting Out with C++ from Control Structures to Objects (My Programming Lab)
Additional Engineering Textbook Solutions
Java How to Program, Early Objects (11th Edition) (Deitel: How to Program)
Software Engineering (10th Edition)
C++ How to Program (10th Edition)
Artificial Intelligence: A Modern Approach
Concepts Of Programming Languages
Modern Database Management (12th Edition)
- (Enhanced Employee Class) Modify class Employee inFigs. 12.9–12.10 by adding a private utility function calledisValidSocialSecurityNumber . This member function shouldvalidate the format of a social security number (e.g., ###-##-#### , where # is a digit). If the format is valid, return true ;otherwise return false .arrow_forwardAccount Class) Create an Account class that a bank might use to represent customers’ bank accounts. Include a data member of type intto represent the account balance. Provide a constructor that receives an initial balance and uses it to initialize the data member. Theconstructor should validate the initial balance to ensure that it’s greater than or equal to 0. If not, set the balance to 0 and display anerror message indicating that the initial balance was invalid. Provide three member functions. Member function credit should add anamount to the current balance. Member function debit should withdraw money from the Account and ensure that the debit amountdoes not exceed the Account’s balance. If it does, the balance should be left unchanged and the function should print a messageindicating "Debit amount exceeded account balance." Member function getBalance should return the current balance. Create a programthat creates two Account objects and tests the member functions…arrow_forwardNetwork Class The Network class represents a network of people that are connected to each other and are able to contact and send messages to each other through the network. Create a Network class with the following: Member Variables A Network has just one private member variable: phonebook_ - a std::map which maps from a std::string for a person's name, to the std::shared_ptr<Phone> object that belongs to that person. Constructor You do not need to explicitly define a constructor. The default constructor will implicitly be created for us by the compiler, initializing the phonebook_ to an empty map. AddPhone Create a function AddPhone that accepts a std::shared_ptr to a Phone and inserts that Phone to the phonebook_. The key is the name of that phone's owner, and the value is the shared pointer to the Phone. SendMessage Create a function SendMessage that accepts a std::shared_ptr to a Message and a const reference to a std::string representing the intended recipient of this…arrow_forward
- Problem: Employee and ProductionWorker Classes Write a python class named ProductionWorker that is a subclass of the Employee class. The ProductionWorker class should keep data attributes for the following information: • Shift number (an integer, such as 1, 2, or 3)• Hourly pay rateThe workday is divided into two shifts: day and night. The shift attribute will hold an integer value representing the shift that the employee works. The day shift is shift 1 and the night shift is shift 2. Write the appropriate accessor and mutator methods for this class. Once you have written the class, write a program that creates an object of the ProductionWorker class, and prompts the user to enter data for each of the object’s data attributes. Store the data in the object, then use the object’s accessor methods to retrieve it and display it on the screen Note: The program should be written in python. Sample Input/Output: Enter the name: Ahmed Al-AliEnter the ID number: 12345Enter the department:…arrow_forwardCreate a class of Person having private data members. Make all constructors along with setter getter. Also make a print function that can print all the information of that person.Class Person{Private:char* name;int age;Job job;};Class Job{Private:int id;char * role;int salary;};arrow_forwardclass first { public: void setX(); void print() const; protected: int y; void setY(int a); private: int x; }; Suppose that class second is derived from class first using the statement: class second: private first Determine which members of class first are private, protected, and public in class second.arrow_forward
- Bank Account Class Part (1) Define a class with the following specification:(a) The class name is BankAccount and it has two private variables: fullName (String) and balance (double). (b) Write a constructor that initializes fullName and balance variables. If balance is negative, then set it to 0.0 and print the message “Invalid balance. Balance is set to 0.0”. (c) Provide a set and get methods to balance variable. In set method, if the supplied balance (parameter) is negative print an invalid message and do not change the balance.(d) Write a method deposit() that has one double input parameter called amount. The method adds amount to the current balance.(e) Write a method withdraw() that has one double input parameter called amount. The method subtracts amount from the current balance.(f) Write method printInfo() that displays the full name on a single line followed by the balance on the next line. Part (2) Write a Java application to test the class you defined in Part (1):(a) Ask…arrow_forwardemployee and production worker classes write an employee class that keeps data attributes for the following pieces of information: • employee name • employee number next, write a class named productionworker that is a subclass of the employee class. the productionworker class should keep data attributes for the following information: • shift number (an integer, such as 1, 2, or 3) • hourly pay rate the workday is divided into two shifts: day and night. the shift attribute will hold an integer value representing the shift that the employee works. the day shift is shift 1 and the night shift is shift 2. write the appropriate accessor and mutator methods for each class. once you have written the classes, write a program that creates an object of the productionworker class and prompts the user to enter data for each of the object’s data attributes. store the data in the object, then use the object’s accessor methods to retrieve it and display it on the screen. satak overfallowarrow_forwardCircle Class (Easy) Write a Circle class that has the following member variables: radius : a double The class should have the following member functions: Default Constructor: default constructor that sets radius to 0.0. Constructor: accepts the radius of the circle as an argument. setRadius: an mutator function for the radius variable. getRadius: an accessor function for the radius variable. getArea: returns the area of the circle, which is calculated as area = pi * radius * radius getCircumference: returns the circumference of the circle, which is calculated as circumference = 2 * pi * radius Step1: Create a declaration of the class. Step2: Write a program that demonstrates the Circle class by asking the user for the circle’s radius, creating Circle objects, and then reporting the circle’s area, and circumference. You should create at least two circle objects, one sets the radius to 0.0 and one accepts the radius as an…arrow_forward
- C++ Pet Class You are going to organize and show information about pets in a Pet Store using a Pet class. The Pet class You need to make a Pet class that holds the following information as private data members: the name of the pet (e.g. "Spot", "Fluffy", or any word a user enters) the type of pet (e.g. dog, cat, snake, hamster, or any word a user enters) level of hungriness of the pet (2 means hungry, 1 means content, 0 means full) Your class also needs to have the following functions: a default constructor that sets the pet to be a dog named Buddy, with level of hungriness being “content” a parameterized constructor to allow having any type of pet the order of the parameters is: name of the pet, type of pet, hungriness level a PrintInfo function that prints the info for the pet according to the sample output below a TimePasses function that increases the hungry level of the pet by one (unless its hungry level is already 2, meaning hungry). a FeedPet function that changes the…arrow_forwardC++ Pet Class You are going to organize and show information about pets in a Pet Store using a Pet class. The Pet class You need to make a Pet class that holds the following information as private data members: the name of the pet (e.g. "Spot", "Fluffy", or any word a user enters) the type of pet (e.g. dog, cat, snake, hamster, or any word a user enters) level of hungriness of the pet (2 means hungry, 1 means content, 0 means full) Your class also needs to have the following functions: a default constructor that sets the pet to be a dog named Buddy, with level of hungriness being “content” a parameterized constructor to allow having any type of pet the order of the parameters is: name of the pet, type of pet, hungriness level a PrintInfo function that prints the info for the pet according to the sample output below a TimePasses function that increases the hungry level of the pet by one (unless its hungry level is already 2, meaning hungry). a FeedPet function that changes the…arrow_forwardInvoicing.java Create a class named Invoicing (no instance private data fields) that includes three overloaded computeInvoice() methods and one displayDetails() method for a book store: see pages 140 and 183 for examples... * Define a constant for the 8% tax rate at the top of the Invoicing class. Set the TAXRATE double constant to 0.08. Do not set to a whole number. When computeInvoice() receives a single parameter, it represents the price of one book ordered. Calculate the tax using the TAXRATE constant. Add the tax to the price and save the total due in a variable. Call the displayDetails() method, defined in the computeInvoice() class, being sure to pass the total due as an argument to the display method. * When computeInvoice() receives two parameters, they represent the price of a book and the quantity ordered. Multiply the price times quantity, calculate the tax using the TAXRATE constant, and calculate the total due. Call the displayDetails() method, defined in the…arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education