Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Heppl : Quản lý hàng hóa bằng danh sách liên kết đơn ( kép)

  1. #1
    Ngày gia nhập
    09 2021
    Bài viết
    2

    Mặc định Heppl : Quản lý hàng hóa bằng danh sách liên kết đơn ( kép)

    Các anh giúp em với em ạ

    Đề Bài: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ýTA NGHEtheo yêu cầu sau:
    *Thông tin TAI NGHE 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ímvà lưu vào DSLKĐơn(hoặcDSLK kép)
    Yêu cầu2:In danh sách tai nghe đã nhập
    Yêu cầu3: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ầu4:Sắp xếp danh sách tai nghe theo thứ tự tăng dần của đơn giá
    Yêu cầu5:Tính tổng tiền của các tai nghệ đã nhập
    Yêu cầu6:Hiển thị tên các tai nghe có đơn giá > 250.000đồng
    Yêu cầu7:Cho biết tên (hoặc thông tin đầy đủ) của tai nghe có đơn giá cao nhất
    Đã được chỉnh sửa lần cuối bởi vuduchai : 14-09-2021 lúc 08:12 PM.

  2. #2
    Ngày gia nhập
    02 2014
    Nơi ở
    TP.HCM
    Bài viết
    986

    Bạn viết mã tạo cấu trúc TAINGHE, mã cho yêu cầu 1 và 2 đưa lên để mọi người biết bạn đang ở mức độ nào để trợ giúp, mã đúng hay sai chưa nói tới mà muốn biết hướng viết của bạn. Cố gắng lên nào...
    .
    .

  3. #3
    Ngày gia nhập
    09 2021
    Bài viết
    2

    em mơi mò mẫm được như thê này thôi
    a biết chỉ giao thêm cho
    C++ Code:
    1. #include <iostream>
    2. #include <conio.h>
    3. #include <stdlib.h>
    4. #include <stdio.h>
    5. #include <string.h>
    6. #include <iomanip>
    7. using std::cout;
    8. //khai bao cau truc
    9. typedef struct node
    10. {
    11.     char    matainghe[10];      // mã tai nghe
    12.     char    tentainghe[40];     // tên tai nghe
    13.     char    nuocsx[10];         // nước sản xuất
    14.     float   dongia;
    15.     int     soluong;
    16.     float   thanhtien;
    17.     node *  pPrev;
    18.     struct  node * pNext;
    19. } DNODE;
    20. //quan ly
    21. typedef struct list
    22. {
    23.     DNODE *first;
    24.     DNODE *last;
    25. } LIST;
    26. void Init(LIST &l)
    27. {
    28.     l.first = l.last = NULL;
    29. }
    30. DNODE *GetNode(char matainghe[], char tentainghe[], float dongia, int soluong, float thanhtien, char nuocsx[])
    31. {
    32.     DNODE * p;
    33.     p = new DNODE;
    34.     if (p == NULL)
    35.     {
    36.         cout << "\n Loi cap phat";
    37.         exit(1);
    38.     }
    39.     strcpy(p->matainghe, matainghe);
    40.     strcpy(p->tentainghe, tentainghe);
    41.     strcpy(p->nuocsx, nuocsx);
    42.     p->dongia = dongia;
    43.     p->soluong = soluong;
    44.     p->thanhtien = thanhtien;
    45.     p->pPrev = p->pNext = NULL;
    46.     return p;
    47. }
    Đã được chỉnh sửa lần cuối bởi MHoang : Hôm qua lúc 08:24 AM. Lý do: Đưa mã vào khung C++

  4. #4
    Ngày gia nhập
    01 2008
    Nơi ở
    Rất đông người
    Bài viết
    706

    Trên diễn đàn có rất nhiều mã nguồn nhập 1 danh sách và in nó ra màn hình, có thể tham khảo. Nhưng theo hướng MHoang gợi ý, mình nghĩ bạn nên tạm gác lại yêu cầu "danh sách". Hãy thử tự viết 1 chương trình chỉ nhập một bản ghi (1 tai nghe) và in nó ra.

    Phải là chương trình hoàn chỉnh, nghĩa là biên dịch được và chạy được nhé. Bạn thử đi.
    -...- -.- .. .-.. .-.. - .... . -... . .- ... - .-.-.

  5. #5
    Ngày gia nhập
    02 2014
    Nơi ở
    TP.HCM
    Bài viết
    986

    Như vậy là bạn muốn dùng 2 liên kết, nhưng vẫn chưa mã được các yêu cầu 1 và 2, mình đưa ra một mã để bạn dễ tiếp cận, bạn cần thêm vào hàm main() để có thể chạy được.
    Sau khi bạn cho nó chạy được rồi thì chúng ta sẽ sang các yêu cầu khác. Mã bên dưới chưa xử lý các lỗi liên quan tiếng Việt (bạn có thể tham khảo các đề tài khác trong diễn đàn).

    C++ Code:
    1. #define _CRT_SECURE_NO_WARNINGS                     // Thêm dòng này nếu trên VS
    2. #include <iostream>
    3. using std::cout;
    4. // Khai bao cau truc
    5. typedef struct node
    6. {
    7.     char    matainghe[10];      // mã tai nghe
    8.     char    tentainghe[40];     // tên tai nghe
    9.     char    nuocsx[10];         // nước sản xuất
    10.     float   dongia;
    11.     int     soluong;
    12.     float   thanhtien;
    13.     node *  pPrev;
    14.     node *  pNext;
    15. } DNODE;
    16. // Khởi tạo danh sách
    17. DNODE * CreateNode(DNODE * pPrev)
    18. {
    19.     DNODE * pNode = new DNODE;
    20.     memset(pNode, 0, sizeof(DNODE));
    21.     cout << "    matainghe: ";  scanf("%s", pNode->matainghe);          // Mã tai nghe
    22.     cout << "    tentainghe: "; scanf("%s", pNode->tentainghe);         // Tên tai nghe
    23.     cout << "    nuocsx: ";     scanf("%s", pNode->nuocsx);             // Xuất xứ
    24.     cout << "    dongia: ";     scanf("%f", &pNode->dongia);            // Đơn giá
    25.     cout << "    soluong: ";    scanf("%d", &pNode->soluong);           // Số lượng
    26.     pNode->thanhtien = pNode->dongia * pNode->soluong;                  // ThanhTien = DonGia * SoLuong (theo đề bài)
    27.     pNode->pPrev = pPrev;                                               // Liên kết phía trước
    28.     pNode->pNext = NULL;                                                // Liên kết phía sau
    29.     // Hỏi xem người dùng muốn nhập tiếp node khác?
    30.     cout << " Nhap tiep nhan Y, da xong nhan phim khac: ";
    31.     char c = getchar();
    32.     scanf("%c", &c);
    33.     if (c == 'Y' || c == 'y')
    34.         pNode->pNext = CreateNode(pNode);                               // Thay đổi liên kết phía sau
    35.     return pNode;
    36. }
    37. // Xóa danh sách
    38. void DeleteNode(DNODE * pNode)
    39. {
    40.     if (!pNode)
    41.         return;
    42.     if (pNode->pNext)
    43.         DeleteNode(pNode->pNext);       // Xóa liên kết phía sau
    44.     delete pNode;                       // Xóa node này
    45. }
    46. // In danh sách
    47. void PrintNode(DNODE * pNode, int stt)
    48. {
    49.     if (!pNode)
    50.         return;
    51.     cout << "\n   #" << ++stt
    52.         << ": matainghe[" << pNode->matainghe
    53.         << "], tentainghe[" << pNode->tentainghe
    54.         << "], nuocsx[" << pNode->nuocsx
    55.         << "], dongia[" << pNode->dongia
    56.         << "], soluong[" << pNode->soluong
    57.         << "], thanhtien[" << pNode->thanhtien << "]";
    58.     if (pNode->pNext)
    59.         PrintNode(pNode->pNext, stt);
    60. }


    .
    .

Tags của đề tài này

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn