设计一图书信息管理系统。系统以菜单方式工作。 能进行图书信息的录入,图书信息包括登录号、书名、作者名、分类号、出版单位、出版时间和价格等。 能进行图书信息的浏览。能进行图书的查询和排序(按书名查询、按作者名查询)。能进行图书信息的删除与修改。c语言
时间: 2024-03-26 21:40:49 浏览: 12
好的,我可以给你提供一份基本的C语言代码框架,供你参考:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_BOOKS 1000 // 最大图书数量
// 图书结构体
struct book {
char login_id[20]; // 登录号
char book_name[50]; // 书名
char author[30]; // 作者名
char category[20]; // 分类号
char publisher[30]; // 出版单位
char publish_date[20];// 出版时间
float price; // 价格
};
// 全局变量:保存所有的图书信息
struct book books[MAX_BOOKS];
int num_books = 0; // 当前图书数量
// 菜单函数:显示用户可以进行的操作
void display_menu() {
printf("\n");
printf("1. 录入图书信息\n");
printf("2. 浏览图书信息\n");
printf("3. 按书名查询\n");
printf("4. 按作者名查询\n");
printf("5. 修改图书信息\n");
printf("6. 删除图书信息\n");
printf("0. 退出系统\n");
printf("\n");
}
// 录入图书信息函数
void input_book_info() {
// TODO: 实现录入图书信息的代码
}
// 浏览图书信息函数
void browse_book_info() {
// TODO: 实现浏览图书信息的代码
}
// 按书名查询函数
void search_by_book_name() {
// TODO: 实现按书名查询的代码
}
// 按作者名查询函数
void search_by_author() {
// TODO: 实现按作者名查询的代码
}
// 修改图书信息函数
void modify_book_info() {
// TODO: 实现修改图书信息的代码
}
// 删除图书信息函数
void delete_book_info() {
// TODO: 实现删除图书信息的代码
}
// 主函数
int main() {
int choice;
do {
display_menu();
printf("请选择操作:");
scanf("%d", &choice);
switch (choice) {
case 1:
input_book_info();
break;
case 2:
browse_book_info();
break;
case 3:
search_by_book_name();
break;
case 4:
search_by_author();
break;
case 5:
modify_book_info();
break;
case 6:
delete_book_info();
break;
case 0:
printf("谢谢使用,再见!\n");
break;
default:
printf("无效选择,请重新输入!\n");
break;
}
} while (choice != 0);
return 0;
}
```
上述代码中,我们定义了一个`book`结构体,用来存储每一本图书的信息。我们还定义了一个全局变量`books`,用来保存所有的图书信息。我们实现了一个`display_menu()`函数,用来显示用户可以进行的操作。在`main()`函数中,我们使用一个`do-while`循环不断显示菜单,等待用户输入选择,然后根据用户的选择调用相应的函数来实现对图书信息的操作。
在上述代码框架的基础上,你需要实现以下函数:
1. 录入图书信息函数`input_book_info()`:让用户逐一输入每一本图书的信息,并将其保存到`books`数组中。
2. 浏览图书信息函数`browse_book_info()`:从`books`数组中读取所有图书的信息,并按照一定的格式输出到屏幕上。
3. 按书名查询函数`search_by_book_name()`:让用户输入要查询的书名,然后在`books`数组中查找并输出符合条件的图书信息。
4. 按作者名查询函数`search_by_author()`:让用户输入要查询的作者名,然后在`books`数组中查找并输出符合条件的图书信息。
5. 修改图书信息函数`modify_book_info()`:让用户输入要修改的图书的登录号,然后在`books`数组中找到对应的图书信息并修改。
6. 删除图书信息函数`delete_book_info()`:让用户输入要删除的图书的登录号,然后在`books`数组中找到对应的图书信息并删除。
希望这份代码框架和提示能够帮助到你,祝你好运!