#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;
}