go88 - thiên đường

Vị Trí:go88 - thiên đường > Đăng ký Go88 >

Phần Mềm Quản Lý Thư Viện Sử Dụng Clib (C Library) trong C

Cập Nhật:2024-12-22 03:33    Lượt Xem:191

Giới Thiệu

Trong lập trình, thư viện chuẩn C (clib) là một bộ công cụ vô cùng quan trọng, giúp lập trình viên không phải viết lại những chức năng cơ bản như xử lý chuỗi, quản lý bộ nhớ, hay các phép toán toán học cơ bản. Thư viện chuẩn C cung cấp các hàm sẵn có, hỗ trợ việc phát triển phần mềm hiệu quả hơn.

Trong bài viết này, chúng ta sẽ cùng xây dựng một phần mềm quản lý thư viện đơn giản sử dụng thư viện chuẩn C. Phần mềm sẽ bao gồm các chức năng như thêm, sửa, xoá và tìm kiếm sách. Dưới đây là các bước triển khai:

1. Chuẩn Bị Môi Trường Lập Trình

Để bắt đầu, bạn cần một trình biên dịch C, chẳng hạn như GCC, Dev C++, hoặc bất kỳ IDE nào hỗ trợ C. Các hệ điều hành như Linux, Windows hay macOS đều có thể cài đặt GCC để biên dịch chương trình C. Chúng ta sẽ sử dụng thư viện chuẩn C để thực hiện các chức năng cơ bản mà không cần đến bất kỳ thư viện ngoại vi nào.

2. Các Chức Năng Cơ Bản trong Quản Lý Thư Viện

Chúng ta sẽ xây dựng phần mềm quản lý thư viện bao gồm các chức năng cơ bản như:

Thêm sách vào thư viện

Hiển thị danh sách sách trong thư viện

Tìm kiếm sách theo tên

Xoá sách khỏi thư viện

Mỗi chức năng này sẽ tương ứng với một số thao tác cơ bản sử dụng các hàm có sẵn trong thư viện chuẩn C.

3. Xây Dựng Cấu Trúc Dữ Liệu

Trước khi đi vào mã nguồn, chúng ta cần xác định cách lưu trữ thông tin về sách. Một cách đơn giản nhất là sử dụng cấu trúc (struct) trong C. Cấu trúc này sẽ chứa thông tin về tên sách, tác giả, và năm xuất bản.

#include

#include

#include

#define MAX_SACH 100

// Cấu trúc để lưu thông tin sách

typedef struct {

char tenSach[100];

char tacGia[100];

int namXuatBan;

} Sach;

// Khai báo danh sách sách

Sach danhSachSach[MAX_SACH];

int soLuongSach = 0;

Ở đây, chúng ta tạo một mảng danhSachSach để lưu trữ tối đa 100 sách, và một biến soLuongSach để theo dõi số lượng sách hiện tại trong thư viện.

4. Thêm Sách

Để thêm sách vào thư viện, chúng ta sẽ sử dụng hàm thêmSach(). Hàm này sẽ nhận các thông tin về sách và lưu vào mảng danhSachSach.

void themSach() {

if (soLuongSach >= MAX_SACH) {

printf("Thu vien da day! Khong the them sach.\n");

return;

}

Sach sachMoi;

printf("Nhap ten sach: ");

getchar(); // Đọc ký tự newline còn sót lại

fgets(sachMoi.tenSach, sizeof(sachMoi.tenSach), stdin);

sachMoi.tenSach[strcspn(sachMoi.tenSach, "\n")] = 0; // Loại bỏ ký tự newline

printf("Nhap tac gia: ");

fgets(sachMoi.tacGia, sizeof(sachMoi.tacGia), stdin);

sachMoi.tacGia[strcspn(sachMoi.tacGia, "\n")] = 0;

printf("Nhap nam xuat ban: ");

scanf("%d", &sachMoi.namXuatBan);

danhSachSach[soLuongSach++] = sachMoi;

printf("Sach '%s' da duoc them vao thu vien.\n", sachMoi.tenSach);

}

Hàm themSach() thực hiện việc nhập tên sách, tác giả và năm xuất bản từ bàn phím. Sau khi thu thập đủ thông tin, sách sẽ được thêm vào danh sách.

5. Hiển Thị Danh Sách Sách

Để hiển thị danh sách sách, chúng ta cần một hàm hienThiDanhSach(). Hàm này sẽ duyệt qua mảng danhSachSach và in ra các thông tin về từng cuốn sách.

void hienThiDanhSach() {

if (soLuongSach == 0) {

printf("Khong co sach trong thu vien.\n");

return;

}

printf("Danh sach sach trong thu vien:\n");

for (int i = 0; i < soLuongSach; i++) {

printf("%d. Ten sach: %s | Tac gia: %s | Nam xuat ban: %d\n",

i + 1, danhSachSach[i].tenSach, danhSachSach[i].tacGia, danhSachSach[i].namXuatBan);

}

}

Hàm hienThiDanhSach() sẽ duyệt qua mảng sách và in thông tin về từng cuốn sách ra màn hình. Nếu thư viện không có sách nào, nó sẽ thông báo không có sách.

6. Tìm Kiếm Sách

Để tìm kiếm sách theo tên, chúng ta sẽ sử dụng hàm timSach(). Hàm này sẽ yêu cầu người dùng nhập tên sách, sau đó tìm kiếm trong danh sách sách. Nếu tìm thấy, hàm sẽ hiển thị thông tin của cuốn sách.

void timSach() {

char tenSachCanTim[100];

printf("Nhap ten sach can tim: ");

getchar(); // Đọc ký tự newline còn sót lại

fgets(tenSachCanTim, sizeof(tenSachCanTim), stdin);

tenSachCanTim[strcspn(tenSachCanTim, "\n")] = 0; // Loại bỏ ký tự newline

int timThay = 0;

for (int i = 0; i < soLuongSach; i++) {

if (strstr(danhSachSach[i].tenSach, tenSachCanTim) != NULL) {

printf("Sach tim thay: %s | Tac gia: %s | Nam xuat ban: %d\n",

Đăng ký Go88

danhSachSach[i].tenSach, danhSachSach[i].tacGia, danhSachSach[i].namXuatBan);

timThay = 1;

}

}

if (!timThay) {

printf("Khong tim thay sach '%s' trong thu vien.\n", tenSachCanTim);

}

}

Hàm timSach() tìm kiếm tên sách theo chuỗi nhập vào. Nếu tìm thấy sách, chương trình sẽ hiển thị thông tin chi tiết của sách đó. Nếu không tìm thấy, thông báo sẽ được in ra.

7. Xoá Sách

Để xoá sách khỏi thư viện, chúng ta cần một hàm xoaSach(). Hàm này sẽ yêu cầu người dùng nhập tên sách cần xoá. Sau khi tìm thấy sách, chúng ta sẽ dịch chuyển tất cả các sách phía sau nó lên một vị trí để lấp đầy khoảng trống.

void xoaSach() {

char tenSachCanXoa[100];

printf("Nhap ten sach can xoa: ");

getchar(); // Đọc ký tự newline còn sót lại

fgets(tenSachCanXoa, sizeof(tenSachCanXoa), stdin);

tenSachCanXoa[strcspn(tenSachCanXoa, "\n")] = 0;

int timThay = 0;

for (int i = 0; i < soLuongSach; i++) {

if (strcmp(danhSachSach[i].tenSach, tenSachCanXoa) == 0) {

timThay = 1;

// Dịch chuyển các sách phía sau lên

for (int j = i; j < soLuongSach - 1; j++) {

danhSachSach[j] = danhSachSach[j + 1];

}

soLuongSach--; // Giảm số lượng sách

printf("Sach '%s' da duoc xoa khỏi thu vien.\n", tenSachCanXoa);

break;

}

}

if (!timThay) {

printf("Khong tim thay sach '%s' trong thu vien.\n", tenSachCanXoa);

}

}

Hàm xoaSach() sẽ tìm kiếm sách theo tên và xoá sách nếu tìm thấy. Việc xoá sách sẽ được thực hiện bằng cách dịch chuyển các phần tử phía sau lên một vị trí.

8. Giao Diện Người Dùng

Chúng ta sẽ tạo một menu chính để người dùng có thể chọn các chức năng từ màn hình chính. Menu này sẽ gọi các hàm đã tạo ở trên.

int main() {

int luaChon;

do {

printf("\n=== MENU QUAN LY THU VIEN ===\n");

printf("1. Them sach\n");

printf("2. Hien thi danh sach sach\n");

printf("3. Tim sach\n");

printf("4. Xoa sach\n");

printf("5. Thoat\n");

printf("Nhap lua chon: ");

scanf("%d", &luaChon);

switch (luaChon) {

case 1:

themSach();

break;

case 2:

hienThiDanhSach();

break;

case 3:

timSach();

break;

case 4:

xoaSach();

break;

case 5:

printf("Thoat chuong trinh.\n");

break;

default:

printf("Lua chon khong hop le. Vui long chon lai.\n");

}

} while (luaChon != 5);

return 0;

}

Chương trình chính sẽ hiển thị menu và chờ người dùng lựa chọn thao tác. Người dùng có thể lựa chọn thêm sách, hiển thị danh sách sách, tìm kiếm sách, xoá sách hoặc thoát chương trình.

Kết Luận

Chúng ta đã xây dựng một phần mềm quản lý thư viện đơn giản sử dụng thư viện chuẩn C. Phần mềm này có các chức năng cơ bản như thêm, sửa, xoá, tìm kiếm sách, và có thể mở rộng thêm các tính năng khác như lưu trữ dữ liệu vào file hoặc quản lý thêm thông tin về sách.

Qua bài viết này, bạn đã có cái nhìn tổng quan về cách áp dụng thư viện chuẩn C trong một ứng dụng thực tế, giúp cải thiện kỹ năng lập trình của mình.





Powered by go88 - thiên đường @2013-2022 RSS sitemap HTMLsitemap

Copyright Powered by站群 © 2013-2024