본문 바로가기

강의자료/C/C++

014. if문과 비슷한 삼항 연산자.

◈ 이 글은 강의를 위하여 제가 직접 작성한 내용입니다. 따라서 퍼가실 경우, 출처를 명확히 해주시기 바랍니다!!
◈ This ariticle was written by me for teaching. So if you want to copy this article, please clarify the source!!


삼항 연산자는 if/else문과 비슷한 용도로 사용할 수 있다.
하지만 if/else는 제어문이고 삼항 연산자는 연산자임을 잊어서는 안된다.
연산자라는 것은 연산 후 결과값이 발생한다는 것을 의미한다.
#include  
using namespace std;

// if~else구문은 제어문.
// 삼항연산자는 연산자이므로 연산 후 결과값이 발생한다.

// 삼항연산자 ->  (조건식)?값:값.
// (조건의 결과가)? 참이면 이것을 : 거짓이면 이것을  리턴한다.

// 사용자로부터 숫자를 입력받고,
// 입력받은 숫자의 일의 자리숫자가 
// 3,6,9이면 "일의 자리숫자가 3또는 6또는 9이다."
// 아니면 "일의 자리숫자가 3또는 6또는 9가 아니다."라고 출력하시오.

void main( )
{ 
	cout << "----------- 일의 자리가 3,6,9 인가?----------------" << endl;
	cout << "----------- 정수를 입력하시오." << endl;
	int num = 0;
	cin >> num;  

	int first_num = num%10;
	bool is369 = (first_num !=0 && first_num%3==0 ) ? true  : false ;
	
	if(is369)
		cout << num << "의 일의 자리가 3 또는 6또는 9이다. " << endl;	
	else
		cout << num << "의 일의 자리가 3 또는 6또는 9가 아니다. " << endl;
}
// 십의자리 3,6,9 구하기.

#include  
using namespace std;

void main( )
{ 
	cout << "----------- 십의 자리가 3,6,9 인가?----------------" << endl;
	cout << "----------- 정수를 입력하시오." << endl;
	int num = 0;
	cin >> num;

	int second_num = (num/10)%10;
	bool is369 = (second_num !=0 && second_num%3==0 ) ? true  : false ;
	if(is369)
		cout << num << "의 십의 자리가 3 또는 6또는 9이다. " << endl;	
	else
		cout << num << "의 십의 자리가 3 또는 6또는 9가 아니다. " << endl;
}