티스토리 뷰
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 |