Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 18 kết quả

Đề tài: lập trình thư viện trong C ra sao ?

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

    Mặc định lập trình thư viện trong C ra sao ?

    các bác giúp dùm e với ạ, vấn đề là 29 này e thi rồi mà tự nhiên giờ ông thầy bảo học thêm phần lập trình thư viện trong C . kiểu như danh sách nhân viên ấy ... phần này thì lý thuyết ổng dạy sơ xài có 1/2 buổi. còn thực hành thì ông thầy kêu phần này là cho điểm chỉ thi nhau mà gõ chứ chẵng có gì nên cũng chẵng dạy luôn. mà ông thầy e kêu thi 2-3 d lận.
    e tham khảo nhiều trên mạng cũng như tài liệu cảu ông thầy vẫn chẵng hiểu nổi lập trình kiểu thư viện C là gì... nhất là phần thao tác trên dữ liệu, e ko có khái niệm luôn mặc dù kiến thức về danh sách liên kết với mấy cái danh sách thì e biết... có thể viết 1 hàm C bthuong rồi đưa vào cho nó xữ lý trong thư viện kiểu hàm con với main dc ko các bác ? e hõi thầy thì ổng bảo cóc dc, phải viết thư viện từ đầu tới cuối

    các bác nào có lòng tốt thì cho e vài bài mẫu thư viện đơn giản e tham khảo với ạ. như kiểu ds nhân viên rồi tính toán lương tb chẳng hạn
    và tiện thể các bác giải dùm e mấy bài này, giải cách đơn giản để e biết nguyên tắc cũng như cách dùn lệnh trong thư viện kiểu gì

    1 . giải phương trình bậc 2 bằng cách lập thư viện T.T , giải thường thì đơn giản còn thư viện e ko bít nên mù tẹt. cứ cho chập 1 trường gồm 4 biến a , b ,c ,d rồi thao tác sao các bác ???
    2 . viết thư viện nhập tọa độ 2 điểm theo dang x,y đó. tính khoảng cách giữa 2 điểm. bài này cũng tạo trường gồm tọa độ x,y 2 điếm. rồi thao tác sao nữa để sd hàm tính toán e ko có khái niệm.

    các bác giải đơn giản 2 bài trên để e làm mẫu tham khảo dùm ạ. các bác giúp dùm 29 e thi roài

  2. #2
    Ngày gia nhập
    12 2009
    Nơi ở
    bế quan tu lại
    Bài viết
    846

    khai báo cấu trúc (struct) rồi làm thôi. Các bài dạng như bạn nói trên diễn đàn cũng khá nhiều, hãy tìm kiếm

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

    các bác giúp dùm e với ạ, vấn đề là 29 này e thi rồi mà tự nhiên giờ ông thầy bảo học thêm phần lập trình thư viện trong C . kiểu như danh sách nhân viên ấy ... phần này thì lý thuyết ổng dạy sơ xài có 1/2 buổi. còn thực hành thì ông thầy kêu phần này là cho điểm chỉ thi nhau mà gõ chứ chẵng có gì nên cũng chẵng dạy luôn. mà ông thầy e kêu thi 2-3 d lận.
    e tham khảo nhiều trên mạng cũng như tài liệu cảu ông thầy vẫn chẵng hiểu nổi lập trình kiểu thư viện C là gì... nhất là phần thao tác trên dữ liệu, e ko có khái niệm luôn mặc dù kiến thức về danh sách liên kết với mấy cái danh sách thì e biết... có thể viết 1 hàm C bthuong rồi đưa vào cho nó xữ lý trong thư viện kiểu hàm con với main dc ko các bác ? e hõi thầy thì ổng bảo cóc dc, phải viết thư viện từ đầu tới cuối
    Ông thầy của bạn vui tính nhỉ .
    Khi đăng ký tín chỉ chọn thầy chọn cô thì bọn mình thường "tránh xa" những ông thầy như này.
    Dạy qua loa, điểm cho có lệ. Sinh viên thì chả đọng được gì.

    BTW: Làm cái "danh sách sinh viên "mà bạn nói thì cứ dùng dslk với struct mà làm thôi bạn .
    Làm trên dslk thì phải làm dc các thao tác sau : Bổ sung (đầu, cuối, theo đúng vị trí) , xóa , sắp xếp, tìm kiếm, duyệt để xử lý thông tin. (Làm lại cho kỹ những gì bạn đã học dc ở DSLK, cái gì chưa biết thì đọc tài liệu rồi bắt tay vào làm ngay)

    Còn việc làm "thư viện" thì bạn phải đọc lại phần "Làm thư viện" để bạn gói cái đống bạn lập trình dc vào 1 chỗ. Lúc nào cần thì lôi ra xài. Rất đơn giản, đừng lo lắng
    Bạn cố gắng "luộc" đám này càng sớm càng tốt để thi cử nhé
    Um Mani Padme Hum...!!

  4. #4
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    1/2 buổi tức là mấy giờ? Ngày xưa tôi học đến phần thư viện thì GV bảo đọc sách chỗ đó, chỗ đó. GV bỏ ra cỡ 1/2 giờ để giải thích sự kết nối của các file h. Tất cả chỗ còn lại HS tự đọc sách và tham khảo lẫn nhau.

    Thời tôi còn đi học, không có ebook, không có diễn đàn nên HS bắt buộc phải siêng đọc sách.
    Chỉ có điểm là thời ấy GV siêng chấm bài nên bài nào không giải thích giải thuật rõ ràng thì dê rô. Khác với bây giờ đọc một đống code không biết HS đó viết cái gì. Chắc GV lười, chỉ chạy thử, ra kết quả là cho điểm.

    Lập trình thư viện có nghĩa là đem định nghĩa mấy cái struct cơ bản và định dạng (prototype) của mấy cái hàm bỏ vào một hay vài file h. Sau đó viết định nghĩa hàm bỏ vào các file c khác. Compile để đấy.

    Trong chương trình chính (cái có main), sử dụng hàm hay struct nào thì #include cái h đó vào. Sau khi compile và link thì linker tự động nối các định nghĩa hàm vào.

    (file c mới cần compile, file h không cần)

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

    quan trọng là giờ mình ko bít xữ lý trong dữ liệu kiểu cấu trúc

    đơn củ như bài tình khoảng cách 2 điếm ấy. mình có thể tạo cấu trúc nhập số liệu
    nhưng tới phần xữ lý thi làm sao đây ạ. mình đang cần bài mẫu đơn giãn như vầy để hiểu thôi. chứ mấy bài quản lý nhân viên phức tạp quá

    các bác ai giúp e viết cái bài đó với zzzz

  6. #6
    Ngày gia nhập
    12 2011
    Nơi ở
    tp hồ chí minh
    Bài viết
    3

    Mặc định lập trình thư viện trong C ra sao ?

    Trích dẫn Nguyên bản được gửi bởi shivakl Xem bài viết
    quan trọng là giờ mình ko bít xữ lý trong dữ liệu kiểu cấu trúc

    đơn củ như bài tình khoảng cách 2 điếm ấy. mình có thể tạo cấu trúc nhập số liệu
    nhưng tới phần xữ lý thi làm sao đây ạ. mình đang cần bài mẫu đơn giãn như vầy để hiểu thôi. chứ mấy bài quản lý nhân viên phức tạp quá

    các bác ai giúp e viết cái bài đó với zzzz
    mỗi trường dạy mỗi khác nên mình chỉ đưa bài lên tham khảo thôi
    bài tính khoảng cách 2 điểm trên trục tọa độ x,y mình chia làm 1 file.h và 1 file.cpp
    file.h

    struct Diem
    {
    float hoanhdo;
    float tungdo;
    };
    void nhapdiem(Diem &A);
    void xuatdiem(Diem A);
    float timkc(Diem A,Diem B);

    file.cpp

    #include<stdio.h>
    #include<math.h>
    #include"Diem.h"
    void main()
    {
    Diem A,B;
    nhapdiem(A);
    nhapdiem(B);
    float d;
    d= timkc(A,B);
    printf("%f",d);
    }
    void nhapdiem(Diem &A)
    {
    printf("nhap hoanh do:");
    scanf("%f", &A.hoanhdo);
    printf("nhap tung do:");
    scanf("%f", &A.tungdo);
    }
    void xuatdiem(Diem &A)
    {
    printf("%f", A.hoanhdo);
    printf("%f", A.tungdo);
    }
    float timkc(Diem A,Diem B)
    {
    float d;
    d= sqrt((A.hoanhdo - B.hoanhdo)*(A.hoanhdo - B.hoanhdo)+
    (A.tungdo-B.tungdo)*(A.tungdo-B.tungdo));
    return d;
    }
    hạnh phúc là những điều đơn giản nhất

  7. #7
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Trích dẫn Nguyên bản được gửi bởi shivakl Xem bài viết
    ....
    e tham khảo nhiều trên mạng {1} cũng như tài liệu cảu ông thầy vẫn chẵng hiểu nổi lập trình kiểu thư viện C là gì... nhất là phần thao tác trên dữ liệu, e ko có khái niệm luôn mặc dù kiến thức về danh sách liên kết với mấy cái danh sách thì e biết... có thể viết 1 hàm C bthuong rồi đưa vào cho nó xữ lý trong thư viện kiểu hàm con với main dc ko các bác ? e hõi thầy thì ổng bảo cóc dc {2}, phải viết thư viện từ đầu tới cuối
    ...
    {1} Sách lập trình C nào cũng có phần này. Tại bạn nghĩ là tìm trên mạng nhanh nên mới bí. Chịu khó đọc sách từ khi bắt đầu học thì đã làm được rồi.

    {2} Thầy nào ăn nói thô tục vậy? Lúc bạn thuật lại lời người khác nói thì phải tôn trọng người ta một chút.

  8. #8
    Ngày gia nhập
    11 2011
    Bài viết
    4

    các bác xem hộ như vậy phải là 1 bài C theo kiểu dữ liệu cấu trúc ko :


    -------------------------
    // tính khoảng cách 2 điểm A và B

    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    typedef struct DIEM
    {
    char ten;
    int x;
    int y;
    };
    void Nhap(DIEM&diem1,DIEM&diem2);
    void Xuat(DIEM&diem1,DIEM&diem2);
    float Kcach(DIEM&diem1,DIEM&diem2);
    void main()
    {
    DIEM diem1,diem2;
    // clrscr();
    Nhap(diem1, diem2);
    Xuat(diem1,diem2);
    printf("\n\t vay khoang cach giua hai diem %c%c=%f",diem1.ten,diem2.ten,Kcach(diem1,diem2));
    getch();
    }
    void Nhap(DIEM&diem1,DIEM&diem2)
    {
    printf("\n\tNhap vao ten diem dau tien: ");
    scanf("%c",&diem1.ten);
    printf("\n\t x(%c)=",diem1.ten);
    scanf("%d",&diem1.x);
    printf("\n\t y(%c)=",diem1.ten);
    scanf("%d",&diem1.y);
    fflush(stdin);
    printf("\n\tNhap vao ten diem thu hai: ");
    scanf("%c",&diem2.ten);
    printf("\n\t x(%c)=",diem2.ten);
    scanf("%d",&diem2.x);
    printf("\n\t y(%c)=",diem2.ten);
    scanf("%d",&diem2.y);
    }
    void Xuat(DIEM&diem1,DIEM&diem2)
    {
    printf("\n\tDiem dau tien: ");
    printf("\n\t diem %c(x,y)=(%d,%d)",diem1.ten,diem1.x,diem1.y);
    printf("\n\tDiem thu hai: ");
    printf("\n\t diem %c(x,y)=(%d,%d)",diem2.ten,diem2.x,diem2.y);

    }
    float Kcach(DIEM&diem1,DIEM&diem2)
    {
    float kq;
    kq=sqrt((diem1.x-diem2.x)*(diem1.x-diem2.x)+(diem1.y-diem2.y)*(diem1.y-diem2.y));
    return kq;
    }

    -----------------------
    mình tính viết bài quản lý thư viên với sv giống vậy. nhưng kệt chỗ chèn sv vào danh sách với tìm kiếm ... ko bít làm thế nào ạ
    ah ông thầy báo tin vui là bỏ phần con trỏ nên ko cần mấy cái biến nhớ &x đâu ạ

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

    Bỏ con trỏ thì sẽ dùng mảng để biểu diễn .
    vậy sẽ có khai báo <Tên struct> List[Số phần tu];
    Và xem cái mảng này như mảng bt`. Quá quen thuộc. Ko có gì mới mẻ

    Tất nhiên cũng chả "vui vẻ" gì đâu. Học C mà ko cho chơi con trỏ thì là 1 thiệt thòi khi bạn dc học ông thầy "báo tin vui" như vậy.
    Điển hình : Cũng dùng mảng, nhưng nếu các phần tử ta lưu con trỏ chứa đia chỉ của cái struct của 1 siinh viên, thì việc swap sẽ đơn giản vô cùng. So với việc mỗi phần tử chứa cái struct, đến khi swap phải swap luôn cả struct.
    Um Mani Padme Hum...!!

  10. #10
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    học C mà ko được học con trỏ để chỉ trỏ thì đúng là "vui" thật kaka
    HT117-5277

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