搜索

用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

老铁 这个私聊吧 我帮你做
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top