A repair company has observed that the number of repeat repairs have increased. Toreduce the number of mistakes when fixing a product, the company has contractedyou to come up with a program that can trace the disassembly steps of a productso that the re-assembly can be output.To do this, you will write a program that uses a stack. Each disassembly step ispushed onto the stack. When it is time to re-assemble the product, the stack canbe popped until no items are remaining. There may be some disassembly steps thatdo not have a one-to-one mapping with an assembly step. For these cases, use anenumerated type to indicate if the step is optional or required.Data Formatenum priority {OPTIONAL,REQUIRED};typedef struct {char *desc;enum priority p;} instruction; Other Requirements ⢠When printing the assembly, print only steps that are required. ⢠Each instruction should be a node in a linked list-based stack ⢠Nodes should be managed using dynamic memory allocation. Example Run # Add step 1. Add step 2. Undo step 3. Assemble 4. Quit > 1 Description: clean surface Priority (0, 1): 0 # Undo step 1. Add step 2. Undo step 3. Assemble 4. Quit > 2 Step "take front cover off" removed. # Print disassembly 1. Add step 2. Undo step 3. Assemble 4. Quit > 3 1) remove battery 2) take front cover off

Solved
Show answers

Ask an AI advisor a question