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:
- undo: this will undo (i.e., remove) that last entered statement;
- redo: this will redo (i.e., re-add) that last removed statement;
- print: this command will print the entire stored input text; 4. save: will save the text to a file called (txt);
- 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.
Reviews
There are no reviews yet.