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. Answer using C language and Stacks not Arrays
In this project you will implement a
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 &
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.
Answer using C language and Stacks not Arrays
Step by step
Solved in 3 steps