不知道哪来的想法,想做一个打卡器,但是在记录天数出了问题,代码如下
#include<iostream>
#include<ctime>
#include<windows.h>
#include<cstdio>
using namespace std;
int tian;//打卡天数
char out[10];
int main(int argc,char *argv[])
{
freopen("daka","r",stdin);
freopen("daka","w",stdout);
cin>>tian;//相当于读档
ShowWindow(FindWindow("ConsoleWindowClass",argv[0]),0);
if(MessageBox(NULL,"今日打卡","打卡",MB_OKCANCEL)==1)
{
srand(time(0));
a=rand() % 5;
srand(time(0));
b=rand() % 5;
tian++;
sprintf(out,"你已连续打卡%d天",tian);
MessageBox(NULL,out,"打卡天数",MB_OK);
cout<<tian;//相当于存档
}
else
MessageBox(NULL,"好的,取消打卡","打卡",MB_OK);
return 0;
}
问题在于,天数永远是一,输出文件也是一样。 我的想法是输入输出用同一个文件,这样上次存档的文件就会保存到本地,再次打开时读取上次的存档,打卡后输出,覆盖原存档