포인터 오늘이 올해의 몇 번째 날

기타 [C언어] 1년 중 몇 번째 날인지 구하기. 10

2015-10-12 19:44:39 175.♡.44.111

#include <stdio.h>

int main()

{

int a, b, c, i, day = 0;

printf("연도, 월, 일을 입력하시오.");

scanf_s("%d %d %d", &a, &b, &c);

for (i = 1; i <= b; i++)

{

if (i = 1 || 3 || 5 || 7 || 8 || 10 || 12)

day += 31;

else if (i = 2)

{

if ((a % 400 == 0) || (a % 4 == 0) || (a % 100 != 0))

day += 29;

else

day += 28;

}

else

day += 30;

}

if ((a % 400 == 0) || (a % 4 == 0) || (a % 100 != 0))

printf("%d년은 윤년이므로 %d월 %d일은 1년 중 %d번째 날입니다.", a, b, c, day);

else

printf("%d년은 윤년이 아니므로 %d월 %d일은 1년 중 %d번째 날입니다.", a, b, c, day);

return 0;

}

안녕하세요 C언어를 공부중인 학생입니다.

연도, 월, 일을 입력받아 해당일이 1년 중 몇 번째 날인지 출력하는 코드를 구성하고 있는데요

몇월인지 받아서 1월부터 b-1월까지의 일수를 day에 합해주고 마지막으로 b월의 c일에서 c일만큼을 day에 합산해주었는데

연도,월,일을 받고 엔터를 쳐도 그다음에 아무것도 실행이 안되는데 뭐가 문제인지 모르겠어 도움을 청합니다...

C언어는 날짜/시간을 구할 때 하나의 함수로만 되는 것이 아니라, 다음과 같이 약간 복잡합니다.

time() 함수로, 현재 경과된 초(sec), 즉 "유닉스 시간"을 구한 후, 그것을 localtime() 함수로 연월일 시분초로 분리하여 구조체에 저장합니다.

C에서, 오늘 시각/날짜 (현재 날짜, 시간) 출력 예제

#include <stdio.h>

#include <time.h>

void main(void) {

  time_t timer;

  struct tm *t;

  timer = time(NULL); // 현재 시각을 초 단위로 얻기

  t = localtime(&timer); // 초 단위의 시간을 분리하여 구조체에 넣기

  printf("유닉스 타임 (Unix Time): %d 초\n\n", timer); // 1970년 1월 1일 0시 0분 0초부터 시작하여 현재까지의 초

  printf("현재 년: %d\n",   t->tm_year + 1900);

  printf("현재 월: %d\n",   t->tm_mon + 1);

  printf("현재 일: %d\n\n", t->tm_mday);

  printf("현재 시: %d\n",   t->tm_hour);

  printf("현재 분: %d\n",   t->tm_min);

  printf("현재 초: %d\n\n", t->tm_sec);

  printf("현재 요일: %d\n", t->tm_wday); // 일요일=0, 월요일=1, 화요일=2, 수요일=3, 목요일=4, 금요일=5, 토요일=6

  printf("올해 몇 번째 날: %d\n", t->tm_yday); // 1월 1일은 0, 1월 2일은 1

  printf("서머타임 적용 여부: %d\n", t->tm_isdst); // 0 이면 서머타임 없음

}

241. 두 개의 파일 합치기

문제내용 : 임의의 두 개의 파일을 정하여 하나의 파일로 합치는 프로그램을 작성하세요.

<입력코드 및 출력결과>

242. 파일에서 특정 문자열 검색하기(strstr)

문제내용 : 제공된 파일을 개방하여 "대한민국"이 있는 행이 몇 번째 행인지 출력하는 프로그램을 작성하세요.

포인터 오늘이 올해의 몇 번째 날

<입력코드 및 출력결과>

243. 파일에서 특정 문자열 교체하기

문제내용 : [예제-242]에서 사용한 파일에서 "대한민국"을 "한국"으로 교체하여 저장하는 프로그램을 작성하세요.

<입력코드 및 출력결과>

244. 연/월/일 시:분:초 출력하기(time, localtime)

문제내용 : 년/월/일 시:분:초를 파일에 출력하는 프로그램을 작성하세요.

<입력코드 및 출력결과>

245. 출생일로부터 오늘까지의 경과일 수 구하기(mktime)

문제내용 : 출생일로부터 오늘까지의 경과된 날짜 수를 구하는 프로그램을 작성하세요.

<입력코드 및 출력결과>

246. 각 달의 마지막 날짜 구하기(mktime)

문제내용 : 올해의 1월~12월 까지의 마지막 날짜를 구하는 프로그램을 작성하세요.

<입력코드 및 출력결과>

247. D-Day 구하기(mktime)

문제내용 : 오늘 날짜를 기준으로 D-Day를 정하고 D-Day까지 몇 일이 남았는지 계산하는 프로그램을 작성하세요.

<입력코드 및 출력결과>

248. 오늘 날짜로부터 크리스마스까지의 남은 시간 구하기

문제내용 : 오늘 날짜를 기준으로 크리스마스까지 남은 시간을 월,일,시,분,초로 출력하는 프로그램을 작성하세요.

<입력코드 및 출력결과>

249. 오늘 날짜에 임의의 날짜 더하고 빼기

문제내용 : 오늘 날짜에 100개월 90일 80시간을 더하거나 빼는 프로그램을 작성하세요.

<입력코드 및 출력결과>

250. 크리스마스의 요일 구하기

문제내용 : 2007년 크리스마스의 요일을 구하는 프로그램을 작성하세요.

<입력코드 및 출력결과>