要实现一个C语言图书管理系统,可以按照以下步骤进行:
- 定义图书结构体:首先,需要定义一个图书的结构体,包含图书的各个属性,例如书名、作者、出版社、价格等。
struct Book { char title[100]; char author[100]; char publisher[100]; float price; };
-
定义图书管理系统的功能:根据需求,确定图书管理系统需要提供的功能,例如添加图书、删除图书、查找图书、显示所有图书等。
-
实现添加图书功能:通过用户输入,创建一个新的图书对象,并将其添加到图书管理系统的图书列表中。
void addBook(struct Book *books, int *count) { printf("请输入书名:"); scanf("%s", books[*count].title); printf("请输入作者:"); scanf("%s", books[*count].author); printf("请输入出版社:"); scanf("%s", books[*count].publisher); printf("请输入价格:"); scanf("%f", &books[*count].price); (*count)++; }
- 实现删除图书功能:根据用户输入的书名,从图书列表中查找并删除对应的图书。
void deleteBook(struct Book *books, int *count, char *title) { int i, j; for (i = 0; i < *count; i++) { if (strcmp(books[i].title, title) == 0) { for (j = i; j < *count - 1; j++) { books[j] = books[j + 1]; } (*count)--; printf("删除成功!\n"); return; } } printf("未找到该书籍!\n"); }
- 实现查找图书功能:根据用户输入的书名,从图书列表中查找并显示对应的图书信息。
void searchBook(struct Book *books, int count, char *title) { int i; for (i = 0; i < count; i++) { if (strcmp(books[i].title, title) == 0) { printf("书名:%s\n", books[i].title); printf("作者:%s\n", books[i].author); printf("出版社:%s\n", books[i].publisher); printf("价格:%.2f\n", books[i].price); return; } } printf("未找到该书籍!\n"); }
- 实现显示所有图书功能:遍历图书列表,逐个显示图书的信息。
void displayBooks(struct Book *books, int count) { int i; for (i = 0; i < count; i++) { printf("书名:%s\n", books[i].title); printf("作者:%s\n", books[i].author); printf("出版社:%s\n", books[i].publisher); printf("价格:%.2f\n", books[i].price); printf("--------------------\n"); } }
- 主函数中调用图书管理系统的功能:在主函数中,根据用户的选择调用相应的功能函数。
int main() { struct Book books[100]; int count = 0; int choice; char title[100]; while (1) { printf("请选择功能:\n"); printf("1. 添加图书\n"); printf("2. 删除图书\n"); printf("3. 查找图书\n"); printf("4. 显示所有图书\n"); printf("0. 退出\n"); scanf("%d", &choice); switch (choice) { case 1: addBook(books, &count); break; case 2: printf("请输入要删除的书名:"); scanf("%s", title); deleteBook(books, &count, title); break; case 3: printf("请输入要查找的书名:"); scanf("%s", title); searchBook(books, count, title); break; case 4: displayBooks(books, count); break; case 0: return 0; default: printf("无效的选择!\n"); break; } } }
这样,一个简单的C语言图书管理系统就实现了。可以根据需求进行扩展和优化。