用c语言设计一个菜单,名字为图书信息管理系统,功能1查找2插入3删除4修改5排序6计数
时间: 2024-09-22 17:07:59 浏览: 55
好的,我们可以设计一个简单的命令行界面图书信息管理系统的C语言程序,它包含六个基本操作的功能。首先,我们需要创建一个主函数`main()`,在这个函数中初始化一个菜单,并循环接收用户的输入。
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义图书结构体和相关的函数指针数组
typedef struct {
char *title;
int id;
} Book;
void display_menu() {
printf("\n图书信息管理系统\n");
printf("1. 查找图书\n");
printf("2. 插入新书\n");
printf("3. 删除图书\n");
printf("4. 修改图书信息\n");
printf("5. 排序图书列表\n");
printf("6. 计算总书籍数\n");
printf("选择操作(1-6): ");
}
Book* search(int id);
void insert(Book* books[], int size, int id, char *title);
void delete(Book* books[], int size, int id);
void modify(Book* books[], int size, int id, char *new_title);
void sort_books(Book* books[], int size);
int count_books(Book* books[], int size);
int main() {
Book books[100]; // 假设最多有100本书
int size = 0;
while (true) {
display_menu();
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
Book found = search(size);
if (found.id != -1) {
printf("找到图书 %s, ID: %d\n", found.title, found.id);
} else {
printf("未找到该图书。\n");
}
break;
case 2:
insert(books, size, -1, "暂无标题"); // 输入新书信息
break;
case 3:
delete(books, size, -1); // 输入ID删除一本书
break;
case 4:
modify(books, size, -1, ""); // 输入ID修改图书信息
break;
case 5:
sort_books(books, size);
break;
case 6:
printf("当前书籍总数: %d\n", count_books(books, size));
break;
default:
printf("无效的选择,请重新输入(1-6)\n");
break;
}
// 清理输入缓冲区
getchar();
}
return 0;
}
// 以下是每个功能的具体实现...
```
请注意,这只是一个基础框架,实际的函数如`search()`, `insert()`, `delete()`, `modify()`, `sort_books()`以及`count_books()`需要根据您的需求进一步填充细节。这些函数会涉及到查找、添加、删除图书的逻辑,以及对数据的遍历和排序计算等。记得为每个功能定义对应的处理逻辑。
阅读全文