Skip to content

This project is a 2020 planner that will allow the user to view , change, and create tasks to be completed for any day in the year. This includes a user interface that's shows the month, its days and the users selected date

Notifications You must be signed in to change notification settings

Kamron247/Task-Planner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Planner Project

We will be creating a planner which will allow the user to keep track of and update their responsibilities, remind them about important dates and events, and provide relevant information for days of their choosing. The user’s customizations will be preserved in a file which stores their planner’s information, and which is loaded into their planner whenever the program runs.

Main Point 1 (about the thesis and include support): The year 2021 will be modeled in the planner using nested StaticArrays. Twelve StaticArrays, one for each month, each containing a StaticArray with size equal to the maximum number of days in a month (31), although user input will be verified to prevent interaction with nonexistent days (like February 30). The program will prompt the user to input a date in month/day form which will be parsed for the right indices to be called from the StaticArrays. For example, November 17 would be 11/7. If the user inputs out-of-bounds values, whether it be out-of-bounds month or day, the program will output an error message and re-prompt the user for input. The user can quit at any time by entering ‘Q’ or ‘q.’ The planner will only be for the year 2021 to avoid having to account for leap years and the fact that weeks and years do not line up perfectly.

Main Point 2 (about the thesis and include support): The StaticArrays representing each month will contain Day objects. Each Day object will have a PriorityQueue of task objects, where each Task object has a string name, string description, integer importance from 1-10, and possibly strings specifying the relevant locations and times. The < operator for task objects will compare the importance rating, and in this way the tasks will be displayed to the user from most important (10) to least important (1). The user will be able to specify tasks by name to display additional information besides the task’s name and importance. Additionally, each Day object will have a string specifying the day of the week. Lastly, each Day object will have a vector of strings with reminders, to inform the user of things like birthdays, anniversaries, holidays, and so on. The user will be able to add and remove reminders and tasks as desired by interfacing with the menu.

Main Point 3 (about the thesis and include support): The user’s updates to their planner will be preserved by writing all the information to a file at the end of the program. We will develop a syntax to translate information from the file to be stored in the various Day objects. If the program tries to read from an empty file, then an error message will be displayed informing the user that no data is present, but they will still be able to interface with a blank planner.

Conclusion (one or two statements which summarize your project proposal and refer back to the thesis statement): The planner we create will help the user keep track of their responsibilities, as well as noteworthy dates in the year 2021. The functionality will be implemented using a combination of data structures, among them the StaticArray and PriorityQueue which we studied in depth during this semester.

About

This project is a 2020 planner that will allow the user to view , change, and create tasks to be completed for any day in the year. This includes a user interface that's shows the month, its days and the users selected date

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages