int main() {//需要创建一个文本文件存储数据
void search_date();
void account_time();
int mark;
void _Account();
printf("请输入要选择的功能:1.存入账本\n2.日历查找账本\n");
scanf("%d",&mark);
switch(mark){
case 1:
account_time();
_Account();
break;
case 2:
search_date();
break;
default:printf("输入错误!");
}
return 0;
}
//入账
void _Account(){
char mark[50];
int consumption;
FILE *fp =fopen("/Users/baifeng/CLionProjects/the project1/data.txt","a");
printf("请输入用途:\n");
scanf("%s",mark);
fprintf(fp,"%s:",mark);
printf("请输入花费:\n");
scanf("%d",&consumption);
fprintf(fp,"%d\n",consumption);
fclose(fp);
}
//关键词搜索
//关键词加入
//时间生成(入账调用)
void account_time(){
FILE *fp = fopen("/Users/baifeng/CLionProjects/the project1/data.txt","a");
int date;
time_t timep;
struct tm *p;
time (&timep);
p=gmtime(&timep);
date = p->tm_mday;
fprintf(fp,"date:%d\n",date);
fclose(fp);
}
//日历寻找
void search_date(){
FILE *fp = fopen("/Users/baifeng/CLionProjects/the project1/data.txt","r");
char com[10];
char print[20];
char mark;
char ch[10] = "date:";
char date[3];
printf("请输入日期:");
scanf("%s",date);
strcat(ch,date);
strcat(ch,"\n");//文本文件换行会有"\n"
while(1){
fgets(com,10,fp);
if(strcmp(ch,com) == 0){
fscanf(fp,"%s",print);
puts(print);
memset(com,0,10);//清空com
}
mark =getc(fp);
if(mark == EOF)//获取'\n'字符,并且最后结束时做出判断
break;
}
fclose(fp);
}
//无法实现字典查找,因为是文本文档的,没有变量储存
//日历查找实质为字符比较