C++图书管理系统

计算机学院 2020 级小学期编程实践课程

上机实验题目

(一)基于学生结构体数组的图书管理系统(20 分)

定义学生结构体类型的数组,静态初始化学生信息(不包括借书信息)。
图书使用二维字符数组或字符指针数组单独定义。
1、管理员为超级用户,管理员登录后可利用全局函数完成学生数据的管理
和查询,例如查询全部学生借书信息等;
2、学生登录后,通过仅可对自己完成借书和查询功能,无权访问他人信息。
注意:必须熟悉结构体和结构体数组的访问;必须实现不同角色的权限控制;
严禁编写只有一个主函数的程序,必须根据功能采用多函数完成。

(二)基于学生结构体链表的图书管理系统(20 分)

定义学生结构体类型的链表,初始化学生信息(不包括借书信息)。
课程使用二维字符数组或字符指针数组单独定义。
1、管理员为超级用户,管理员登录后可利用全局函数完成学生数据的管理
和查询,例如查询全部学生借书信息等;
2、学生登录后,通过仅可对自己完成借书和查询功能,无权访问他人信息。
注意:必须熟悉结构体和结构体链表的访问;必须实现不同角色的权限控制;
严禁编写只有一个主函数的程序,必须根据功能采用多函数完成。

(三)基于学生类数组的图书管理系统(类成员函数强化)(20 分)

定义学生类类型的数组,静态初始化学生信息(不包括借书信息)。
课程使用二维字符数组或字符指针数组单独定义。
1、管理员为超级用户,管理员登录后可利用全局函数完成学生数据的管理
和查询,例如查询学生借书信息等;
2、学生登录后,通过自身对象调用成员函数实现借书和查询功能。注意:
通过超级用户调用全局函数、学生用户调用成员函数的方式,着重强调面向对象
思想,强化成员函数在面向对象程序设计中的关键作用,重点是区分成员函数与
全局函数之区别,即成员函数主要用于完成调用者对象自身之功能,(隐性)利
用 this 指针完成调用者对象中数据成员之管理;而全局函数没有调用者对象和
this 指针,主要用于完成全局功能。

(四)基于学生类链表的图书管理系统(类链表强化)(20 分)

定义学生类类型的链表,初始化学生信息(不包括借书信息)。
课程使用二维字符数组或字符指针数组单独定义。
1、管理员为超级用户,管理员登录后可利用全局函数完成学生数据管理和
查询,例如查询学生借书信息等;
2、学生登录后,通过自身对象调用成员函数实现借书和查询功能。
注意:强化类链表操作方法,体会类链表与类数组操作之不同,着重强调通
过指针访问成员函数时体现出同样的面向对象思想。通过超级用户调用全局函数、
学生用户调用成员函数的方式,着重强调面向对象思想,强化成员函数在面向对
象程序设计中的关键作用,重点是区分成员函数与全局函数之区别,即成员函数
主要用于完成调用者对象自身之功能,(隐性)利用 this 指针完成调用者对象中
数据成员之管理;而全局函数没有调用者对象和 this 指针,主要用于完成全局
功能。

(五)(选做或扩展)功能:(20 分)

1、引入班级信息,每个学生属于特定班级,可以管理班级(查看、增加、
修改班级相关信息、统计相关班级借阅人数、按班级查阅借阅信息等等。。。)
2、利用函数嵌套调用实现丰富的多级菜单;
3、利用函数实现管理员对学生数据的管理(增删查改、综合查询等,例如
查询借阅 XXX 图书的同学有哪些……);
4、利用多函数或成员函数实现特定学生对象的自身管理功能(修改密码等);
5、可以扩展实现其他功能,例如:自学读写文件操作完成自动存盘等;
6、更多其他功能,请参考实际图书借阅管理系统功能自行设计实现。。。
7、使用图形交互界面(有兴趣的同学选做)。 注意事项:(请仔细阅读,严格按以下要求完成上机题目)

  1. 实验中的题目从功能角度是一样的,即完成一个图书借阅管理系统。其中 1/2 题属于面
    向过程的编程方法,3/4 题属于面向对象的编程方法。同学们需完成 1-4 题要求的基本
    功能,然后可从中选择一题,在此基础上扩展功能(包括选做功能和自行设计的其他
    图书管理功能),完成一个功能最完善、操作简洁方便的图书管理系统;
  2. 鼓励创新,实现新颖的交互界面,扩展更多的有实际意义和价值的图书管理功能(加
    分点)。
  3. 请严格遵照时间节点,尽早在时间节点前提交作业,超过时间节点(deadline)提交的
    计 0 分。
  4. 需撰写一个图书管理系统的开发技术报告(Word 或 pdf 文档),报告内容应至少包含以
    下方面:实现的总体技术方案(如可绘制流程图、功能模块图、功能交互操作图等)、
    每个上机题目完成的详细步骤(如关键功能算法介绍、实现代码等)、实现的结果(程
    序运行截图,数据结果分析等)、编程心得及总结;
  5. 作业提交要求及时间节点(deadline):需按时提交每个上机程序的演示视频(2-3 分钟,
    采用迅捷等录屏软件录制),文件命名格式:学号-姓名-题目[1-5].[***视频文件后缀]。
    提交方式:视频文件发至邮箱:1561968262@qq.com
    各题目提交时间节点:
    题目 1:8 月 11 日,题目 2:8 月 13 日,题目 3:8 月 15 日,题目 4:8 月 17 日,题
    目 5(扩展功能最完善的图书管理系统),8 月 17 日。
  6. 需做课堂分组报告,分 4 组,1 组汇报题目 1(汇报时间 8 月 13 日 14:30),2 组汇报题
    目 2(汇报时间 8 月 13 日 14:30),3 组汇报题目 3(汇报时间 8 月 17 日 14:30),4 组汇
    报题目 5(汇报时间 8 月 17 日 14:30);
  7. 小学期课程结束后,所有作业(包括程序、课堂报告 ppt 文档、技术报告 Word 或 PDF
    文档)提交到邮箱:1561968262@qq.com ,截止日期 8 月 18 日。提交的作业请打包成
    一个压缩文档发送(注意不要重复发送!!),打包的文件命名方式为:学号-姓名-2021
    编程实践作业.rar(或 zip); (打包文件包括:所有上机题目的源码(不包括 debug
    或 release 文件夹)、课堂报告 ppt、技术报告文档)
  8. 可以相互讨论借鉴,但严禁抄袭,一旦发现作业程序代码重复率达到 50%以上,
    所有相关同学在该道题目的成绩记零分。
    题目给分标准:
    (1) 实现(或部分实现)选做扩展功能的,根据实现的程度和效果,分数增加 5-20
    分。总成绩最终加分不超过 100 分;
    (2) 在规定学时内完成,功能正确,交互性好,程序结构良好,得满分;
    (3) 在规定学时内完成,功能正确,交互性一般,程序结构稍差,减 5 分;
    (4) 虽未能在规定学时内完成,但功能正确,程序结构良好,减 10 分;
    (5) 功能基本正确,减 15 分;
    (6) 功能不正确,程序有问题,计 5 分;
    (7) 未能完成程序,不提交作业,计 0 分;
    (8) 发现抄袭程序,计 0 分。

程序展示

图书管理系统.gif

源代码下载

链接: 源码下载链接
提取码: 7mx6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值