Skip to content

Arcs-ur/NIS1336_2023

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NIS1336_2023

作业目标

使用C++语言开发一个有用而且有趣的日程管理软件,以小组方式完成,每个小组不超过4人。

实现如下功能:

  1. 使用命令行界面;

  2. 账户管理:

    a. 输入用户名、口令;

    b. 口令不能明文保存,要加密保存口令或保存口令的HASH值;

  3. 任务录入;

    a. 任务属性(可以根据需求进行调整): 任务名称、启动时间、优先级(高中低)、分类(学习、娱乐、生活)、提醒时间;

    b. 每个任务的开始时间不能相同;

    c. 任务名称+开始时间,要具有唯一性;

    d. 任务的属性,比如优先级,类型,具有缺省值;

    e. 给每个任务分配唯一的id;

  4. 任务保存:

    a. 输入的任务,要保存到本地文件;每一个任务输入完成后自动保存到文件;

    注意: 任务数据要保存到文件,而不是数据库;

  5. 任务加载:

    a. 用户登录后,从文件加载任务列表,保存到内存;

  6. 任务删除;

    a. 根据任务id删除任务;

  7. 任务显示(可以自由设计显示方式):

    a. 比如,显示某一天/某个月的所有任务,以开始时间排序;

  8. 任务提醒:

    a. 在约定的提醒时间屏幕打印提醒;

命令行参数

  1. 程序应具有完整的命令行帮助说明和使用示例。

  2. 命令行参数应支持 run,addtask,showtask,deltask等命令。 其中run方式以shell方式循环运行,等待用户输入命令;

    比如:

    $ myschedule run

    $ myschedule user1 password addtask tasknam1….

  3. 高级进阶(可选, 加分项)

    以多线程方式运行。在后台周期性检查任务,进行提醒; 以图形界面完成该作业;

作业提交资料

  1. 程序源代码;
  2. 可执行程序;
  3. cmake文件;
  4. 测试程序(shell程序,调用命令行参数进行任务的增删查改等);
  5. 设计文档(小组成员名单,分工的详细说明,模块与类的设计、流程图、关键技术问题说明,3~5页);
  6. 课程学习心得,以及对课程的反馈与建议。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%