[Tự học C++] Bài tập C++ về lệnh IF-ELSE(Full bài giải)

Tổng quan về bài toán

Trong bài viết này, chúng ta sẽ tìm hiểu về các bài tập C++ liên quan đến lệnh IF-ELSE. Cụ thể, chúng ta sẽ giải các bài tập sau:

  1. Viết chương trình C++ để nhập tuổi và in ra kết quả nếu tuổi học sinh đó không đủ điều kiện vào học lớp 10.
  2. Viết chương trình C++ để nhập một số nguyên bất kỳ từ bàn phím và in kết quả ra màn hình để nói cho người dùng biết số đó là lớn hay nhỏ hơn 100.
  3. Viết chương trình C++ để nhắc người dùng nhập 3 số nguyên và tìm giá trị lớn nhất.
  4. Viết chương trình C++ xếp hạng học lực của học sinh dựa trên các điểm bài kiểm tra, điểm thi giữa kỳ, điểm thi cuối kỳ.
  5. Viết chương trình C++ để tìm nghiệm của phương trình bậc hai ax^2 + bx + c = 0.
  6. Viết chương trình C++ để tính hoa hồng đại lý bạn sẽ nhận được tùy theo mức doanh số bán hàng.
  7. Viết chương trình C++ để tính cước điện thoại bàn cho một hộ gia đình với các thông số đã cho.
  8. Viết chương trình C++ để nhập lương nhân viên, tính thuế thu nhập và lương ròng (số tiền lương thực sự mà nhân viên đó nhận được) với các thông số đã cho.

Bài tập 1: In kết quả không đủ điều kiện vào lớp 10

Đầu tiên, chúng ta sẽ giải bài toán nhập tuổi và in ra kết quả nếu tuổi học sinh đó không đủ điều kiện vào học lớp 10.

#include 
using namespace std;

int main() {
    int tuoi;
    cout << "Nhap tuoi hoc sinh: ";
    cin >> tuoi;

    if(tuoi < 16) {
        cout << "Tuoi cua hoc sinh la " << tuoi << " tuoi.n";
        cout << "Hoc sinh khong du tuoi vao lop 10!n";
    } else {
        cout << "Tuoi cua hoc sinh la " << tuoi << " tuoi.n";
        cout << "Hoc sinh du tuoi vao lop 10!n";
    }

    return 0;
}

Giải thích code

Chúng ta sử dụng lệnh cin để nhập tuổi của học sinh từ bàn phím và lưu vào biến tuoi.

Sau đó, chúng ta sử dụng câu lệnh IF-ELSE để kiểm tra nếu tuổi nhỏ hơn 16, chúng ta sẽ in ra kết quả “Hoc sinh khong du tuoi vao lop 10!”. Ngược lại, chúng ta sẽ in ra kết quả “Hoc sinh du tuoi vao lop 10!”.

Cuối cùng, chúng ta sử dụng lệnh return 0 để kết thúc chương trình.

Bài tập 2: So sánh số với 100

Tiếp theo, chúng ta sẽ giải bài toán nhập một số nguyên bất kỳ từ bàn phím và in kết quả ra màn hình để nói cho người dùng biết số đó là lớn hay nhỏ hơn 100.

#include 
using namespace std;

int main() {
    int number;
    cout << "Nhap mot so nguyen: ";
    cin >> number;

    if(number > 100) {
        cout << number << " la lon hon 100.n";
    } else {
        cout << number << " la nho hon 100.n";
    }

    return 0;
}

Giải thích code

Chúng ta sử dụng lệnh cin để nhập một số nguyên từ bàn phím và lưu vào biến number.

Sau đó, chúng ta sử dụng câu lệnh IF-ELSE để kiểm tra nếu số nhập vào lớn hơn 100, chúng ta sẽ in ra kết quả “lon hon 100”. Ngược lại, chúng ta sẽ in ra kết quả “nho hon 100”.

Cuối cùng, chúng ta sử dụng lệnh return 0 để kết thúc chương trình.

Bài tập 3: Tìm giá trị lớn nhất

Tiếp theo, chúng ta sẽ giải bài toán nhập 3 số nguyên và tìm giá trị lớn nhất.

#include 
using namespace std;

int main() {
    int a, b, c, max;

    cout << "Nhap 3 so nguyen: ";
    cin >> a >> b >> c;

    max = a; // Giả sử a là số lớn nhất
    if(b > max) {
        max = b; // Nếu b lớn hơn a, cập nhật giá trị lớn nhất
    }
    if(c > max) {
        max = c; // Nếu c lớn hơn giá trị lớn nhất hiện tại, cập nhật giá trị lớn nhất
    }

    cout << "Gia tri lon nhat la: " << max << endl;

    return 0;
}

Giải thích code

Chúng ta sử dụng lệnh cin để nhập 3 số nguyên a, b, c từ bàn phím.

Sau đó, chúng ta khởi tạo biến max với giá trị ban đầu là a, và sử dụng câu lệnh IF để so sánh bc với max. Nếu giá trị mới lớn hơn max, chúng ta sẽ cập nhật giá trị max bằng giá trị mới.

Cuối cùng, chúng ta in ra giá trị lớn nhất bằng cách sử dụng lệnh cout và sử dụng lệnh return 0 để kết thúc chương trình.

Bài tập 4: Xếp hạng học lực

Tiếp theo, chúng ta sẽ giải bài toán xếp hạng học lực của học sinh dựa trên các điểm bài kiểm tra, điểm thi giữa kỳ, điểm thi cuối kỳ.

#include 
using namespace std;

int main() {
    float diem_bai_kiem_tra, diem_thi_giua_ky, diem_thi_cuoi_ky;
    float diem_trung_binh;

    cout << "Nhap diem bai kiem tra: ";
    cin >> diem_bai_kiem_tra;

    cout << "Nhap diem thi giua ky: ";
    cin >> diem_thi_giua_ky;

    cout << "Nhap diem thi cuoi ky: ";
    cin >> diem_thi_cuoi_ky;

    diem_trung_binh = (diem_bai_kiem_tra + diem_thi_giua_ky + diem_thi_cuoi_ky) / 3;

    if(diem_trung_binh >= 9.0) {
        cout << "Hoc luc: An";
    } else if(diem_trung_binh >= 7.0) {
        cout << "Hoc luc: Bn";
    } else if(diem_trung_binh >= 5.0) {
        cout << "Hoc luc: Cn";
    } else {
        cout << "Hoc luc: Fn";
    }

    return 0;
}

Giải thích code

Chúng ta sử dụng lệnh cin để nhập điểm bài kiểm tra, điểm thi giữa kỳ, và điểm thi cuối kỳ từ bàn phím và lưu vào biến tương ứng.

Sau đó, chúng ta tính điểm trung bình bằng cách lấy tổng của 3 điểm và chia cho 3.

Tiếp theo, chúng ta sử dụng câu lệnh IF-ELSE để kiểm tra điểm trung bình và xác định học lực của học sinh. Nếu điểm trung bình lớn hơn hoặc bằng 9.0, chúng ta sẽ in ra “Hoc luc: A”. Nếu điểm trung bình lớn hơn hoặc bằng 7.0, chúng ta sẽ in ra “Hoc luc: B”. Nếu điểm trung bình lớn hơn hoặc bằng 5.0, chúng ta sẽ in ra “Hoc luc: C”. Trong trường hợp còn lại, chúng ta sẽ in ra “Hoc luc: F”.

Cuối cùng, chúng ta sử dụng lệnh return 0 để kết thúc chương trình.

Bài tập 5: Tìm nghiệm của phương trình bậc hai

Tiếp theo, chúng ta sẽ giải bài toán tìm nghiệm của phương trình bậc hai ax^2 + bx + c = 0.

#include 
#include 
using namespace std;

int main() {
    float a, b, c, delta, x1, x2;

    cout << "Nhap he so a, b, c: ";
    cin >> a >> b >> c;

    delta = b * b - 4 * a * c;

    if(a == 0) {
        if(b == 0) {
            cout << "Phuong trinh vo nghiem.n";
        } else {
            cout << "Phuong trinh co mot nghiem: " << -c / b << endl;
        }
    } else if(delta > 0) {
        x1 = (-b + sqrt(delta)) / (2 * a);
        x2 = (-b - sqrt(delta)) / (2 * a);
        cout << "Nghiem thu nhat x1 = " << x1 << endl;
        cout << "Nghiem thu hai x2 = " << x2 << endl;
    } else if(delta == 0) {
        x1 = -b / (2 * a);
        cout << "Phuong trinh co nghiem kep: " << x1 << endl;
    } else {
        cout << "Phuong trinh vo nghiem.n";
    }

    return 0;
}

Giải thích code

Chúng ta sử dụng lệnh cin để nhập các hệ số a, b, c từ bàn phím.

Sau đó, chúng ta tính giá trị của biểu thức delta, trong đó delta được tính theo công thức delta = b * b - 4 * a * c.

Tiếp theo, chúng ta sử dụng câu lệnh IF-ELSE để kiểm tra giá trị của a, b, c và giá trị của delta để tìm số nghiệm của phương trình ax^2 + bx + c = 0.

Trong trường hợp a bằng 0, chúng ta kiểm tra nếu b bằng 0, chúng ta in ra kết quả “Phuong trinh vo nghiem”. Nếu b khác 0, chúng ta in ra kết quả “Phuong trinh co mot nghiem” và tính giá trị của nghiệm.

Trong trường hợp delta lớn hơn 0, chúng ta in ra kết quả “Phuong trinh co hai nghiem” và tính giá trị của hai nghiệm.

Trong trường hợp delta bằng 0, chúng ta in ra kết quả “Phuong trinh co nghiem kep” và tính giá trị của nghiệm.

Cuối cùng, nếu cả hai trường hợp trên không xảy ra, chúng ta in ra kết quả “Phuong trinh vo nghiem”.

Chúng ta sử dụng lệnh return 0 để kết thúc chương trình.

Bài tập 6: Tính hoa hồng đại lý

Tiếp theo, chúng ta sẽ giải bài toán tính hoa hồng đại lý bạn sẽ nhận được tùy theo mức doanh số bán hàng.

#include 
using namespace std;

int main() {
    long doanh_so;
    float hoa_hong;

    cout << "Nhap gia tri tong doanh so ban hang: ";
    cin >> doanh_so;

    if(doanh_so <= 100000000) {
        hoa_hong = doanh_so * 0.05;
    } else if(doanh_so <= 300000000) {
        hoa_hong = doanh_so * 0.1;
    } else {
        hoa_hong = doanh_so * 0.2;
    }

    cout << "Hoa hong nhan duoc la: " << hoa_hong << endl;

    return 0;
}

Giải thích code

Chúng ta sử dụng lệnh cin để nhập giá trị tổng doanh số bán hàng từ bàn phím và lưu vào biến doanh_so.

Sau đó, chúng ta sử dụng câu lệnh IF-ELSE để kiểm tra giá trị của doanh_so và tính giá trị hoa hồng dựa trên mức doanh số.

Nếu doanh_so nhỏ hơn hoặc bằng 100 triệu, chúng ta tính hoa hồng bằng cách nhân doanh_so với 0.05.

Nếu doanh_so nhỏ hơn hoặc bằng 300 triệu, chúng ta tính hoa hồng bằng cách nhân doanh_so với 0.1.

Trong trường hợp còn lại, chúng ta tính hoa hồng bằng cách nhân doanh_so với 0.2.

Cuối cùng, chúng ta in ra giá trị hoa hồng bằng cách sử dụng lệnh cout, và sử dụng lệnh return 0 để kết thúc chương trình.

Bài tập 7: Tính cước điện thoại bàn

Tiếp theo, chúng ta sẽ giải bài toán tính cước điện thoại bàn cho một hộ gia đình với các thông số đã cho.

#include 
using namespace std;

int main() {
    long sophut, phi = 0;
    float tong;
    const int phithuebao = 25000;

    cout << "Nhap so phut da su dung: ";
    cin >> sophut;

    if(sophut <= 200) {
        phi = sophut * 300;
    } else if(sophut <= 350) {
        phi = 200 * 300 + (sophut - 200) * 150;
    } else {
        phi = 200 * 300 + 150 * 150 + (sophut - 350) * 100;
    }

    tong = phi + phithuebao;

    cout << "So tien phai nop la: " << tong << endl;

    return 0;
}

Giải thích code

Chúng ta sử dụng lệnh cin để nhập số phút đã sử dụng từ bàn phím và lưu vào biến sophut.

Sau đó, chúng ta sử dụng câu lệnh IF-ELSE để tính cước điện thoại dựa trên số phút đã sử dụng.

Nếu sophut nhỏ hơn hoặc bằng 200, chúng ta tính cước điện thoại bằng cách nhân sophut với 300.

Nếu sophut nhỏ hơn hoặc bằng 350, chúng ta tính cước điện thoại bằng cách tính cước cho 200 phút đầu tiên và cước cho sophut - 200 phút tiếp theo.

Trong trường hợp còn lại, chúng ta tính cước điện thoại bằng cách tính cước cho 200 phút đầu tiên, cước cho 150 phút tiếp theo, và cước cho sophut - 350 phút còn lại.

Cuối cùng, chúng ta tính tổng cước điện thoại bằng cách cộng cước đã tính với phí thuê bao, và in ra giá trị tổng bằng cách sử dụng lệnh cout. Sử dụng lệnh return 0 để kết thúc chương trình.

Bài tập 8: Tính thuế thu nhập và lương ròng

Cuối cùng, chúng ta sẽ giải bài toán nhập lương nhân viên, tính thuế thu nhập và lương ròng (số tiền lương thực sự mà nhân viên đó nhận được) với các thông số đã cho.

#include 
using namespace std;

int main() {
    long luong;
    float thuế_thu_nhập, lương_ròng;

    cout << "Nhap luong nhan vien: ";
    cin >> luong;

    if(luong >= 15000000) {
        thuế_thu_nhập = luong * 0.3;
    } else if(luong >= 7000000) {
        thuế_thu_nhập = luong * 0.2;
    } else {
        thuế_thu_nhập = luong * 0.1;
    }

    lương_ròng = luong - thuế_thu_nhập;

    cout << "Thuế thu nhập: " << thuế_thu_nhập << endl;
    cout << "Lương ròng: " << lương_ròng << endl;

    return 0;
}

Giải thích code

Chúng ta sử dụng lệnh cin để nhập lương nhân viên từ bàn phím và lưu vào biến luong.

Sau đó, chúng ta sử dụng câu lệnh IF-ELSE để tính thuế thu nhập và lương ròng dựa trên mức lương.

Nếu luong lớn hơn hoặc bằng 15 triệu, chúng ta tính thuế thu nhập bằng cách nhân luong với 0.3.

Nếu luong lớn hơn hoặc bằng 7 triệu, chúng ta tính thuế thu nhập bằng cách nhân luong với 0.2.

Trong trường hợp còn lại, chúng ta tính thuế thu nhập bằng cách nhân luong với 0.1.

Cuối cùng, chúng ta tính lương ròng bằng cách trừ thuế thu nhập đã tính từ lương, và in ra giá trị thuế thu nhập và lương ròng bằng cách sử dụng lệnh cout. Sử dụng lệnh return 0 để kết thúc chương trình.

Đó là tất cả các bài tập về lệnh IF-ELSE mà chúng ta đã giải đầy đủ. Hy vọng rằng các ví dụ này đã giúp bạn hiểu rõ hơn về cách sử dụng lệnh IF-ELSE trong C++.

FEATURED TOPIC