• About Me
  • Programming
  • Structural Engineering
  • Photography
  • The Quran Initiative
  • More
    • About Me
    • Programming
    • Structural Engineering
    • Photography
    • The Quran Initiative
  • About Me
  • Programming
  • Structural Engineering
  • Photography
  • The Quran Initiative

Task Manager Application (c++)

<< back to list of programming projects


For my data structure's class at Hunter College, I designed a task management application that keeps track of different types of tasks for the user. The application can track (4) different types of tasks:

  • Generic tasks (deadline, task description)
  • Shopping tasks (deadline, task description, list of items)
  • Homework tasks (deadline, task description, subject)
  • Event tasks (deadline, task description, location and time)


A UI code module takes the necessary input from the user and passes it to a to-do list driver/application, which then converts the input into a new Task object. The task objects are then stored in a sorted task linked list, which allows the printing of the tasks in order of their deadline in O(N) time. The user has the option to "complete" a task, which removes it from the to-do list and stores it in a separate sorted linked list of completed tasks.


The application also provides the user with the option to save the current to-do list to disk, or load an existing list from the disk for use. In the future, I would love to take this code and integrate it into an app that can be downloaded and used by actual end-users.


The program is written in C++.

Check out the code at: https://github.com/nablul/Task-Manager

Sample program run:

Welcome to your To-Do List! You may begin to enter commands.

> add

What type of task is this? [G: Generic, S: Shopping, E: Event, H: Homework]

> G

What is the deadline for this task (MM/DD/YYYY format)?

> 02/20/2019

How would you describe this task?

> Visit Boston

Task added successfully.


> add

What type of task is this? [G: Generic, S: Shopping, E: Event, H: Homework]

> S

What is the deadline for this task (MM/DD/YYYY format)?

> 01/25/2019

How would you describe this task?

> Buy fruits

What items do you need to buy? [Type your item and press ENTER to add another item. Type DONE to complete the list.]

> apples

> oranges

> watermelon

> done

Task added successfully.


> add

What type of task is this? [G: Generic, S: Shopping, E: Event, H: Homework]

> E

What is the deadline for this task (MM/DD/YYYY format)?

> 05/21/2019

How would you describe this task?

> Graduation

Where is this event taking place?

> Lincoln Center

When is this event taking place?

> 8:00pm

Task added successfully.


> add

What type of task is this? [G: Generic, S: Shopping, E: Event, H: Homework]

> H

What is the deadline for this task (MM/DD/YYYY format)?

> 12/25/2019

How would you describe this task?

> Final project

What subject is this homework task for?

> CS9000

Task added successfully.


> print

1. 01/25/2019 - [Shopping] Buy fruits

2. 02/20/2019 - Visit Boston

3. 05/21/2019 - [Event] Graduation

4. 12/25/2019 - [Homework] Final project


> complete

Which task would you like to complete?

> 3

Task marked complete successfully.


> detailed

1. 01/25/2019 - [Shopping] Buy fruits

        Items:

        apples

        oranges

        watermelon

2. 02/20/2019 - Visit Boston

3. 12/25/2019 - [Homework] Final project

        Subject:

        CS9000


> save

Where would you like to save your outstanding tasks?

> ./my_tasks.data

Tasks saved successfully!


> completed

1. 05/21/2019 - [Event] Graduation


> exit


Copyright © 2022 Nablul - All Rights Reserved.