#include #include typedef struct { int bookId; char bookName[50]; char author[50]; char publisher[50]; int publicationYear; float price; } Book; void addBook(Book books[], int *count) { Book newBook; printf("请输入图书编号: "); scanf("%d", &newBook.bookId); printf("请输入书名: "); scanf("%s", newBook.bookName); printf("请输入作者: "); scanf("%s", newBook.author); printf("请输入出版社: "); scanf("%s", newBook.publisher); printf("请输入出版年份: "); scanf("%d", &newBook.publicationYear); printf("请输入价格: "); scanf("%f", &newBook.price); books[*count] = newBook; (*count)++; } void deleteBook(Book books[], int *count, int bookId) { int found = 0; for (int i = 0; i < *count; i++) { if (books[i].bookId == bookId) { found = 1; for (int j = i; j < *count - 1; j++) { books[j] = books[j + 1]; } (*count)--; break; } } if (!found) { printf("未找到指定图书!\n"); } } void modifyBook(Book books[], int count, int bookId) { int found = 0; for (int i = 0; i < count; i++) { if (books[i].bookId == bookId) { found = 1; printf("请输入新的书名: "); scanf("%s", books[i].bookName); printf("请输入新的作者: "); scanf("%s", books[i].author); printf("请输入新的出版社: "); scanf("%s", books[i].publisher); printf("请输入新的出版年份: "); scanf("%d", &books[i].publicationYear); printf("请输入新的价格: "); scanf("%f", &books[i].price); break; } } if (!found) { printf("未找到指定图书!\n"); } } void queryBook(Book books[], int count, int bookId) { int found = 0; for (int i = 0; i < count; i++) { if (books[i].bookId == bookId) { found = 1; printf("图书编号: %d\n", books[i].bookId); printf("书名: %s\n", books[i].bookName); printf("作者: %s\n", books[i].author); printf("出版社: %s\n", books[i].publisher); printf("出版年份: %d\n", books[i].publicationYear); printf("价格: %.2f\n", books[i].price); break; } } if (!found) { printf("未找到指定图书!\n"); } } void displayAllBooks(Book books[], int count) { printf("图书信息如下:\n"); for (int i = 0; i < count; i++) { printf("图书编号: %d\n", books[i].bookId); printf("书名: %s\n", books[i].bookName); printf("作者: %s\n", books[i].author); printf("出版社: %s\n", books[i].publisher); printf("出版年份: %d\n", books[i].publicationYear); printf("价格: %.2f\n", books[i].price); printf("--------------------\n"); } } int main() { Book books[100]; int count = 0; int choice, bookId; while (1) { printf("1. 添加图书\n"); printf("2. 删除图书\n"); printf("3. 修改图书\n"); printf("4. 查询图书\n"); printf("5. 显示所有图书\n"); printf("6. 退出\n"); printf("请选择操作: "); scanf("%d", &choice); switch (choice) { case 1: addBook(books, &count); break; case 2: printf("请输入要删除的图书编号: "); scanf("%d", &bookId); deleteBook(books, &count, bookId); break; case 3: printf("请输入要修改的图书编号: "); scanf("%d", &bookId); modifyBook(books, count, bookId); break; case 4: printf("请输入要查询的图书编号: "); scanf("%d", &bookId); queryBook(books, count, bookId); break; case 5: displayAllBooks(books, count); break; case 6: exit(0); default: printf("无效的选择!\n"); } } return 0; }