《面向对象技术大作业》 报告书 题 目: 图书管理系统 指导教师: 姓 名: 学 号: 日 期: 一.需求分析 图书管理在生活中运用非常广泛,因此需要用许多的程序来对它们进行管理。此程序包含了图书信息的录入、图书信息的浏览、图书的查询和排序、图书信息的删除与修改,借书,还书,统计等。通过编译一个C 语言函数,其中包含一个主函数,多个子函数,主函数调用其余的子函数实现人们能够简易、快捷的了解并找到自己所学要的信息的功能。 二. 系统主要功能 1、查询所有图书信息:将所有图书信息包括编号、书名、出版社、作者、价格等显示在屏幕上。 2、查找一本图书的信息:通过输入图书编号完成图书信息的查找,并在屏幕上显示。 3、修改图书信息:通过输入编号,判断此图书是否存在,若不存在则提示用户重新输入图书编号。 4、删除图书信息:通过输入编号,判断此图书是否存在,若存在, 则提示用户是否显示删除后的信息,若不存在则提示用户重新输入图书编号。 5、借书:通过输入图书编号,判断此图书是否存在,若不存在则提示用户重新输入图书编号,若图书已借出则提示用户是否继续借书,若没借出则将此图书的编号和学生的学号存入图书借阅文件中。 6、退出系统:返回主页面。 三. 流程图 开始 编译运行 四. 数据结构设计 4.1 main() 函数模块 根据图书馆信息管理系统的要求,可设计一个主函数,及定义多个用户自定义函数。在主函数中定义全局变量,即是在函数外部定义的变量,其不属于某一个函数,而属于一个源程序文件,在整个程序内可以多次被引用。通过将sw itch语句与break语句联合使用来实现多分支选择结构程序的设计。运用fscanf语句在主函数中将文件中的内容赋给结构体变量,便于在自定义函数中对结构体的调用。 具体如下: 在主函数中定义一个存放图书信息的结构体 struct list{ main 打开文件 数据读 入结构体中 选择 调 用不同函数 执行 char num[20] ; /*图书编号*/ char name[40] ; /*书名*/ char author[40] ; /*作者*/ char publish [40]; /*出版社*/ double price; /*价格*/ }; 以及各函数的申明 void search_allinformation(struct list b[]) ; /*查看全部书信息*/ void check_bookinformation (struct list b[] ); /*查找图书信息*/ void add_bookinformation (struct list b[] ); /*添加图书信息*/ void delete_bookinformation...