다이어리 프로그램을 만드는거야
날짜 불러들여서 메모 입력하고
나중에 또 메모 확인하고

그래서 대충 이런식으로 짯거든

 #include<stdio.h>
#include<string.h>

#define MAXMEMO 500
#define MAXNUM 1000

struct date
{
 int year;
 int month;
 int day;
};

struct memo
{
 struct date d;
 char content[MAXMEMO];
};

struct memo AddContent()
{
 struct memo m;
 printf(\"년 : \");
 scanf(\"%d\", &m.d.year);
 printf(\"월 : \");
 scanf(\"%d\", &m.d.month);
 printf(\"일 : \");
 scanf(\"%d\", &m.d.day);
 printf(\"내용 : \");
 scanf(\"%s\", m.content);
 return m;
}

struct memo note[MAXNUM];

void ShowMemo(struct date d)
{
 int c=0;
 int p=0;
 printf(\"년 : \");
 scanf(\"%d\", &d.year);
 printf(\"월 : \");
 scanf(\"%d\", &d.month);
 printf(\"일 : \");
 scanf(\"%d\", &d.day);
  
 for(c=0; c<MAXNUM; c++)
 {
  if(d.year==note[c].d.year && d.month==note[c].d.month && d.day==note[c].d.day)
  {
   printf(\"%d년 %d월 %d일 메모 내용 \\n\",note[c].d.year,note[c].d.month, note[c].d.day);
   printf(\"메모내용 : %s\\n\\n\",note[c].content);
   p=0;
  }
  else
   p=1;
  
 }
}

int PrintMenu()
{
 int a=0;
 printf(\"메뉴를 선택하시오.\\n\");
 printf(\"1. 다이어리 내용 추가 \\n\");
 printf(\"2. 메모 보기 \\n\");
 printf(\"3. 종료 \\n\");
 printf(\"입력 : \");

 scanf(\"%d\", &a);

 return a;
}

int main()
{
 
 struct date date;
 date.day=0;
 date.month=0;
 date.year=0;

 int num=0;
 int a=0;
 int c=0;
 
 while(a!=3)
 {
  a = PrintMenu();
  switch(a)
  {
  case 1:
   note[num] = AddContent();
   num++;
   break;
  case 2:
   ShowMemo(date);
   
   break;
  case 3:
   break;
  default:
   printf(\"잘못된 입력입니다. \\n\");
   break;
  }
 }


 return 0;
}

근데

달 1~12안의 값 입력이랑 날짜 1~30 사이 입력 제한 걸어야 되고 그리고 메모가 버퍼안에 없으면 메모가 없다고 출력해줘야 하는데 어떡하지 ㅠㅠ 떠오르지가않음

그리고 메모내용 500바이트 내로 제한이라는거는 바이트 크기 표현부 잘 기억안나서 그냥 배열로 500으로 크기 했는데 이거 바이트로 어케 표현할까