Cấu trúc điều kiện (rẽ nhánh) trong C++

66
Lập trình C++

Cũng giống như các ngôn ngữ lập trình khác, trong C++ chúng ta có thể sử dụng một trong 3 cấu trúc: if, if… else, if… else if… else hoặc switch … case. Đây là những cấu trúc phổ biến và rất quen thuộc trong lập trình. Xin mời quý độc giả tham khảo trong bài giảng video chúng tôi đã xây dựng dưới đây

Cú pháp câu lệnh if:

if (điều kiện) { 
// khối mã được thực thi nếu điều kiện là đúng 
}

Cú pháp câu lệnh if … else

if (điều kiện) { 
// khối mã được thực thi nếu điều kiện là đúng 
} 
else {
// Khối lệnh thực thi nếu điều kiện là sai
}

Cú pháp câu lệnh if … else if … else:

if (điều kiện) { 
// khối mã thực thi nếu điều kiện 1 là đúng 
}
else if (điều kiện) { 
// khối mã thực thi nếu điều kiện 2 là đúng
} else {
// Khối lệnh thực thi nếu 2 đk trên là sai
}

Cú pháp câu lệnh switch … case:

switch(expression) {
  case x:
    // code block
    break;
  case y:
    // code block
    break;
  default:
    // code block
}

Ví dụ 1. giải và biện luận phương trình bậc nhất ax + b = 0 với khối lệnh điều kiện if … else

#include <iostream>
using namespace std;
 
int main() {
    freopen("PTBN.INP","r",stdin);
    freopen("PTBN.OUT","w",stdout);
    float a, b;
    cin >> a >> b;
    if (a == 0) {
        if (b == 0) {
            cout << "PT co vo so nghiem";
        }
        else {
            cout << "PT vo nghiem";
        }
    }
    else {
        cout << "x = " << -b/a;
    }
    return 0;
}

Ví dụ 2. Xét một nội dung sử dụng cấu trúc switch … case

int day = 4;
switch (day) {
  case 1:
    cout << "Monday";
    break;
  case 2:
    cout << "Tuesday";
    break;
  case 3:
    cout << "Wednesday";
    break;
  case 4:
    cout << "Thursday";
    break;
  case 5:
    cout << "Friday";
    break;
  case 6:
    cout << "Saturday";
    break;
  case 7:
    cout << "Sunday";
    break;
}

Ngoài cách trên, chúng ta còn có cách ngắn gọn hơn thể hiện câu lênh if. Ví dụ

#include <iostream>
#include <string>
using namespace std;

int main() {
  int time = 20;
  string result = (time < 18) ? "Good day." : "Good evening.";
  cout << result;
  return 0;
}

Câu lệnh trên tương đương với ví dụ dưới đây:

#include <iostream>
#include <string>
using namespace std;

int main() {
  int time = 20;
  string result;
  if (time < 20) result = "Gooday";
  else result = "Good evening";
  cout << result;
  return 0;
}