Create a command line TODO list program. Prompt your client. The first character/symbol they enter will be the command. Follow that with a space. Finally, enter the todo list item. Example: "+ Study for Final" (don't enter the quotes). This causes Study for Final to be entered into the TODO list with todays date. You will need to have the following fields at a minimum: TODO itself, date added, and TODO Identification number, but you can add as many other fields as you wish.
// Specification C1 - Overload <<
Overload the stream insertion operator to output a TODO.
//Specification C2 - Overload >>
Overload thestream extraction operator to input a TODO.
// Specification C3 - Test TODO's
Generate at least 5 TODO's in your component testing method.
//Specification C4 - TODO array
Put your TODO's in a dynamic array of TODOs
// Specification B1 - + Symbol
Allow the user to enter tasks with a "+" symbol.
// Specification B2 - ? Symbol
Allow the user to display all tasks with a ? symbol.
// Specification B3 - - symbol
Allow the user to remove a task with a "-" symbol (use an ID num- ber to remove the TODO). This doesn't necessary mean you need to delete it immediately.
Specification B4 - Persistence
Have your TODO list survive program termination by dumping the TODO's to disk when program ends. Load the data when the program first runs - if the file exists.
// Specification A1 - Overload Copy Constructor
Overload the default copy constructor to handle your TODO's. Do this even if you dont have any pointers in your TODO ob- ject/struct. This is a great method to put in your component test- ing method.
// Specification A2 - Overload Assignment Operator
To handle TODO assignment.
// Specification A3 - System Date
Pull the date for your TODO record directly from the system date method.
// Specification A4 - Overload Constructor
Allow empty input for an add from the menu. However, empty adds trigger the regular constructor which creates a test record filled with obviously dummy data. When the client actually enters data during an add, trigger an overloaded constructed filling it with the data supplied by the client.