Skip to content

Fisher-y/TaskManager_System

Repository files navigation

编译期多态实现任务管理系统

项目简介

开发一个命令行界面的任务管理系统,允许用户添加、删除、查看和管理他们的待办事项。该系统将涵盖以下功能:

  • 添加任务:用户可以添加新的待办任务,包含任务描述、优先级和截止日期。
  • 删除任务:用户可以根据任务ID删除指定的任务。
  • 查看任务:用户可以查看所有任务,按优先级或截止日期排序。
  • 更新任务:用户可以更新任务的详细信息。
  • 数据持久化:任务数据将保存在本地文件中,以便在程序重启后仍能保留数据。
  • 日志记录:系统将记录用户的操作日志,使用单例模式实现日志系统。
  • 扩展性:采用CRTP模式实现基础命令接口,方便未来扩展更多命令。

项目结构

  1. 主程序( main.cpp :处理用户输入和命令调用。
  2. 任务管理模块( Task.h , TaskManager.h , TaskManager.cpp :负责任务的创建、删除、更新和查询。
  3. 日志系统( Logger.h , Logger.cpp :使用单例模式实现日志记录。
  4. 命令接口( Command.h , Command.cpp :采用CRTP模式实现命令的基础接口和具体命令类。
  5. 数据持久化( DataStore.h , DataStore.cpp :负责将任务数据保存到文件和从文件加载数据。

编译和运行

使用cmake进行多文件的编译, CMakeLists.txt编写如下:

cmake_minimum_required(VERSION 3.10)

project(LogSystem)

add_executable(LogSystem main.cpp Logger.cpp TaskManager.cpp)

系统使用示例

Tue Sep 16 20:03:24 2025
: 任务文件不存在,开始新建。
Tue Sep 16 20:07:24 2025
: 添加任务: ID: 1, 描述: 完成项目报告, 优先级: 1, 截止日期: 2025-07-08
Tue Sep 16 20:07:24 2025
: 保存任务成功。
Tue Sep 16 20:08:03 2025
: 添加任务: ID: 2, 描述: 完成系统测试, 优先级: 2, 截止日期: 2025-09-22
Tue Sep 16 20:08:03 2025
: 保存任务成功。
Tue Sep 16 20:09:17 2025
: 更新前任务: ID: 2, 描述: 完成系统测试, 优先级: 2, 截止日期: 2025-09-22
Tue Sep 16 20:09:17 2025
: 更新后任务: ID: 2, 描述: 完成系统测试, 优先级: 1, 截止日期: 2025-08-29
Tue Sep 16 20:09:17 2025
: 保存任务成功。
Tue Sep 16 20:10:12 2025
: 删除任务: ID: 1, 描述: 完成项目报告, 优先级: 1, 截止日期: 2025-07-08
Tue Sep 16 20:10:12 2025
: 保存任务成功。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published