#include stdioh#include stringh#define MAX_NUM 1000struct Book int id; 序号 char name20; 书名 char author20; 作者 char publisher20; 出版社 char type20; 图书类型 cha
这是一个图书管理系统的简单实现。
首先定义了两个结构体,Book表示图书的信息,包括序号、书名、作者、出版社、图书类型、图书分类编码和价格等属性;BorrowRecord表示借阅记录,包括借阅者的学号和姓名、借阅的图书序号和借阅日期等属性。
接下来定义了一个binary_search函数,用于在图书数组中进行折半查找。该函数接受一个已排序的图书数组、数组中元素的个数和要查找的图书序号作为参数,返回找到的图书在数组中的下标,如果未找到则返回-1。
在main函数中,首先定义了一个books数组和一个计数器count用于存储图书信息。然后从文件中读取图书信息,将读取到的图书信息存储到books数组中,并递增计数器count。
接下来定义了一个records数组和一个计数器record_count用于存储借阅记录。然后进入一个循环,根据用户输入的选择执行相应的操作。
- 当选择为1时,无需进行任何操作,因为图书信息已经在之前的步骤中读取并存储到了
books数组中。 - 当选择为2时,会提示用户输入要查找的图书序号,然后调用
binary_search函数进行折半查找,并根据查找结果输出相应的信息。 - 当选择为3时,会提示用户输入借阅者的学号和姓名以及要借阅的图书序号,然后调用
binary_search函数查找图书序号对应的图书在books数组中的下标,如果未找到则输出相应的提示信息,否则将借阅记录存储到records数组中,并递增计数器record_count。 - 当选择为4时,会将借阅记录保存到文件中,文件名为"borrow_records.txt",并输出相应的提示信息。
- 当选择为5时,会从文件中读取借阅记录,将读取到的借阅记录存储到
records数组中,并根据记录的个数输出相应的信息。 - 当选择为0时,退出程序,并输出相应的提示信息。
在每次循环结束后,会再次提示用户输入选择,直到用户选择退出程序。
这个图书管理系统的功能比较简单,只实现了基本的图书信息的读取和查找、借阅记录的保存和读取等功能。可以根据实际需求进行扩展和改进
原文地址: https://www.cveoy.top/t/topic/hEsy 著作权归作者所有。请勿转载和采集!