본문 바로가기
C++

scanf를 대신하는 데이터의 입력

by KWONE 2024. 7. 15.

  
#include <iostream>
int main(void)
{
int val1;
std::cout << "첫 번째 숫자 입력: ";
std::cin >> val1;
int val2; //c++에서는 변수의 선언위치에 제한을 두지 않는다.
std::cout << "두 번째 숫자 입력: ";
std::cin >> val2;
int result = val1 + val2;
std::cout << "덧셈 결과: " << result << std::endl;
return 0;
}

SimpleAdder.cpp

 

1.데이터 입력에 사용되는 std::cin과 >>연산자


  
std::cin>>'변수';

위는 키보드로부터 정수를 하나 입력 받아서 변수에 저장하라는 의미이다.

실수형의 입력을 원한다면 변수 선언시에 실수형 자료형인 double로 바꿔주기만 하면된다.

C++에서는 데이터의 입력도 데이터의 출력과 마찬가지로 별도의 포맷 지정이 필요 없기 때문이다.


  
//C에서의 문자열 입력
char str[100];
scanf("%s",str);
//C++에서의 문자열 입력
char str[100];
std::cin>>str;

 

2.C++의 지역변수 선언

C++의 지역변수 선언은 함수 내 어디든 삽입이 가능하다.


  
#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 + 2; i < val1; i++)
result += i;
}
std::cout << "두 수 사이의 정수 합: " << result << std::endl;
return 0;
}

BetweenAdder.cpp


  
std::cin>>'변수1'>>'변수2';

위와 같은 구조로 연속적인 데이터의 입력을 받을 수 있다.

첫 번째 정수와 두 번째 정수의 경계는 탭이나 스페이스바 혹은 엔터 키의 입력으로 나눠진다.

'C++' 카테고리의 다른 글

정보은닉 (Information Hiding)  (0) 2024.07.26
클래스 (class)  (1) 2024.07.22
C++에서의 구조체  (0) 2024.07.21
이름 공간 (namespace)  (2) 2024.07.17
HELLO WORLD  (0) 2024.07.15