In this assignment you are required to individually (each student on their own) develop a program thatallows creating, viewing, and storing information about telephone customers.
You will need to author two classes – Customer and Pensioner. Pensioner should be a subclass ofCustomer. These classes should be in their own files with separate header files. Details are below.
Create a third class called Manager. The manager file can contain the main function. The Manager classshould contain member functions that read a text file, called [login to view URL], line by line, performingappropriate actions at each line, until the end of the file is reached. You should make no assumptionsabout the length of the file.
Each line of the file has the following format:
O Jimbo Jones 43215678 56
O Gladys Skinner 7628372 56 P P23435
D
P
The action for each line will depend upon the first character (the directive).
• If the first character is “O” then there are two possibilities.
o The customer is an ordinary customer. In this case the fields are firstName, lastName, telephoneNo and numberOfCalls. A Customer object should be created and initialisedwith the values from this line.
o The customer is a pensioner. In this case, we have a field P which purely signifies that we are dealing with a pensioner, followed by the pension number. A Pensioner object shouldbe created with the four Customer fields and also the pension number.
In either case, the resulting object should be added to an array of ten Customer pointers called‘store’. This array should be a private data member of the Manager class.
• If the first character is “D” then the Customer or Pensioner object most recently added to the store should be deleted. The way that the store should be handled is to create a second private data member called ‘top’ which is originally set to zero. Each time you add a Customer object you add it at the point signified by top. Top is then incremented. Thus, the first Customer is put in position zero and top is incremented to 1. When we delete a Customer, we use top to determine whichobject to remove.
• If the first character is “P” then all of the elements in the array should be printed to a file (called [login to view URL]). The output should be appended to the file – not overwrite what is already there. The deleted elements should, of course, not figure in this output. The output should contain all of the information for the Customer. Furthermore, a telephone charge should be calculated as the number of calls at 45c each. If the Customer is a pensioner then the pension number should be output and a discount of 10% provided. Both the discount and the new price should be displayed. Note: that the methods for calculating the charge should be defined in the Customer class and overridden in the Pensioner class. Polymorphism should be used rather than anyattempt to explicitly determine what type of object is being dealt with.
• If the line contains only white space, it should be ignored and the program should proceed to thenext line.
• If the directive contains any character other than those above an error message should be giveand the program should continue.
The output to the file should be provided in both of two ways:
• A method called print should be provided in both the Customer and Pensioner class
• The << operator should be overridden in both classes.
Error messages should be provided in the following circumstances:
• Incorrect directives in the input file
• Attempting to add a customer to a full store
• Attempting to delete a customer from an empty store
• Any other appropriate situations
In each of these cases, the error message should be given and the program should be allowed tocontinue. In your report, give your opinion on which is the best technique in this particular circumstance.
Challenge Task
Implement a function that sorts the customerinformation (after each print event evoked by “P”) according to their names. The sorted output should bewritten to a f
Dear sir,
I am strong in advanced data structures and algorithm in C++ programming. I am familiar with Object Oriented Design, Class Encapsulation, Polymorphism and Inheritance. I have done similar projects before and I can show you my past code in C++.
I can do the project for you with high quality and efficiency.
Wait for your response
Thank you
BR
I have done this project before in my early years of university. I can do this quite quickly and according to the assignment specification. I got full marks when I did this.
I am doing Software Eng in top institute of Asia. my Programming is excellent. I maked many Assignments on polymorphism in Cp Course in C++.You definitely get excellent marks. you will not dispointed
BUYER BEWARE chandlerbing will lie and cheat to get money from you, and you will NOT see it again. He is incapable of completing your project and you should not employ him. There are many employers that have suffered, like me...and lost money, with no response at all from him. Choose a reputable freelancer, check ALL of their feedback (much of it can be falsified) DO NOT EMPLOY CHANDLERBING UNLESS YOU REALLY WANT TO LOOSE YOUR MONEY. IT HAPPENED TO ME AND OTHERS