用c语言写一个简单的打卡程序,输入1打卡,每天只能打卡一次,使用系统时间来判断是否是同一天
时间: 2023-10-09 21:17:20 浏览: 76
下面是一个简单的用 C 语言编写的打卡程序,使用系统时间来判断是否是同一天:
```c
#include <stdio.h>
#include <time.h>
int main() {
time_t now = time(NULL); // 获取当前时间
struct tm *tm_now = localtime(&now); // 转换为本地时间
int year = tm_now->tm_year + 1900; // 年份加上 1900
int month = tm_now->tm_mon + 1; // 月份加上 1
int day = tm_now->tm_mday; // 当前日期
// 读取上次打卡日期
FILE *fp = fopen("last_date.txt", "r");
int last_year, last_month, last_day;
if (fp != NULL) {
fscanf(fp, "%d %d %d", &last_year, &last_month, &last_day);
fclose(fp);
} else {
// 如果文件不存在,说明是第一次打卡
last_year = 0;
last_month = 0;
last_day = 0;
}
// 判断是否是同一天
if (year == last_year && month == last_month && day == last_day) {
printf("今天已经打过卡了!\n");
} else {
// 写入今天的日期
fp = fopen("last_date.txt", "w");
fprintf(fp, "%d %d %d", year, month, day);
fclose(fp);
printf("打卡成功!\n");
}
return 0;
}
```
程序首先获取当前时间,然后读取上次打卡日期。如果上次打卡日期和今天的日期相同,说明今天已经打过卡了;否则,将今天的日期写入文件,并提示打卡成功。