使用C++语言开发一个有用而且有趣的日程管理软件,以小组方式完成,每个小组不超过4人。
-
使用命令行界面;
-
账户管理:
a. 输入用户名、口令;
b. 口令不能明文保存,要加密保存口令或保存口令的HASH值;
-
任务录入;
a. 任务属性(可以根据需求进行调整): 任务名称、启动时间、优先级(高中低)、分类(学习、娱乐、生活)、提醒时间;
b. 每个任务的开始时间不能相同;
c. 任务名称+开始时间,要具有唯一性;
d. 任务的属性,比如优先级,类型,具有缺省值;
e. 给每个任务分配唯一的id;
-
任务保存:
a. 输入的任务,要保存到本地文件;每一个任务输入完成后自动保存到文件;
注意: 任务数据要保存到文件,而不是数据库;
-
任务加载:
a. 用户登录后,从文件加载任务列表,保存到内存;
-
任务删除;
a. 根据任务id删除任务;
-
任务显示(可以自由设计显示方式):
a. 比如,显示某一天/某个月的所有任务,以开始时间排序;
-
任务提醒:
a. 在约定的提醒时间屏幕打印提醒;
-
程序应具有完整的命令行帮助说明和使用示例。
-
命令行参数应支持 run,addtask,showtask,deltask等命令。 其中run方式以shell方式循环运行,等待用户输入命令;
比如:
$ myschedule run
$ myschedule user1 password addtask tasknam1….
-
高级进阶(可选, 加分项)
以多线程方式运行。在后台周期性检查任务,进行提醒; 以图形界面完成该作业;
- 程序源代码;
- 可执行程序;
- cmake文件;
- 测试程序(shell程序,调用命令行参数进行任务的增删查改等);
- 设计文档(小组成员名单,分工的详细说明,模块与类的设计、流程图、关键技术问题说明,3~5页);
- 课程学习心得,以及对课程的反馈与建议。