C는 데이터를 입력받을 때 scanf를 사용하지만, C++은 std::cin을 사용합니다.
출력과 마찬가지로 입력에서도 별도의 서식 지정이 불필요합니다.
입력의 기본 구성
std::cin >> '변수'
(cin : 객체, >>: 입력 연산자)
코드를 통해 알아봅시다!
# include <iostream>
int main(void) {
int val1;
std::cout << "첫 번째 숫자 입력: ";
std::cin >> val1;
int val2;
std::cout << "두 번째 숫자 입력: ";
std::cin >> val2;
int result = val1 + val2;
std::cout << "덧셈결과: " << result << std::endl;
return 0;
}
숫자 2개를 입력 받고 그 숫자를 더한 결과를 출력하는 코드입니다.
- 자료형이 정수인 변수를 선언하고 std::cout을 사용해 숫자를 입력 받고 있습니다. 이때 출력연산자인 '<<'과 입력연산자인 '>>'를 헷갈리지 않게 주의하세요!
- 문자열과 변수를 한 줄에 출력하려면 '<<'를 통해 문자열과 변수를 분리해주어야 합니다.
또 다른 예시를 살펴보겠습니다.
# include <iostream>
int main(void) {
int val1, val2;
int result = 0;
std::cout << "두 개의 숫자 입력: ";
std::cin >> val1 >> val2;
if (val1 < val2) {
for (int i = val1 + 1; i < val2; i++)
result += i;
}
else {
for (int i = val2 + 1; i < val1; i++)
result += i;
}
std::cout << "두 수 사이의 정수 합: " << result << std::endl;
return 0;
}
두 개의 숫자를 입력하고 그 사이에 있는 숫자를 모두 더하는 코드입니다.
- std::cin을 통해서 입력되는 데이터의 구분은 스페이스 바, 엔터, 탭과 같은 공백을 통해서 이루어집니다.
- 2개의 데이터의 입력을 받으려면 변수를 2개 선언하고 std::cin >> '변수1' >> '변수2' 와 같이 작성하면 됩니다.
배열 기반의 문자열 입출력은 어떻게 해야할까요?
문자열 또한 숫자와 마찬가지로 변수를 선언하여 입력을 받고 출력하면 됩니다.
코드를 통해 구체적으로 알아봅시다!
#include <iostream>
int main(void) {
char name[100];
char lang[200];
std::cout << "이름은 무엇입니까?";
std::cin >> name;
std::cout << "좋아하는 프로그래밍 언어는 무엇인가요?";
std::cin >> lang;
std::cout << "내 이름은 " << name << "입니다.\n";
std::cout << "제일 좋아하는 언어는 " << lang << "입니다." << std::endl;
return 0;
}
문자열을 입력 받고 출력하는 코드입니다.
- 문자열을 입력 받기 위해 char형을 통해 변수를 선언하였고 std::cin을 사용하여 입력을 받았음을 볼 수 있습니다.
정리
- std::cin : 표준 입력
- 입력하려고 하는 것의 자료형으로 변수를 선언하고 입력 받으면 된다.
'Algorithm 문제 풀이 > C++' 카테고리의 다른 글
[C++] this 포인터 & 빈(void) 생성자 (0) | 2022.02.15 |
---|---|
[C++] 함수와 참조자 (0) | 2022.02.10 |
[C++] 참조자(Reference) 이해하기 (0) | 2022.02.10 |
[C++] C++의 시작 : "Hello World" 출력하기 (0) | 2022.02.08 |