$30
In this project you will implement a program that simulates a simple text editor with the undo/redo functionalities allowed. The program will accept statements, one at a time with a maximum of 100 characters per line.
There will be some special commands as follows:
1. undo: this will undo (i.e., remove) that last entered statement;
2. redo: this will redo (i.e., re-add) that last removed statement;
3. print: this command will print the entire stored input text; 4. save: will save the text to a file called (output.txt);
5. quit: will exit the program and save all results to output.txt
Execution example:
MyCommand > This is a test input
MyCommand > COMP2421 – Data structures & Algorithms
MyCommand > test1
MyCommand > print
result >
This is a test input
COMP2421 – Data structures & Algorithms test1
MyCommand > undo
result >
This is a test input
COMP2421 – Data structures & Algorithms
MyCommand > redo
result >
This is a test input
COMP2421 – Data structures & Algorithms test1
MyCommand > test2
MyCommand > test3
MyCommand > print
This is a test input
COMP2421 – Data structures & Algorithms test1 test2 test3
MyCommand > quit result > Good Bye!
In your implementation, each statement should be stored in a different node. Implementing the undo/redo functionalities can be done through stacks. When printing all statements, you should make sure they are printed in the sequence they were entered.