기타등등/알고리즘 기록

[C++] 나이 계산(문자열 컨트롤)

CodeJB 2021. 6. 16. 15:57

#include <iostream>
#include <stdio.h>
using namespace std;

int main() {
    char addr[20];
    int year, age;
    char gender;
    
    scanf("%s",&addr);
    
    if(addr[7] == '1' || addr[8] == '2') year = 1900 + ((addr[0]-48)*10) + (addr[1]-48);
    else year = 2000 + ((addr[0]-48)*10) + (addr[1]-48);
        
    if(addr[7] == '1' || addr[7] == '3') gender = 'M';
    else gender = 'W';
    
    age = 2019 - year + 1;
    printf("%d", age);
    printf("%c", gender);
    return 0;
}

성찰

  • 다른 언어였으면 String으로 받아서 CharAt으로 변환했을텐데, 곧바로 scanf를 이용하여 char형 배열에 넣어줄 수 있다.
  • char형 배열의 값을  정수형으로 생각하여 쓰겠다라면, 아스키코드로 생각하여 계산하는 것도 매우 중요하다.