ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 특정 문자를 사이에 두고 2개의 값을 입력_220701
    데일리 codeup/입출력 2022. 7. 1. 15:53

    두 수가 공백이 아닌 특정 문자를 사이에 두고 입력으로 들어는 경우에는, cin 을 이용해 그 문자를 문자형 변수에 입력받아 무시하고 두개의 수를 받을 수 있다.

    예제

    #include <iostream>  
    using namespace std;  
    
    int main() {  
    
    int a, b;  
    char c;  
    
    cin >> a >> c >> b;  
    cout << a << endl << b;  
    
    return 0;  
    
    }

    출력결과

    >> 50:60
    
    50
    60

    이때 중간 문자를 무시하는 것을 새로운 변수를 선언하지 않고 cin.get()을 이용하여 해결할 수 있다.

    #include <iostream>
    using namespace std;
    
    int main() {
    
        int a, b;
    
        cin >> a;
        cin.get();
        cin >> b;
        cout << a << endl << b;
    
        return 0;
    
    }

    출력결과

    >> 50:60
    
    50
    60

    1시간 뒤 시간 출력

    h:m 모양의 시간과 분으로 이루어져 있는 시간을 입력받아 1시간 뒤의 시간을 출력하는 프로그램을 작성해보세요

    #include <iostream>
    using namespace std;
    int main(){
        int a,b;
        char m;
        cin >> a >> m >> b;
        cout << a + 1 << m << b;
        return 0;
    }

    입력

    22:1

    출력 결과

    23:1

    특정 문자를 사이에 두고 3개 이상의 값을 입력

    - 문자를 사이에 두고 3개의 수를 입력받아 출력하는 코드는 다음과 같다. -는 입력받아 쓰일 곳이 없기 때문에, 하나의 문자형 변수에 받아줄 수 있다.

    예제

    #include <iostream>
    using namespace std;
    
    int main() {
    
        int a, b, c;
        char d;
    
        cin >> a >> d >> b >> d >> c;
        cout << a << endl << b << endl << c;
    
        return 0;
    
    }

    출력결과

    >> 50-60-70
    
    50
    60
    70

    마찬가지로 cin.get() 을 이용하여 받을 수도 있다.

    #include <iostream>
    using namespace std;
    
    int main() {
    
        int a, b, c;
        char d;
    
        cin >> a;
        cin.get();
        cin >> b;
        cin.get();
        cin >> c;
        cout << a << endl << b << endl << c;
    
        return 0;
    
    }

    날짜 변경하여 출력 2

    mm-dd-yyyy 모양의 날짜 정보를 입력받아 yyyy.mm.dd 형식으로 출력하는 프로그램을 작성해보세요.

    #include<iostream>
    using namespace std;
    
    int main(){
        int m,d,y;
        char g;
        cin >> m >> g >> d >> g >> y;
        cout << y << '.' << m << '.' <<d;
        return 0;
    }

    입력

    2-28-1

    출력 결과

    1.2.28

    입력받아 출력2

    OOOOOO-OOOOOOO 형식으로 이루어져 있는 주민번호를 입력받아, -를 제외하여 출력하는 프로그램을 작성해보세요.

    #include <iostream>
    using namespace std;
    int main(){
        int a,b;
        cin >> a;
        cin.get();
        cin >> b;
        cout << a << b;
        return 0;
    }

    입력

    940312-1082836

    출력 결과

    9403121082836

    날짜 변경하여 출력

    yyyy.mm.dd 모양의 날짜 정보를 입력받아 mm-dd-yyyy 형식으로 출력하는 프로그램을 작성해보세요.

    #include <iostream>
    using namespace std;
    int main(){
        int y,m,d;
        char dot;
        cin >> y >> dot >> m >> dot >> d;
        dot = '-';
        cout << m << dot << d << dot << y;
        return 0;
    }

    전화번호 바꾸기

    010-xxxx-yyyy 형태의 전화번호를 입력받아 앞 4자리와 뒤 4자리를 바꾸어 출력하는 프로그램을 작성해보세요.

    #include <iostream>
    using namespace std;
    int main(){
        int x, y, z;
        char dash;
        cin >> z >> dash >> x >> dash >> y;
        cout << "010" << dash << y << dash << x;
        return 0;
    }

    변수 z에서 010을 입력 받으면 int로 변환하여 10으로 저장된다.
    이를 프린트하면 앞자리 0가 생략되기 때문에 추가적인 조치가 필요하다.

    입력

    010-8765-4321

    출력 결과

    010-4321-8765

    '데일리 codeup > 입출력' 카테고리의 다른 글

    문자 입력_220701  (0) 2022.07.01
    2개의 줄에 걸쳐 입력_220701  (0) 2022.07.01
    공백을 사이에 두고 입력_220701  (0) 2022.07.01
    실수 입력_220701  (0) 2022.07.01
    정수입력_220701  (0) 2022.07.01

    댓글

Designed by Tistory.