Specify, design, and implement a class that can be used in a program that simulates a combination lock. The lock has a circular knob, with the numbers 0 through 39 marked on the edge, and it has a three-number combination, which we'll call x, y, z. To open the lock, you must turn the knob clockwise at least one entire revolution, stopping with x at the top: then turn the knob counterclockwise, stopping the second time that y appears at the top: finally turn the knob clockwise again, stopping the next time that z appears at the top. At this point, you may open the lock.

Your lock class should have a constructor that initializes the three-number combination (use 0, 0, 0 for default arguments). Also provide member functions:

(a) to alter the lock's combination to a new three number combination

(b) to turn the knob in a given direction until a specified number appears at the top

(c) to close the lock

(d) to attempt to open the lock

(e) to inquire about the status of the lock (open or shut)

(f) to tell you what number is currently at the top

Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.