191k views
5 votes
PLEASE DO NOT COPY FROM OTHER EXPERT NOTES AND POST THE OUTPUT AS WELL!!

Please satisfy all bundles of specifications; every single specification is required to be satisfied, not just one bundle. They are requirements.

C++ Problem.
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 today’s 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.

Requirements.
• No C libraries (no .h).
• No global variables or analogues of global variables.
• No standard template library anything.
• Create a alphabetic menu to handle program options.
• Only allow valid letters or symbols as input for this menu. Upper and lower case if appropriate. Re-prompt in event of error. Can you do this without displaying an actual menu?
• Style guide elements apply: comments, layout, Program Greeting, Source File Header, and variables etc. etc. In your program greeting function, be sure to display the current date. Get this from the system hardware.
• Create at least 1 object.
• All objects must have a component testing method which runs at least 2 diagnostic tests on that object. Include this in main() right after the program greeting.

Specification Bundles: Please satisfy all bundles of specifications; every single specification is required for this assignment

Code elements from the specification bundles to control the maximum potential grade you can get for this assignment. The more work you do, the better grade you can get. This is the starting point for your grade. Start with bundle "C" and work your way up to "A".

"C" Specification Bundle.

1. // Specification C1 - Overload: «Overload the stream insertion operator to output a TODO.

2. //Specification C2 - Overload: »Overload the stream extraction operator to input a TODO.

3. // Specification C3 - Test TODO’s: Generate at least 5 TODO’s in your component testing method.

4. //Specification C4 - TODO array: Put your TODO’s in a dynamic array of TODO’s

"B" Specification Bundle.

1. // Specification B1 - + Symbol: Allow the user to enter tasks with a "+" symbol.
2. // Specification B2 - ? Symbol: Allow the user to display all tasks with a ? symbol.
3. // Specification B3 - - symbol: Allow the user to remove a task with a "-" symbol (use an ID number to remove the TODO). This doesn’t necessary mean you need to delete it immediately. ​​​​​​​ ​​​​​​​
4. 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.

"A" Specification Bundle.

1. // Specification A1 - Overload Copy Constructor: Overload the default copy constructor to handle your TODO’s. Do this even if you don’t have any pointers in your TODO object/struct. This is a great method to put in your component testing method.

2. // Specification A2 - Overload Assignment Operator: To handle TODO assignment.
3. // Specification A3 - System Date: Pull the date for your TODO record directly from the system date method.
4. // 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.

1 Answer

3 votes

Final answer:

This is a college-level Computers and Technology question about creating a command line TODO list program in C++.

Step-by-step explanation:

The subject of this question is Computers and Technology. It is a college-level question.

To satisfy the requirements and specifications of this command line TODO list program, you will need to create a C++ program that prompts the client, accepts commands and todo list items, and performs various operations such as adding, displaying, and removing tasks from the todo list.

The program should have a menu system to handle program options, and should also include various components such as overloading operators, dynamic array of TODO's, persistence of the TODO list, overloading constructors, and using system date for TODO records.

User Dfundako
by
8.1k points