用c语言写一个简单的打卡程序,输入1打卡,每天只能打卡一次
时间: 2023-12-10 20:39:17 浏览: 34
下面是一个简单的打卡程序,使用了文件来记录打卡状态,确保每天只能打卡一次:
```c
#include <stdio.h>
int main() {
FILE* fp;
int status = 0;
char c;
// 打开文件并读取打卡状态
fp = fopen("punchcard.txt", "r");
if (fp != NULL) {
c = fgetc(fp);
if (c == '1') {
printf("今天已经打过卡了\n");
status = 1;
}
fclose(fp);
}
// 如果今天还没有打卡,就进行打卡操作
if (status == 0) {
fp = fopen("punchcard.txt", "w");
if (fp != NULL) {
fputc('1', fp);
printf("打卡成功!\n");
fclose(fp);
}
}
return 0;
}
```
该程序首先尝试打开一个名为`punchcard.txt`的文件,读取其中的一个字符。如果这个字符为`1`,则表示今天已经打过卡了,程序输出提示信息并直接退出。如果文件不存在或者文件中的字符为其他值,则认为今天还没有打卡,程序将打开文件并向其中写入字符`1`,表示打卡成功。最后程序关闭文件并退出。
需要注意的是,这个实现方式并不是非常严格,因为如果用户手动删除了文件中的`1`字符,那么程序仍然会认为今天还没有打卡。如果需要更加严格的实现方式,可以使用系统时间来判断是否是同一天,或者使用数据库等更加复杂的数据存储方案来记录打卡状态。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)