Bài tập  /  Bài đang cần trả lời

Sử dụng C/C++ để cài đặt chương trình sử dụng danh sách liên kết đơn (hoặc liên kết kép) để quản lý TAINGHE theo yêu cầu sau:

*Đề Bài: Sử dụng C/C++ để cài đặt chương trình sử dụng danh sách liên kết đơn (hoặc liên kết kép) để quản lý TAINGHE theo yêu cầu sau:
*Thông tin TAINGHE gồm: MaTaiNghe(Mã tai nghe), TenTaiNghe(Tên tai nghe), NuocSX(Nước sản xuất), DonGia(Đơn giá), SoLuong(Số lượng), ThanhTien(Thành tiền)
Trong đó: ThanhTien = DonGia * SoLuong
*Các thao tác cần thực hiện gồm:
Yêu cầu 1: Nhập danh sách tai nghe từ bàn phím và lưu vào DSLK Đơn (hoặc DSLK kép)
Yêu cầu 2: In danh sách tai nghe đã nhập
Yêu cầu 3: Tìm kiếm tai nghe có tên là x nào đó, với x được nhập từ bàn phím
Yêu cầu 4: Sắp xếp danh sách tai nghe theo thứ tự tăng dần của đơn giá
Yêu cầu 5: Tính tổng tiền của các tai nghe đã nhập
Yêu cầu 6: Hiển thị tên các tai nghe có đơn giá > 250.000 đồng
Yêu cầu 7: Cho biết tên (hoặc thông tin đầy đủ) của tai nghe có đơn giá cao nhất
1 Xem trả lời
Hỏi chi tiết
405
1
0
Phạm Tuyên
29/03/2023 06:04:18
+5đ tặng
#include<iostream>
#include<string>
using namespace std;

struct TaiNghe {
    string MaTaiNghe;
    string TenTaiNghe;
    string NuocSX;
    int DonGia;
    int SoLuong;
    int ThanhTien;
    TaiNghe* pNext;
};

void Nhap(TaiNghe*& head) {
    TaiNghe* p = nullptr;
    int n;
    cout << "Nhap so luong tai nghe: ";
    cin >> n;

    for (int i = 0; i < n; i++) {
        TaiNghe* node = new TaiNghe();
        cout << "Nhap ma tai nghe: ";
        cin >> node->MaTaiNghe;
        cout << "Nhap ten tai nghe: ";
        cin >> node->TenTaiNghe;
        cout << "Nhap nuoc san xuat: ";
        cin >> node->NuocSX;
        cout << "Nhap don gia: ";
        cin >> node->DonGia;
        cout << "Nhap so luong: ";
        cin >> node->SoLuong;
        node->ThanhTien = node->DonGia * node->SoLuong;
        node->pNext = nullptr;
        if (head == nullptr) {
            head = node;
            p = node;
        }
        else {
            p->pNext = node;
            p = node;
        }
    }
}

void Xuat(TaiNghe* head) {
    if (head == nullptr) {
        cout << "Danh sach rong!\n";
        return;
    }
    TaiNghe* p = head;
    while (p != nullptr) {
        cout << "Ma tai nghe: " << p->MaTaiNghe << "\n";
        cout << "Ten tai nghe: " << p->TenTaiNghe << "\n";
        cout << "Nuoc san xuat: " << p->NuocSX << "\n";
        cout << "Don gia: " << p->DonGia << "\n";
        cout << "So luong: " << p->SoLuong << "\n";
        cout << "Thanh tien: " << p->ThanhTien << "\n\n";
        p = p->pNext;
    }
}

void TimKiem(TaiNghe* head, string x) {
    TaiNghe* p = head;
    bool found = false;
    while (p != nullptr) {
        if (p->TenTaiNghe == x) {
            cout << "Ma tai nghe: " << p->MaTaiNghe << "\n";
            cout << "Ten tai nghe: " << p->TenTaiNghe << "\n";
            cout << "Nuoc san xuat: " << p->NuocSX << "\n";
            cout << "Don gia: " << p->DonGia << "\n";
            cout << "So luong: " << p->SoLuong << "\n";
            cout << "Thanh tien: " << p->ThanhTien << "\n\n";
            found = true;
        }
        p = p->pNext;
    }
    if (!found) {
        cout << "Khong tim thay tai nghe co ten " << x << "\n\n";
    }
}

void SapXep(TaiNghe*& head) {
    TaiNghe* i,

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×