
HUNAN UNIVERSITY
程 序 设 计
实 验 报 告
学生姓名 毕云天 汪俊
_____
学生学号 202008030323,
202008030320___________
专业班级 通信
2003
指导老师 杨柳 ____
助 教 ____宁斌_______
2021
年
1
月
4
日

一,问题描述
H
大学图书馆
H 大学图书馆邀请你建立一个图书馆信息管理系统。请使用面
向对象思想完成该问题,具体要求如下:
一、设计一款文字式交互的图书管理系统;
二、图书馆必须支持至少 10000 册书存储,如果课实现书籍可
动态增长,加分
三、图书信息包含:
题名
ISBN/ISSN
作者
分类号(分类规则自定,要求有三级分类,可参考中图分
类法)
四、图书馆系统提供两种用户模式,请为他们设计不同的用户
类:
1
)管理员模式:
系统最初提供一个默认的管理员账户以及默认密码;
管理员具备以下功能:
可以使用管理员账号登录
支持对学校用户的账号进行基本管理,添加、删除学校用
户默认账号和密码,默认账号为学号
/
教师编号,密码为
123456;恢复学校用户默认密码;
管理员可以对图书信息进行修改
管理员可以增加、删除、搜索图书
2
)学校用户模式(学校用户超过
5
千人):
学校用户可以通过账号和密码登录,账号为学号/教师编号,
密码为
123456;
学校用户可以修改自己的密码
学校用户可以搜索图书

学校用户可以借、还图书
学校用户可以查看自己的借阅记录
五、设计图书馆类,包含馆藏图书列表、用户列表等成员、在
馆记录、用户借阅记录等。
六、图书馆系统提供根据任一信息的搜索图书功能:
题名,精确查找到书
ISBN/ISSN,精确查找到书
作者,模糊查找到该作者所有书,字典序排序
分类号,三级分类,每一级分类均可模糊查找到书,字典
序排序,按页显示;如,
N
自然科学总论
——TP
自动化技
术、计算机技术——TP3 计算机技术。
在以上每一级时,均会出现该级所有数目,字典排序,按
页显示;
二.分析设计
数据机构
本程序采用链表的数据结构,将学生与图书分别存储在两个链
表里面,再进行别的操作。
定义
student book
结构体作为链表节点,再一次分别建立学生与
book 的链表
涉及到的函数
struct student
{
char jh[100][20];//借还是还
int ci;
char read[100][100];
int account;
int pass;
char ti[100][64];
struct student* pnext;
};节点
struct stuList//用户链表
{
student* pfront;//
第一个节点的指针