用C语言编程做一个星期内的日记输入日期就可以输出那天的日记 就包括...
发布网友
发布时间:2024-10-23 21:58
我来回答
共3个回答
热心网友
时间:2024-10-25 14:08
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct note
{
char _date[10];
char* _txt;
} s[100];
int s_count=0;
int title()
{
int n;
system("cls");
printf("\n日记");
printf("\n\n1---写");
printf("\n\n2---看");
printf("\n\n你的选择是: ");
fflush(stdin);
scanf("%d",&n);
printf("\n%d",n);
if(n<1 || n>2)
{
return -1;
}
return n;
}
int write()
{
system("cls");
printf("\n请输入日期(格式:20170902) : ");
char d[10]={'\0'};
fflush(stdin);
scanf("%s",d);
int i=0,find=0;
for(i=0;i<s_count;i++)
{
if(strcmp(s[i]._date,d)==0)
{
find=1;
break;
}
}
if(find==1)
{
printf("\n\n该日期已有记录, 覆盖吗?(y/n) :");
char sel;
fflush(stdin);
scanf("%c",&sel);
if(sel=='y' || sel=='Y')
{
char temp[500]={'\0'};
printf("\n开始写日记(以#字符结束):\n");
fflush(stdin);
scanf("%[^#]",temp);
free(s[i]._txt);
s[i]._txt=(char*)malloc(sizeof(char)*strlen(temp)+1);
strcpy(s[i]._txt,temp);
return 1;
}
else
{
return 0;
}
}
strcpy(s[s_count]._date,d);
char t[500]={'\0'};
printf("\n开始写日记(以#字符结束):\n");
fflush(stdin);
scanf("%[^#]",t);
int len=strlen(t);
s[s_count]._txt=(char*)malloc(sizeof(char)*len+1);
strcpy(s[s_count]._txt,t);
s_count++;
return 1;
}
int read()
{
system("cls");
printf("\n请输入要查看的日期(格式:20170902) : ");
char d[10]={'\0'};
fflush(stdin);
scanf("%s",d);
int i=0,find=0;
for(i=0;i<s_count;i++)
{
if(strcmp(s[i]._date,d)==0)
{
find=1;
break;
}
}
if(find==1)
{
printf("\n\n日记如下:\n\n%s\n\n按任意键返回",s[i]._txt);
fflush(stdin);
_getch();
return 1;
}
return 0;
}
int main()
{
while(1)
{
int sel_wr=-1;
while(1)
{
sel_wr=title();
if(sel_wr!=-1)
{
break;
}
}
if(sel_wr==1)
{
if(write()==1)
{
printf("\n\n写入成功!");
fflush(stdin);
_getch();
}
}
else if(sel_wr==2)
{
if(read()==0)
{
printf("\n\n未找到当天日记!");
fflush(stdin);
_getch();
}
}
}
return 0;
}
热心网友
时间:2024-10-25 14:03
是不是要数据库??然后屌用数据库?
热心网友
时间:2024-10-25 14:04
老铁 这个私聊吧 我帮你做