30/09/2018, 22:23

Tìm kiếm 1 đối tượng trong file

Chào anh/Chị!
Anh/ Chị cho em hỏi một bài tập sau ạ!
Xây dựng chương trình quản lý thư viện trong môi trường console, thông tin tài liệu gồm:

  • Mã tài liệu
  • Loại tài liệu
  • Tên tài liệu
  • Tác giả
  • Nhà xuất bản
  • Ghi chú
    Thông tin tài liệu được lưu giữ trong file TAILIEU.DAT.
    Yêu cầu chương trình:
  • Chương trình cho phép nhập mới tài liệu
  • Chương trình cho phép duyệt và xem thông tin tài liệu lần lượt từ tài liệu đầu tiên cho đến tài liệu cuối cùng và ngược lại
  • Chương trình cho phép tìm kiếm tài liệu theo các tiêu chí: tên tài liệu, tên tác giả, nhà xuất bản.

Em đã làm được các ý trên, còn ý cuối cùng em có vấn đề là làm thế nào để tìm được theo tên rồi in ra được tất cả các thông tin của quyển sách đó ạ. Vì trong file TAILIEU.DAT. em lưu trữ tất cả thông tin của tất cả các quyển sách ạ!
Mong anh chị giúp đỡ!

Người bí ẩn viết 00:39 ngày 01/10/2018

Bạn bôi đen hết đoạn code bấm Ctrl + Shift + C nhé, markdown sẽ nhanh và ít lỗi hơn

Thành Lê Văn viết 00:38 ngày 01/10/2018

là sao ạ! Em chỉ cần xử lý mỗi hàm find thôi ạ, anh nào cho em cái ý tưởng

Quân viết 00:30 ngày 01/10/2018

bạn không xem lại bài đăng à, nghĩa là code trình bày của bạn trên này rất xấu (hình như đây là tình trạng chung của tất cả những bạn hỏi bài, thường chỉ post thôi nhưng không bao giờ format lại cho chuẩn) khó theo dõi

Thành Lê Văn viết 00:28 ngày 01/10/2018

ok. em lần đầu đăng bài hỏi nên không rõ. Anh xem cái đề đầu xem có ý tưởng gì không góp ý em với :v

Vô Thin viết 00:32 ngày 01/10/2018

Bạn lưu dữ liệu vào file theo kiểu nào? Có cấu trúc không hay là cứ tuần tự dòng? Nếu có cấu trúc thì rất đơn giản, ví dụ:

File bạn như sau:
0001
Sách cũ
Ngày xưa có một con bò
Camilo Cruz
Trẻ
Sách này được tặng

0002
Sách mới
Tình yêu thời thổ tả
Gabriel Garcia Marque
Vă học
Sách tái bản năm 2016

Thì đơn giản là nếu người ta nhập vào một yếu tố như tên sách hay tác giả thì ta sẽ tìm (dùng các hàm xử lý chuỗi có sẵn/ tự viết/ hoặc RegEx), rồi lần ngược lên trên vài dòng để tìm ra mã cuốn sách đó, rồi lại đọc trở xuống để tìm ra các yếu tố khác như nhà xuất bản, ghi chú để in ra.

Còn nếu trong file dữ liệu bạn ghi vào không theo một trật tự nào thì xem như bó tay, bạn phải làm lại.

Việc di chuyển con trỏ đọc file đi lên đi xuống có thể làm chậm/ phiền phức (mình không biết bạn dùng ngôn ngữ lập trình nào cho bài trên) nên bạn có thể đọc file vào mảng để thao tác dễ dàng hơn.

File có cấu trúc như mình nói thì rất đơn giản là khi phát hiện ra được mã sách, bạn đọc tiếp đến mấy dòng là bạn biết yếu tố nào để lấy ra, để nhận diện dòng nào thì bạn tra sách về ngôn ngữ bạn xem nó là ký tự \n hay EOF (end of line) được diễn tả thế nào.

Thành Lê Văn viết 00:33 ngày 01/10/2018

Xin lỗi vì giờ mới viêw lại topic.mình nhập dư liệu bằng class và lưu vào file theo dòng. Mình cũng làm dc rồi. Thank mọi người

Bài liên quan
0