Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

C++ code for this?Specify, design, and implement a class that can be used in a p

ID: 3662815 • Letter: C

Question

C++ code for this?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 will call x,y,z. In order to open the lock, you must turn the knob clockwise at least one entire revolution, stopping with x at the top; then you turn the knob counterclockwise, stopping the "second" time that y appears at the top; finally, you 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 3-number combination (use 0,0,0 for default arguments in defaut constructor) Also, provide the following methods: a) To alter the lock's combination to a new 3-number combination b) To turn the knob in a given direction until a specified number appears at the top. (You also must show all of the numbers in the output as the lock is being turned - could use a for loop) c) To close the lock d) To attempt to open the lock e) To inquire about the status of the lock (open or closed) f) To tell what number is currently at the top.

Explanation / Answer

#include <bits/stdc++.h>
using namespace std;

class lock{
public:
int x,y,z;
bool locked;
lock(){
x = y = z = 0;
}
void put_lock(){
locked = true;
}
void put_code(int a,int b,int c){
x = a;
y = b;
z = c;
}
bool is_locked(){
return locked;
}
int next_num(){
x += 1;
if (x == 9) x = 0;
y -= 1;
if (y == 0) y = 9;
z += 1;
if (z == 9) z = 0;
return 100*x + 10*y + z;
}
int top(){
return 100*x + 10*y + z;
}
void acquire(){
for (int i = 0; i < 39; i++){
int n = next_num();
cout << "Number on top is " << top() << endl;
int a = n % 10;
n /= 10;
int b = n % 10;
n /= 10;
int c = n % 10;
if (a == x && y == b && z == c){
cout << "LOCK OPENED " << endl;
locked = true;
return;
}
}
}
};

int main(){

return 0;
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote