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ý SACHGIAOKHOA 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ý SACHGIAOKHOA theo yêu cầu sau:
*Thông tin SACHGIAOKHOA gồm: MaSach(Mã sách giáo khoa), TenSach(Tên sách), NhaXB(Nhà xuất bản), SoLuongBan(Số lượng bán), DonGiaBan(Đơn giá bán), ThanhTien(Thành Tiền)
Trong đó: ThanhTien = SoLuongBan * DonGiaBan *Các thao tác cần thực hiện gồm:
Yêu cầu 1: Nhập danh sách sách giáo khoa 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 sách giáo khoa đã nhập
Yêu cầu 3: Tìm kiếm sách giáo khoa 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 sách giáo khoa theo thứ tự giảm dần của Thành tiền
Yêu cầu 5: Tính tổng tiền của các quyển sách giáo khoa đã nhập
Yêu cầu 6: Hiển thị tên các quyển sách giáo khoa có số lượng > 10
Yêu cầu 7: Cho biết tên (hoặc thông tin đầy đủ) của sách giáo khoa có số lượng nhỏ nhất
1 trả lời
Hỏi chi tiết
287
1
0
Phạm Tuyên
28/03/2023 06:43:36
+5đ tặng

Cấu trúc sách giáo khoa:

struct SachGiaoKhoa{
    string MaSach;
    string TenSach;
    string NhaXB;
    int SoLuongBan;
    float DonGiaBan;
    float ThanhTien;
};
Danh sách liên kết đơn hoặc kép:
struct Node{
    SachGiaoKhoa data;
    Node *next;
};
Node *head = NULL;

Yêu câud 1:
void ThemSach(Node *&head){
    SachGiaoKhoa s;
    cout<<"Nhap ma sach: ";
    cin>>s.MaSach;
    cout<<"Nhap ten sach: ";
    cin.ignore();
    getline(cin, s.TenSach);
    cout<<"Nhap nha xuat ban: ";
    getline(cin, s.NhaXB);
    cout<<"Nhap so luong ban: ";
    cin>>s.SoLuongBan;
    cout<<"Nhap don gia ban: ";
    cin>>s.DonGiaBan;
    s.ThanhTien = s.SoLuongBan * s.DonGiaBan;
    Node *p = new Node;
    p->data = s;
    p->next = NULL;
    if(head == NULL){
        head = p;
    }else{
        Node *temp = head;
        while(temp->next != NULL){
            temp = temp->next;
        }
        temp->next = p;
    }
}


yêu cầu 2:
void InSach(Node *head){
    cout<<left<<setw(20)<<"Ma sach"<<setw(30)<<"Ten sach"<<setw(30)<<"Nha XB"<<setw(20)<<"So luong ban"<<setw(20)<<"Don gia ban"<<setw(20)<<"Thanh tien"<<endl;
    Node *temp = head;
    while(temp != NULL){
        cout<<left<<setw(20)<<temp->data.MaSach<<setw(30)<<temp->data.TenSach<<setw(30)<<temp->data.NhaXB<<setw(20)<<temp->data.SoLuongBan<<setw(20)<<temp->data.DonGiaBan<<setw(20)<<temp->data.ThanhTien<<endl;
        temp = temp->next;
    }
}

các yêu cầu con lại tự làm nha

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
Bài tập Lập trình Đại học mới nhất

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

Học ngoại ngữ với Flashcard

×
Gia sư Lazi Gia sư
×
Trợ lý ảo Trợ lý ảo