Thứ Hai, 29 tháng 4, 2024

17. If Else trong C++

Nhắc lại: Cú pháp của lệnh If


if(điều_kiện){
    //Các câu lệnh
}


Trong C và C++ bạn có thể viết

if(tên_biến) {
//Các câu lệnh
}

Thay cho việc viết:

if(tên_biến != 0) {
 
//Các câu lệnh

}


Lưu ý
: Trong C++ các giá trị khác số không (!=0) được coi là đúng nếu bạn có thể sử dụng nó để làm điều kiện cho if. Nếu số mà bạn truyền vào làm điều kiện cho if khác 0 thì code trong if sẽ thực thi và ngược lại. Dễ hiểu hơn, chúng ta tiếp tục thử với chương trình tào lao trên IDE Online. Chúng ta sẽ thêm một biến so3 nhu sau

int so3 = 0;

Sau đó ta sẽ sử dụng if nếu là so3 bằng 0 (==0) thì các câu lệnh trong if sẽ không thực thi. Nếu là so2 bằng 18, khác 0 (!=0), câu lệnh trong if sẽ thực thi.

Đây là code của chương trình

#include <iostream>
#include <iomanip>

using namespace std;
//typedef long long ll;
//#define ll long long
using ll = long long;
#define greet cout << "Dat Viet Lap Trinh" << endl;
typedef int arr[3];
 

int main(){
    greet;
    int a = 123;
    int soTien;
    int soNam;
    int  tongSoTien;
    int x = 15 < 25 ? 100 : 200;
    int diBien1= (10 < 20) && (20 >= 20);
    int diBien2= (10 > 20) || (20 < 10);
    long long b = 1234567890;
    float c = 2.3456;
    double d = 2.3456789;
    char kitu= 'A';
    char Ten;
    bool check = true;
    a +=10;
    ll g = 1234567890;
    arr array1{ 1 , 2, 3};
    int so1 = 20;
    int so2 = 18;
    int so3 = 0;
    cout << "Gia tri cua a : " << a << endl;
    cout << "Gia tri cua b : " << b << endl;
    cout << "Gia tri cua c : " << c << endl;
    cout << "Gia tri cua d : " << d << endl;
    cout << "Gia tri cua kitu : " << kitu << endl;
    cout << "Gia tri cua check : " << check << endl;
    cout << "Gia tri cua check : " << boolalpha << check << endl;
    cout << "Gia tri cua c : " << fixed << setprecision(2) << c << endl;
    cout << "Gia tri cua d : " << fixed << setprecision(4) << d << endl;
    cout << setw(12) << setfill('0') << a << endl;
    cout << setw(12) << setfill(' ') << "Dat Viet" << endl;
    cout << "Nhap tên của bạn, chỉ một chữ A,B,C :  "<< endl;
    cin >> Ten;
    cout << "Ten ban la : " << Ten << endl;
    cout << "Nhap so tien gui hang thang :  "<< endl;
    cin >> soTien;
    cout << "Nhap so nam tiet kiem :  "<< endl;
    cin >> soNam;
    tongSoTien = (soTien * 12) * soNam;
    cout << "Xin chao, " << Ten << ". Sau " << soNam << " nam tich luy. Ban da tiet kiem dươc tong so tien là: " << tongSoTien << endl;
    cout << "Gia tri cua x : " << x << endl;
    cout << "Gia tri cua diBien1 : " << diBien1 << ". Gia tri cua diBien2 : " << diBien2 << endl;
    cout << "Gia tri cua diBien1 : " << boolalpha << diBien1 << ". Gia tri cua diBien2 : " << boolalpha << diBien2 << endl;
    cout << (100 > 50) << endl;
    cout << (20 <= 30) << endl;
    cout << (80 >= 100) << endl;
    cout << "Gia tri cua g : " << g << endl;
    greet;
    if (20 > 18) {
    cout << "20 lon hon 18"<<endl;
    }
    if (so1 > so2) {
    cout << "so1 lon hon so2"<< endl;
    }
 
    if(so2){
        cout << so2 << " khac 0" << endl;
    }
    if(so3){
        cout << so3 << " khac 0" << endl;
    }


}


Bấm Run để chạy chương trình


Câu lệnh if đầu:

    if(so2){
        cout << so2 << " khac 0" << endl;
    }

 
Tương đương với

  if(so2!=0){
        cout << so2 << " khac 0" << endl;
    }


Tức là điều kiện sẽ là (biến so2 có khác 0 hay không?)=> Và vì so2 bằng 18 khác 0 nên câu lệnh cout << so2 << " khac 0" << endl; sẽ được thực thi.


If Else

Câu lệnh if sẽ giúp thực thi khi điều kiện trong if đúng, còn trong trường hợp sai thì khối lệnh bên trong else sẽ được thực hiện.

Cú pháp :

if(điều_kiện){
    //Code này sẽ được thực hiện
    //khi điều kiện đúng
}

    else{
        //Code này sẽ thực hiện khi điều
       //kiện sai
     }

Chúng ta thêm biến sau vào chương trình

 

int time = 18;

 

Sau đó chúng ta sử dụng if...else như sau

if (time < 17) {
  cout << "Lam viec.";
} else {
  cout << "Ve nha.";
}

Chương trình của chúng ta sẽ như sau:

 

#include <iostream>
#include <iomanip>

using namespace std;
//typedef long long ll;
//#define ll long long
using ll = long long;
#define greet cout << "Dat Viet Lap Trinh" << endl;
typedef int arr[3];
 

int main(){
    greet;
    int a = 123;
    int soTien;
    int soNam;
    int  tongSoTien;
    int x = 15 < 25 ? 100 : 200;
    int diBien1= (10 < 20) && (20 >= 20);
    int diBien2= (10 > 20) || (20 < 10);
    long long b = 1234567890;
    float c = 2.3456;
    double d = 2.3456789;
    char kitu= 'A';
    char Ten;
    bool check = true;
    a +=10;
    ll g = 1234567890;
    arr array1{ 1 , 2, 3};
    int so1 = 20;
    int so2 = 18;
    int so3 = 0;
    int time = 18;
    cout << "Gia tri cua a : " << a << endl;
    cout << "Gia tri cua b : " << b << endl;
    cout << "Gia tri cua c : " << c << endl;
    cout << "Gia tri cua d : " << d << endl;
    cout << "Gia tri cua kitu : " << kitu << endl;
    cout << "Gia tri cua check : " << check << endl;
    cout << "Gia tri cua check : " << boolalpha << check << endl;
    cout << "Gia tri cua c : " << fixed << setprecision(2) << c << endl;
    cout << "Gia tri cua d : " << fixed << setprecision(4) << d << endl;
    cout << setw(12) << setfill('0') << a << endl;
    cout << setw(12) << setfill(' ') << "Dat Viet" << endl;
    cout << "Nhap tên của bạn, chỉ một chữ A,B,C :  "<< endl;
    cin >> Ten;
    cout << "Ten ban la : " << Ten << endl;
    cout << "Nhap so tien gui hang thang :  "<< endl;
    cin >> soTien;
    cout << "Nhap so nam tiet kiem :  "<< endl;
    cin >> soNam;
    tongSoTien = (soTien * 12) * soNam;
    cout << "Xin chao, " << Ten << ". Sau " << soNam << " nam tich luy. Ban da tiet kiem dươc tong so tien là: " << tongSoTien << endl;
    cout << "Gia tri cua x : " << x << endl;
    cout << "Gia tri cua diBien1 : " << diBien1 << ". Gia tri cua diBien2 : " << diBien2 << endl;
    cout << "Gia tri cua diBien1 : " << boolalpha << diBien1 << ". Gia tri cua diBien2 : " << boolalpha << diBien2 << endl;
    cout << (100 > 50) << endl;
    cout << (20 <= 30) << endl;
    cout << (80 >= 100) << endl;
    cout << "Gia tri cua g : " << g << endl;
    greet;
    if (20 > 18) {
    cout << "20 lon hon 18"<<endl;
    }
    if (so1 > so2) {
    cout << "so1 lon hon so2"<< endl;
    }
 
    if(so2){
        cout << so2 << " khac 0" << endl;
    }
    if(so3){
        cout << so3 << " khac 0" << endl;
    }
    if (time < 17) {
        cout << "Lam viec.";
    } else {
        cout << "Ve nha.";
    }


}

Trong ví dụ trên, thời gian (18) lớn hơn 17 nên điều kiện là sai. Vì điều này, chúng ta chuyển sang điều kiện else và in ra màn hình "Ve nha". Nếu thời gian nhỏ hơn 18, chương trình sẽ in ra "Lam viec".
 

Bấm Run để chạy chương trình


 

If Else Lồng Nhau

If else có thể lồng vào nhau tức là bên trong khối if else cũng có thể có thêm nhiều câu lệnh if else khác.

Giả sử chúng ta muốn thêm qui định là từ 12 giờ đến 13 giờ là giờ ăn trưa, chúng ta sẽ sửa lại code  như sau

 #include <iostream>
#include <iomanip>

using namespace std;
//typedef long long ll;
//#define ll long long
using ll = long long;
#define greet cout << "Dat Viet Lap Trinh" << endl;
typedef int arr[3];
 

int main(){
    greet;
    int a = 123;
    int soTien;
    int soNam;
    int  tongSoTien;
    int x = 15 < 25 ? 100 : 200;
    int diBien1= (10 < 20) && (20 >= 20);
    int diBien2= (10 > 20) || (20 < 10);
    long long b = 1234567890;
    float c = 2.3456;
    double d = 2.3456789;
    char kitu= 'A';
    char Ten;
    bool check = true;
    a +=10;
    ll g = 1234567890;
    arr array1{ 1 , 2, 3};
    int so1 = 20;
    int so2 = 18;
    int so3 = 0;
    int time = 12;
    cout << "Gia tri cua a : " << a << endl;
    cout << "Gia tri cua b : " << b << endl;
    cout << "Gia tri cua c : " << c << endl;
    cout << "Gia tri cua d : " << d << endl;
    cout << "Gia tri cua kitu : " << kitu << endl;
    cout << "Gia tri cua check : " << check << endl;
    cout << "Gia tri cua check : " << boolalpha << check << endl;
    cout << "Gia tri cua c : " << fixed << setprecision(2) << c << endl;
    cout << "Gia tri cua d : " << fixed << setprecision(4) << d << endl;
    cout << setw(12) << setfill('0') << a << endl;
    cout << setw(12) << setfill(' ') << "Dat Viet" << endl;
    cout << "Nhap tên của bạn, chỉ một chữ A,B,C :  "<< endl;
    cin >> Ten;
    cout << "Ten ban la : " << Ten << endl;
    cout << "Nhap so tien gui hang thang :  "<< endl;
    cin >> soTien;
    cout << "Nhap so nam tiet kiem :  "<< endl;
    cin >> soNam;
    tongSoTien = (soTien * 12) * soNam;
    cout << "Xin chao, " << Ten << ". Sau " << soNam << " nam tich luy. Ban da tiet kiem dươc tong so tien là: " << tongSoTien << endl;
    cout << "Gia tri cua x : " << x << endl;
    cout << "Gia tri cua diBien1 : " << diBien1 << ". Gia tri cua diBien2 : " << diBien2 << endl;
    cout << "Gia tri cua diBien1 : " << boolalpha << diBien1 << ". Gia tri cua diBien2 : " << boolalpha << diBien2 << endl;
    cout << (100 > 50) << endl;
    cout << (20 <= 30) << endl;
    cout << (80 >= 100) << endl;
    cout << "Gia tri cua g : " << g << endl;
    greet;
    if (20 > 18) {
    cout << "20 lon hon 18"<<endl;
    }
    if (so1 > so2) {
    cout << "so1 lon hon so2"<< endl;
    }
 
    if(so2){
        cout << so2 << " khac 0" << endl;
    }
    if(so3){
        cout << so3 << " khac 0" << endl;
    }
    if (time < 18) {
        if (time >=12 && time <= 13){
            cout << "Gio An trua.";
        }else{
            cout << "Lam viec.";
        }
    } else {
        cout << "Ve nha.";
    }


}

Bấm Run để chạy chương trình

 


 

 

Phần tiếp theo

Phần trước



Không có nhận xét nào:

Đăng nhận xét