-
특정 문자를 사이에 두고 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