티스토리 뷰

C++

조건문(if, if else, else if)

yoooon1212 2024. 10. 12. 17:28

if 조건문

 

1. if 조건문 형식

if(조건) {
	조건이 맞다면 수행
}

조건이 옳지 않다면 괄호 안은 무시한다.

 

if문 내부가 한 줄이라면 괄호가 없어도 된다.

if(조건) 수행문장


실습 문제

#include <iostream> 
using namespace std; 

int main() {
	int n1 = 30;
	int n2 = 20;

	if(n1 < n2) {
		cout << "n1은 n2보다 작습니다" << endl;
	}	
	return 0;
}

 

 

실행 결과 

 

아무것도 안 뜨는 이유

if의 조건문이 false 이기 때문에

if 문이 실행되지 않았기 때문이다.

 

 

 

여기서 int n1을 30에서 10으로 변경하여 실행한다면 

#include <iostream> 
using namespace std; 

int main() {
	int n1 = 10;
	int n2 = 20;

	if(n1 < n2) {
		cout << "n1은 n2보다 작습니다" << endl;
	}	
	return 0;
}

 

실행 결과

 

if 문이 동작하는 것을 볼 수 있다. 

 

 

if else 조건문

 

1. if else 조건문 형식

if(조건) {
	조건이 옳다면 수행
} 
else {
	조건이 옳지 않다면 수행
}

 

 

수행문이 한 줄이면 괄호가 없어도 된다.(한 줄 : ' ; ' 기준)

if(조건)
	조건이 옳다면 수행
else
	조건이 옳지 않다면 수행

 

 

 

실습 문제

#include <iostream> 
using namespace std; 

int main() {
	int n1 = 30;
	int n2 = 20;

	if(n1 < n2) {
		cout << "n1은 n2보다 작습니다" << endl;
	}	
	else {
		cout << "n1은 n2보다 크거나 같습니다";
	}
	return 0;
}

 

 

실행 결과

 

 

이때 n1을 30에서 10으로 변경하면 if문이 true 이므로 if 문이 실행되는 것을 볼 수 있다. 

#include <iostream> 
using namespace std; 

int main() {
	int n1 = 10;
	int n2 = 20;

	if(n1 < n2) {
		cout << "n1은 n2보다 작습니다" << endl;
	}	
	else {
		cout << "n1은 n2보다 크거나 같습니다";
	}
	return 0;
}

 

실행 결과

 

 

 

연습 문제 1

입력 받은 수가 음수이면 해당 수를 양수로 바꾸어 주는 프로그램을 만드세요.
#include <iostream> 
using namespace std; 

int main() {
	float a;

	cout << "실수를 입력하세요 :";
	cin >> a;

	// a 가 음수이면
	if (a < 0) {
		a = a * (-1.0); // 양수로 변환
	}

	cout << "결과는" << a;

	return 0;
}

 

 

실행 결과

 

음수인 실수 입력 시

 

 

정수 입력 시

 

 

 

연습 문제 2

입력 받은 수가 홀수이면 "홀수입니다", 짝수이면 "짝수입니다"라고 출력하는 프로그램을 만드세요.
#include <iostream> 
using namespace std; 

int main() {
	int a;

	cout << "정수를 입력하세요 :";
	cin >> a;

	// 홀수라면
	if (a % 2 == 1) {
		cout << "입력하신 수는 홀수입니다";
	}
	// 짝수라면
	else {
		cout << "입력하신 수는 짝수입니다";
	}

	return 0;
}

 

실행 결과

100 -> 짝수 -> else 문 실행된다.

 

3 -> 홀수 -> if 문 실행된다.

 

 

위의 코드에서 { }(중괄호) 제거 가능하다.

#include <iostream> 
using namespace std; 

int main() {
	int a;

	cout << "정수를 입력하세요 :";
	cin >> a;

	// 홀수라면
	if (a % 2 == 1) 
		cout << "입력하신 수는 홀수입니다";
	// 짝수라면
	else 
		cout << "입력하신 수는 짝수입니다";

	return 0;
}

 

 

 

연습 문제 1

놀이기구에 탑승할 수 있는 조건은 나이 7세 이상, 키 120cm이상입니다.
사용자에게 나이와 키를 입력 받고 두 조건을 모두 만족하였다면
탑승 가능, 그렇지 못하다면 탑승 불가능을 추력하세요.
#include <iostream> 
using namespace std; 

int main() {
	int age, h;

	cout << "놀이동산에 오신 것을 환영합니다. 나이를 입력해주세요 :";
	cin >> age;
	cout << "키를 입력해주세요 : ";
	cin >> h;

	if (age >= 7 && h >= 120)
		cout << "놀이기구 탑승 가능";
	else
		cout << "놀이기구 탑승 불가능";
	return 0;
}

 

 

실행 결과

 

 

 

또 다른 방법

이중 if문

#include <iostream> 
using namespace std; 

int main() {
	int age, h;

	cout << "놀이동산에 오신 것을 환영합니다. 나이를 입력해주세요 :";
	cin >> age;
	cout << "키를 입력해주세요 : ";
	cin >> h;

	/*
	if (age >= 7 && h >= 120)
		cout << "놀이기구 탑승 가능";
	else
		cout << "놀이기구 탑승 불가능";
	*/
	if (age >= 7) {
		if (h >= 120) {
			cout << "놀이기구 탑승 가능";
		} 
		else {
			cout << "놀이기구 탑승 불가능";
		}
	}
	else {
		cout << "놀이기구 탑승 불가능";
	}

	return 0;
}

 

 

연습 문제 2

입력 받은 수가 30 이상이면 2로 나눈 결과를 출력하세요.
입력 받은 수가 30 미만이면 아무런 연산도 하지 않습니다.
#include <iostream> 
using namespace std; 

int main() {
	int n;
	float result;

	cout << "정수를 입력하세요 :";
	cin >> n;

	if(n >= 30){
		result = n / 2.0;
		cout << "입력받은 숫자를 2로 나눈 결과는 " << result;
	}
	cout << "프로그램 종료";
	return 0;
}

 

실행 결과

 

10 입력 시 if 문 실행되지 않고 프로그램 종료된다.

 

 

 

else if 조건문

 

 

1. else if

if(조건) {
	조건이 옳다면 수행
}
else if(조건) {
	if 조건이 옳지 않고 이 조건이 옳다면 수행
}
else if(조건) {
	if 조건이 옳지 않고 이 조건이 옳다면 수행
}
else {
	위에 조건이 모두 옳지 않다면 수행
}

 

 

실습 문제 1

#include <iostream> 
using namespace std; 

int main() {
	int choice;

	cout << "당신이 좋아하는 교통수단은 무엇인가요?" << endl;
	cout << "버스=1, 지하철=2, 도보=3";
	cin >> choice;

	if (choice == 1) {
		cout << "당신은 버스를 좋아하시군요" << endl;
	}
	else if (choice == 2) {
		cout << "당신은 지하철을 좋아하시군요" << endl;
	}
	else {
		cout << "당신은 걷는 것을 좋아하시군요" << endl;
	}
	return 0;
}

 

 

실행 결과

 

1 입력 시

 

2 입력 시

 

3 입력 시

 

 

하지만

4 입력 시

3의 내용이 출력되는 것을 확인할 수 있다.

 

 

 

실습 문제 2

#include <iostream> 
using namespace std; 

int main() {
	int choice;

	cout << "당신이 좋아하는 교통수단은 무엇인가요?" << endl;
	cout << "버스=1, 지하철=2, 도보=3, 자가용=4";
	cin >> choice;

	if (choice == 1) {
		cout << "당신은 버스를 좋아하시군요" << endl;
	}
	else if (choice == 2) {
		cout << "당신은 지하철을 좋아하시군요" << endl;
	}
	else if(choice == 3) {
		cout << "당신은 걷는 것을 좋아하시군요" << endl;
	}
	else if (choice == 4) {
		cout << "당신은 자가용을 좋아하시군요" << endl;
	}
	else {
		cout << "선택을 잘못하셨습니다";
	}
	return 0;
}

 

 

실행 결과

5 입력 시 else 문이 동작하는 것을 확인할 수 있다.

 

 

연습 문제 1

두 개의 정수를 입력 받아 큰 수를 출려하는 프로그램을 만드세요.
#include <iostream> 
using namespace std; 

int main() {
	int n1, n2;
	
	cout << "첫번째 수를 입력하세요 :";
	cin >> n1;
	cout << "두번째 수를 입력하세요 :";
	cin >> n2;

	if (n1 > n2) {
		cout << "두 수 중 큰 수는 " << n1;
	}
	else if (n1 < n2) {
		cout << "두 수 중 큰 수는 " << n2;
	}
	else {
		cout << "두 수는 같은 수 입니다";
	}
	return 0;
}

 

 

실행 결과

 

 

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

반복문(while, do while)  (0) 2024.12.05
반복문(for, 이중 for문 - 별찍기)  (0) 2024.10.21
연산자  (0) 2024.10.10
변수와 자료형  (1) 2024.10.09
C++ 기초  (0) 2024.10.09
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함