要实现一个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语言图书管理系统就实现了。可以根据需求进行扩展和优化。