用C语言写一个图书信息管理系统,要求注册成功后能够实现按任意键返回主菜单
时间: 2024-03-27 10:36:01 浏览: 119
好的,以下是一个简单的图书信息管理系统的C语言代码,包含了注册和主菜单的实现:
```c
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX_BOOKS 100 // 最大书籍数量
#define MAX_NAME 20 // 最大书名长度
#define MAX_AUTHOR 20 // 最大作者姓名长度
// 书籍信息结构体
struct book {
char name[MAX_NAME];
char author[MAX_AUTHOR];
int year;
float price;
};
int book_count = 0; // 实际书籍数量
struct book books[MAX_BOOKS]; // 书籍数组
// 注册函数
void register_book() {
if (book_count >= MAX_BOOKS) {
printf("Maximum number of books reached!\n");
return;
}
// 输入书籍信息
struct book new_book;
printf("Enter book name: ");
scanf("%s", new_book.name);
printf("Enter author name: ");
scanf("%s", new_book.author);
printf("Enter publication year: ");
scanf("%d", &new_book.year);
printf("Enter price: ");
scanf("%f", &new_book.price);
// 添加书籍到数组
books[book_count] = new_book;
book_count++;
printf("Book added successfully!\n");
}
// 显示书籍列表函数
void show_books() {
if (book_count == 0) {
printf("No books registered yet!\n");
return;
}
printf("Books:\n");
for (int i = 0; i < book_count; i++) {
printf("%d. %s by %s, published in %d, priced at %.2f\n", i+1, books[i].name, books[i].author, books[i].year, books[i].price);
}
}
// 主菜单函数
void show_menu() {
printf("\n1. Register a new book\n");
printf("2. Show all books\n");
printf("3. Exit\n");
printf("Enter your choice: ");
}
int main() {
// 主循环
while (1) {
show_menu();
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
register_book();
break;
case 2:
show_books();
break;
case 3:
printf("Goodbye!\n");
exit(0);
default:
printf("Invalid choice!\n");
}
// 暂停程序,等待按键
printf("Press any key to continue...\n");
getchar();
getchar();
}
return 0;
}
```
程序中的`register_book`函数实现了添加新书籍的功能,`show_books`函数实现了显示所有书籍的功能,`show_menu`函数实现了主菜单的显示。主循环读取用户选择的菜单选项,并按照对应的函数执行相应的操作。每次执行完操作后,程序会暂停等待用户按下任意键,然后再次显示主菜单。
阅读全文