Đánh giá, nhận xét, review các công ty tuyển dụng
Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Bài tập về danh sách liên kết

  1. #1
    Ngày gia nhập
    10 2011
    Bài viết
    0

    Mặc định Bài tập về danh sách liên kết

    Em là mem mới.em có bài này về danh sách liên kết nhưng em không biết cách làm về danh sách liên kết.em quen làm về mảng hơn.các anh chị em trong nhà ai có thể chỉ bảo em và hướng dẫn em về bài tập này với.


    Viết chương trình quản lí nhân viên bằng danh sách liên kết gồm:
    1.Mã nv: mã: int.
    2.Họ và tên: hoten: cha[30].
    3.Giới tính: gioitinh: char[3].
    4.Nghề nghiệp: nghe: char[20].
    5.Ngày sinh: ngaysinh: char[8].
    6.Tiền lương: luong: float.
    Thực hiện:
    1. Nhập tên NV, tìm kiếm, xóa, thêm nhân viên theo mã, tên.
    2. In danh sách những nhân viên chuẩn bị nghỉ hưu( nam: 59 tuổi; nữ: 54 tuổi ).
    3. In danh sách nhân viên theo ngày tháng năm sinh.

    Em làm được phần 1 rồi nhưng lại là theo phương pháp sử dụng mảng. Phần 2 em không hình dung được cách làm. anh chị em trong nhà ai biết chỉ bảo em với nha. Em thanks mọi người nhiều.

  2. #2
    Ngày gia nhập
    11 2012
    Bài viết
    5

    Mặc định Bài tập về danh sách liên kết

    Chào các bác em có một bài tập về DSLK như sau:
    Lớp Auto: tên hãng (string), số ghế (int).
    Lớp Element: bao gồm 1 Object của lớp Auto và 1 con trỏ next đến phần tử tiếp theo.
    Lớp List: chứa con trỏ first chỉ đến đầu của lớp Element.
    yêu cầu viết một số hàm như push_front, pop_front, is_empty. Em mới viết 1 hàm in ra màn hình với 1 hàm đẩy vào đầu danh sách, nhưng chương trình bị lỗi overflow :(. Các bác kiểm tra giùm em với.

    C++ Code:
    1. #include <iostream>
    2. #include <string>
    3.  
    4. using std::string;
    5. using namespace std;
    6.  
    7. // lop oto gom co ten va so ghe ngoi
    8. class Auto{
    9.    private:
    10.       string name;
    11.       int seats;
    12.    public:                                                   // cac function co tac dung setter va getter
    13.       Auto(){fahrer = ""; number = 0;}
    14.       string getf(){return name;}
    15.       int getn() {return seats;}
    16.       void setf (string f) {name = f;}
    17.       void setn (int n) {seats = n;}
    18. };
    19.  
    20. class Element{
    21.    private:                                               // chi den phan tu tiep theo
    22.       Element* next;                              
    23.    public:
    24.       Auto at;                                          // cho nay co cach nao de Object cua Auto van la private hay protected ma van truy cap duoc khong cac bac?
    25.       Element(){ at.setf(""); at.setn(0); next = NULL; }
    26.       ~Element();
    27. //      Element get_auto(){return at;}
    28.       Element* get_next(){ return next; }
    29.       void set_next(Element* ne) { next = ne;}
    30. };
    31.  
    32. class List{
    33.    private:
    34.       Element* first;
    35.    public:
    36.       Liste() {first = NULL;}
    37.       void print();
    38.       void push_front(string f, int n);
    39. };
    40.  
    41. void List::print(){
    42.    Element* temp;                          // con tro tam thoi chay tu dau den cuoi danh sach
    43.    temp = first;
    44.    if(temp == NULL) cout<<"empty!!!";
    45.    else {
    46.       while( temp != NULL){
    47.          cout<<temp->at.getf()<<" und "<<temp->at.getn();
    48.          temp = temp->get_next();
    49.       }
    50.    }
    51. }
    52.  
    53. void List::push_front(string f, int n){
    54.    Element* e = new Element;
    55.    e->at.setf(f);
    56.    e->at.setn(n);
    57.    e->set_next(NULL);
    58.  
    59.    if (first == NULL){                         // neu DSLK rong thi dat con tro dau tien = con tro moi khoi tao
    60.       first = e;
    61.    }
    62.    else {
    63.       e->set_next(first);
    64.       first = e;
    65.       cout<<endl;
    66.    }
    67. }
    68.  
    69. int main(){
    70.    Liste k;
    71.  
    72.    k.push_front("BMW",10);
    73.    k.print();
    74.  
    75.    k.push_front("WM",10);
    76.    k.print();
    77.  
    78.    return 0;
    79. }
    Đã được chỉnh sửa lần cuối bởi phongdt : 13-11-2012 lúc 01:21 AM.

  3. #3
    Ngày gia nhập
    11 2012
    Bài viết
    5

    Em đã tìm ra lỗi, quên không khởi tạo cho lớp List .
    Nhưng em vẫn còn câu hỏi là có cách nào để truy cập được vào 1 object của Auto trong Element nếu đặt object đó trong vùng private hay không?

Các đề tài tương tự

  1. Hướng dẫn Biểu diễn thích hợp bằng danh sách liên kết đơn hoặc danh sách liên kết kép
    Gửi bởi maitrung trong diễn đàn Thủ thuật, Tutorials CTDL & Giải thuật
    Trả lời: 3
    Bài viết cuối: 04-08-2012, 08:01 PM
  2. Cấu trúc dữ liệu Cách tạo danh sách liên kết mới từ danh sách liên kết đã cho như thế nào?
    Gửi bởi giacmo1612 trong diễn đàn Thắc mắc CTDL & Giải thuật
    Trả lời: 2
    Bài viết cuối: 30-11-2011, 04:43 PM
  3. Nhập và xuất danh sách liên kết lồng danh sách liên kết?
    Gửi bởi nvluong_it trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 22-04-2011, 11:30 AM
  4. Lập trình C Danh sách liên kết - Xử lý danh sách liên kết trong lập trình C
    Gửi bởi phucduan trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 08-11-2010, 10:25 PM
  5. Danh sách liên kết, code nhập danh sách sinh viên có lỗi làm sao sửa?
    Gửi bởi acmilan trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 10-04-2009, 08:24 PM

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