总体思路(模块划分和联系)
1.时间模块
timer.h/c
时间模块为打卡机程序提供了一个随时可以查看当前程序内时间的功能。这个模块并行与其他部分,一旦启动,直到终止都是独立运行的。
2.数据库
data.h/c
使用一个数组作为一个简单的数据库存储模块。同时提供一系列的API函数供用户操作数据库。
3.主循环
sys.c
主循环作为程序的入口,同时负责与用户进行交互,接受用户的命令输入并呈现给用户所需的输出。该模块控制着子模块(时间模块)的启动和终止。用户的命令会被转化为对数据库API的调用。
各模块的主要实现部分
1.多线程实现时间模块
为了能方便控制程序时间和现实时间的关系并且独立的进行计时,将时间模块单独开启一个线程,其中核心代码如下:
while(flag != 0<