Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

메모장

C언어 복습 6 (오늘 날짜 표시) 본문

C언어 복습

C언어 복습 6 (오늘 날짜 표시)

Captic 2019. 5. 25. 22:02

참고: 정덕 - <컴맹을 위한 C언어>

 

현재 시간을 구하는 방법

    time_t 변수이름;
    변수이름=time(NULL);

 

-> 1970년 1월 1일 자정(오전 12시)부터 흐른 시간을 초단위로 반환 

 

  ※ 주의사항

   1. VS2017 64비트 환경을 기준으로 자료형 "time_t"는 서식문자 %Id(대문자 i)를 이용하여 출력

      (VS가 빌드할때 추천해준다(%I64d 등))
   2. time 함수를 사용하기 위해 필요한 헤더파일 <time.h>

 

 

여기에

         struct tm*변수1=localtime(&변수2);

를 추가하면 오늘의 날짜와 현재 시간을 구할 수 있다

 

" 변수2 " + " -> "  +  tm_year : 1900년 이후 몇년이 흘렀는지 알 수 있다. 현재 연도는 tm_year+1900
                             tm_mon : 1월이면 0, 2월이면 1 ... 12월이면 11로 출력된다 이번 달은 tm_mon+1
                             tm_mday : 오늘이 이번 달의 몇 번째 날인지 알 수 있다
                             tm_hour/min/sec : 현재 시 / 분 / 초를 알 수 있다

 

 

 

오늘의 요일 -> " tm_wday "를 사용

 - tm_wday의 값에 따라 요일 결정 ( 0 = 일 / 1 = 월 / ... / 6 = 토)

 

   이에 따라 요일을 표현하는 방법 3가지

      1. if-else if 문

      2. switch 문

      3. 포인터배열 사용

 

 1. if-else if 문

    -if else의 확장형

        if(조건1){ 코드1 }

          else if(조건2){ 코드2 }

          else if(조건3){ 코드3 }

          else if(조건4){ 코드4 }

                      ..... 

          else if(조건n){ 코드n }

          else{ 코드n+1 }

 

 

예시) 사용자에게 나이를 입력받아 10 미만이면 어린이, 20미만이면 청소년,

        65 미만이면 성인, 아니면 노인이라 출력하는 프로그램

...더보기
기본 코드
어린이
청소년
성인
노인

if-else if로 요일 표현하기

...더보기
오늘은 챔스 결승전이 열리기 하루 전인 토요일이다

 2. switch문

   switch(조건값)

    {

     case 값1: 코드1

     case 값2: 코드2

     case 값3: 코드3

            . . .

     case 값n: 코드n

     default : 기본코드

    }

 

조건값이 값1과 같으면 코드1을

     값2와 같으면 코드2를 실행

어느 값과도 같지 않으면 default의 기본코드 실행(default값 없어도 무관)

 

 

예) 5지선다형 문제풀기

...더보기
아스날의 챔스 복귀를 기원합니다

문자를 담기 위한 그릇, 문자형 변수 'char'

char는 1바이트(=8bit)

a, b, c 와 같은 문자 1개를 담을 수 있다

실은 숫자도 담을 수 있다

 

이에 대해서는 14강 '자료형'에서 더 자세히 나올 것

switch로 날짜 표현하기

...더보기
if-else if 보다 훨신 간단하게 표현 할 수 있다

3. 포인터배열

후에 자세히 나오기에 그냥 저렇게 할 수 도 있구나 정도로 넘어갈 수 있다

 

 

char* wday[]={"일","월","화","수","목","금","토"};

printf(wday[b->tm_wday]);