C语言实现的图书馆管理程序

需积分: 5 2 下载量 169 浏览量 更新于2024-08-03 3 收藏 60KB DOC 举报
"C语言实现的图书馆管理系统源代码,包括数据结构定义、菜单驱动的用户交互界面和基本的图书管理功能。" 这个C语言编写的图书馆管理系统提供了多种操作,如添加新图书信息、显示所有图书记录、按名称查询、删除、排序、统计以及查看未借出的图书等。系统的数据结构基于`BOOKINFO`结构体,包含了如图书编号、名称、单价、作者、借阅状态、借书人信息等关键字段。 首先,系统定义了一个`BOOL`类型,它是一个整型别名,通常用于表示真或假的状态,例如图书是否被借出。`struct bookinfo`定义了图书信息的结构,包含以下字段: 1. `number`: 存储图书的唯一编号,长度为15个字符。 2. `name`: 图书的名称,长度为30个字符。 3. `price`: 图书的单价,以浮点数形式存储。 4. `auther`: 作者的姓名,长度为20个字符。 5. `isExit`: 一个布尔值,表示图书是否存在或者已被借出。 6. `lendername`: 借书人的姓名,长度为20个字符。 7. `lendersex`: 借书人性别,长度为2个字符。 8. `lendernum`: 借书人的学号,长度为15个字符。 系统的核心功能由`menu()`函数提供,它展示了一个菜单供用户选择操作。用户可以选择执行以下任务: 1. 输入新进图书的基本信息。 2. 显示所有图书记录。 3. 根据图书名称查询基本信息。 4. 删除已撤销的图书信息。 5. 按照图书名称排序。 6. 统计价格高于特定值的图书数量。 7. 列出所有未借出的图书信息。 8. 退出程序。 在`choice_1_input_new()`函数中,系统允许用户输入新图书的所有相关信息,并将这些信息写入文件。为了防止输入溢出,对每个字符串输入进行了适当的长度限制。此外,`scanf()`与`gets()`的配合使用需要注意缓冲区清理,以避免因遗留字符而产生的错误。 这个图书馆管理系统是C语言学习者和爱好者的一个良好实践案例,它展示了如何用C语言实现文件操作、数据结构和用户交互等功能。对于想要深入理解C语言程序设计的人来说,这是一个很好的学习资源。