달력소스입니다 달력이 왜 이렇게 출력되는지 알려주세요
봄
질문 제목 : 이 달력에서 달력이 왜 이렇게 나오는지 알려주세요이 달력에서 달력이 왜 이렇게 출력되는지 알려주세요
예를들어서 1번을 누르면 해당년도를 입력하라고 나오는데 2011 엔터를 치면 2011년도 1월~12월까지 모두 출력이 됩니다.
그런데 어떻게해서 2011년도 1월1일이 무슨요일인지 어떻게 알죠??
그리고 2를 누루면 해당년도와 달을 누르라고 나오는데 2011 2 엔터를 누르면 2011년도 2월달이 출력이 됩니다.
그런데 어떻게해서 20111년 2월 1일이 화요일인거 어떻게 이 소느가 아는지 알려주세요 답변 부탁드립니다.
질문 내용 :
#includestdio.h
int yun_year(int year);
int start_date(int year,int month);
void print_head(int year,int month);
void print_year_calendar(int year);
void print_calendar(int year,int month);
int main(void)
{
int select,year,month;
do
{
printf(1.해당년도 달력 출력하기\n);
printf(2.해당 년도 월 달력 출력하기\n);
printf(3.프로그램 종료\n);
scanf(%d,&select);
if(select==1)
{
printf(해당 년를 입력하세요\n);
scanf(%d,&year);
print_year_calendar(year);
printf(\n\n);
}
if(select==2)
{
printf(해당 년과 월을 입력하세요\n);
scanf(%d %d,&year,&month);
print_calendar(year,month);
printf(\n\n);
}
}while(select!=3);
return 0;
}
int yun_year(int year)
{
if(year%4==0 && year%100!=0 || year%400==0)
return 29;
else
return 28;
}
int start_date(int year,int month)
{
int totaldate,i;
int months[]={31,0,31,30,31,30,31,31,30,31,30,31};
months[1]=yun_year(year);
totaldate=(year-1)*365+(year-1)/4-(year-1)/100+(year-1)/400;
for(i=0;imonth-1;i++)
{
totaldate+=months[i];
}
return totaldate%7;
}
void print_head(int year,int month)
{
printf(\n\n);
printf(\t[%d 년 %d 월]\n\n,year,month);
printf(\t일\t월\t화\t수\t목\t금\t토\n);
}
void print_year_calendar(int year)
{
int month;
for(month=1;month=12;month++)
{
print_calendar(year,month);
}
}
void print_calendar(int year,int month)
{
int date,startdate,i;
int count=0;
int months[]={31,0,31,30,31,30,31,31,30,31,30,31};
months[1]=yun_year(year);
print_head(year,month);
startdate=start_date(year,month);
for(i=0;i=startdate;i++)
{
printf(\t);
count++;
if(count%7==0)
printf(\n);
}
for(date=1;date=months[month-1];date++)
{
printf(\t%d,date);
count++;
if(count%7==0)
printf(\n);
}
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2679218 | c언어 문제질문요. | 옆집언니 | 2024-12-22 |
2679189 | 숫자를 거꾸로 출력하기.... 어떻게짜야할지..생각이안떠올라용. (7) | 주인님 | 2024-12-22 |
2679164 | 구조체 인데요..잘 안나와서 질문이요.. (1) | 하늘이 | 2024-12-22 |
2679140 | 쉬프트 연산자 사용이유? (2) | 핫블랙 | 2024-12-21 |
2679112 | 간단한질문-정렬을 쓰지 않고 n번째 작은수 구하기(!?!?)(Quick sort) | 화가마 | 2024-12-21 |
2679083 | 프로그래밍 수학 질문좀요, (2) | 큰힘 | 2024-12-21 |
2678897 | 문자열을 strstr함수를 사용해서 찾는 문자열과 바꿀문자열을 입력받아서 교환해서 출력하는문제. (3) | 바름 | 2024-12-19 |
2678872 | while if break차이 (2) | 뿌닝 | 2024-12-19 |
2678819 | typedef을 이용하여 변수 선언 이후 대입방법. (4) | 다가 | 2024-12-18 |
2678769 | 배열 합 응용이예요 도와주십쇼 ㅠㅠ (2) | 아란 | 2024-12-18 |
2678739 | 함수 배열 질문있어요 | 하루 | 2024-12-18 |
2678711 | 테일러 급수를 이용한 e의 x승 구하는 프로그램 (2) | 접시 | 2024-12-17 |
2678685 | 정보올림피아드에 대해 좀 가르쳐주십시요 (2) | 헤벌심 | 2024-12-17 |
2678661 | 이코드에서 prime가 하는역할이궁금해서이렇케글을올림니다;.. (2) | 소율 | 2024-12-17 |
2678606 | 정적 변수 예제질문 | 바람 | 2024-12-16 |
2678580 | 포인터 & 배열 개념... 좀 어지럽내요 알려주세요 ㅠㅠ (2) | 엘보어 | 2024-12-16 |
2678550 | 디데이 프로그램질문좀요^^ | 또야 | 2024-12-16 |
2678474 | 질문이요 ~ 책에서 나온 건데 잘 모르겠어용 (1) | 소년틳터프 | 2024-12-15 |
2678443 | 헤더파일생성(dev) | 파란 | 2024-12-15 |
2678415 | 영화관리 프로그램 입니다. | 블랙캣 | 2024-12-15 |