C语言实现的图书馆管理程序
需积分: 5 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语言程序设计的人来说,这是一个很好的学习资源。
176 浏览量
2023-07-14 上传
2013-07-02 上传
2024-12-17 上传
2023-06-08 上传
2023-12-15 上传
2023-06-10 上传
2024-12-16 上传
2023-06-06 上传
2201_75683007
- 粉丝: 0
- 资源: 429
最新资源
- ballista:现代网络的互操作性系统
- gsheet-planner:聪明的,可自动排序的Google表格计划器
- 翻译翻译什么叫HTML5(一)配套代码资源包
- Towering Yoga Masters Free Game-crx插件
- 我的
- Toolint-tests-Empty-TC-Add-Tools-2021-03-11T20-17-21.121Z:为工具链创建
- List:用CodeSandbox创建
- timecat-mmo::smiling_cat_with_heart-eyes: 时间猫,但是一个 MMO
- 视觉暂留测试工具-crx插件
- 变色龙:BAOBAB服务器的“第二层”模型交互层
- Perifa_Acessa:Com recursos de voz(acessibilidade)podendo ser a Alexa(Firefox)ou o Watson(Microsoft),Recursos de Hand Talk eImplementaçõesde melhorias a fazer,esteéum eta(protótipo)
- posterus:具有取消功能,可调度控制和协程的可组合异步原语(期货)
- OS-Places:演示和代码示例的OS Places存储库
- Commando Girl Free Games-crx插件
- PSTools GUI:PSTools 的图形前端-开源
- 彼得里斯