본문 바로가기

C++ programming

명품 C++ programming 실습 문제 5장 4번

문제 :

아래와 같이 원형이 주어진 bigger()를 작성하고 사용자로부터 2개의 정수를 입력받아 큰 값을 출력하는 main()을 작성하라.

bigger()는 인자로 주어진 a, b가 같으면 true, 아니면 false를 리턴하고 큰 수는 big에 전달한다.

1
bool bigger(int a, int b, int& big);

 

실행 결과 :

 

목적 및 힌트 :

참조에 의한 호출 연습

 

코드 :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<iostream>
using namespace std;
 
bool bigger(int a, int b, int& big){
    if(a==b) 
        return true;
    else {
        if(a>b) 
            big = a;
        else 
            big = b;
        return false;
    }
}
 
int main() {
    int a, b, big;
    cout << "두개의 정수를 입력하세요>>";
    cin >> a >> b;
    if(!bigger(a, b, big)) 
        cout << "큰 수는 : " << big;
    else 
        cout << "두 정수가 같습니다."
}
 

 

설명 :

이 문제와 같이 2개 이상의 값을 return 하고 싶을 때 참조에 의한 호출을 사용하면 원하는대로 작동하게 할 수 있습니다.