西南科技大学C++实验作业3——容器使用和文件输入输出流
目录
一、实验效果预览
二、实验要求
三、实验代码
文件目录
book.h
borrow.h
library.h
resource.h
student.h
book.cpp
borrow.cpp
library.cpp
resource.cpp
student.cpp
main.cpp
一、实验效果预览
二、实验要求
作业3:容器使用与文件输入输出流
目 的:
1) 巩固类的定义,成员变量、成员方法的定义;
2) 巩固类的对象的定义,对象对成员变量、成员方法的访问;
3) 掌握类的继承和派生的使用;
4) 掌握多态的应用(尤其是虚函数多态)。
5) 实现一个合理的操作符重载(可选)。
6) 会使用一个容器类型。
7) 能够对数据进行文件的读写。
要 求:
1)认真阅读实验指导书实验五和实验六内容,单人完成;
2)依据自己之前作业2所选参考,不得进行更换。即延续作业2所选参考,保留作业1组合或依赖关系,进一步进行扩展优化 ,加入STL的使用和文件输入输出流。
3)提交材料包括:对分易上提交作业源码(把.h和.cpp文件压缩成一个压缩包上传)与文档作业。
题目1:几何图形的计算
将第二次作业的基础上增加对STL和文件输入输出流的运用。STL运用可选择vector来组织多个几何题目对象,考虑设计基类指针的vector作为组织多个对象的数据结构。文件输入输出流可以运用到实现用户登录,保存用户相应信息等功能当中,最后形成一个完整的可用的小型应用程序。
1. 需求
1) 程序给用户出题,关于计算几何图形面积,周长的题目。
2) 用户通过键盘输入每次练习的题目数。
3) 随机生成要计算的几何图形类型(正方形,长方形,圆形,三角形,梯形,椭圆等)
4) 随机生成几何图形的基本信息(长,宽,高,半径等)
5) 用户通过键盘输入计算的面积值、周长值。
6) 程序可以判断用户的回答是否正确。
7) 并且汇总成绩并输出。
8) 用户可检查和回看所做题目。(可以看上一题,也可以看下一题)
2. 扩展需求
1) 可以进行用户管理功能,用户可以注册,登录,注销。
2) 用户可以保存自己所做的题目的信息到外部文件里。
3) 关闭系统后,用户重新登录可以查看自己做过题目,和回答问题的正确率。
4) 程序可以根据用户正确率和做题所用时间的排序维护两个排名,用户可以查看自己的计算和识别的排名。
题目2:简单生态仿真系统
将第二次作业的基础上增加对STL和文件输入输出流的运用。STL运用可选择vector来组织多个生物对象,考虑设计基类指针的vector作为组织多个对象的数据结构。文件输入输出流可以运用到实现重现生态系统,保存生态系统当前生物状态等功能中,最后形成一个完整的可用的小型应用程序。
1. 需求
设计并实现一个简单的二维生态仿真系统。系统中至少包含多种对象:一种为捕食者,一种为被捕食者,及植物。它们在某个时钟(或者计数器)的驱动下进行统一的移动,同时捕食者每移动一步其生命值减一。当被捕食者移动到捕食者的捕食范围(捕食范围由其生物品种和其生命值确定,生命值高扑食范围广)内时,捕食者将对其进行捕杀,被捕食者的生命期结束,同时捕食者的生命值恢复到最佳。如果捕食者在一定的时钟周期内没有完成任何捕食活动,生命值将减为0,此时捕食者的生命也将结束。
1) 每类生物都具有位置信息, 性别、年龄等基本信息。
2) 每类生物都有一定的生存规则,如运动规则,繁殖规则(年龄、性别),死亡规则(生老病死),捕食规则(可以通过位置判定可以捕食)等。
3) 程序初始化时,需要初始化食物链的规模(即每类生物的数量)、随机生成每个生物的基本信息。并打印输出。
4) 通过键盘输入食物链的运行时间。
5) 程序根据运行时间运行,各类生物按照自己的生存规则运行。
6) 程序需要输出生存期间的重要时间(如捕食、繁殖等)。
7) 提供生态系统的人工干预,如加入人工捕食、自然灾害等。干预动物们的生活。
8) 程序可自动加载及存储生物基本信息文件。
题目3:图书馆系统
将第二次作业的基础上增加对STL和文件输入输出流的运用。STL运用可选择vector来组织多个图书资源对象,考虑设计基类指针的vector作为组织多个对象的数据结构。文件输入输出流可以运用到实现用户登录,保存用户相应信息等功能当中,最后形成一个完整的可用的小型应用程序。
1. 需求
分析系统图书管理系统是对学生、教师信息和图书信息进行管理,学生基本信息包括学号,姓名,院系,最大借阅图书数量属性,教师基本信息包括工号,姓名,院系,最大借阅图书数量属性,图书基本信息中包括图书号,书名,作者,出版社,图书数量属性,要求输入、输出、修改、查询以上信息功能, 设计并实现功能。考虑借阅人、图书是否可以采用继承派生关系,使用多态等机制实现不同类型学生借阅不同类型的图书或资源。以下是一些基本功能,根据情况可以进行添加修改
1) 添加借阅人信息;
2) 修改借阅人信息;
3) 处理借阅人借阅信息;
4) 处理借阅人还书信息;
5) 添加图书或资源信息;
6) 修改图书或资源信息;
7) 查看图书信息;
8) 提供用户管理功能
题目4:几何图形绘制
将第二次作业的基础上增加对STL和文件输入输出流的运用。STL运用可选择stack容器来组织多个几何图形对象,从而实现撤销绘制的操作,考虑设计基类指针的容器作为组织多个对象的数据结构。文件输入输出流可以运用到保存图形绘制数据等功能当中,最后形成一个完整的可用的小型应用程序。
3. 需求
1) 用户通过键盘输入进行选择要绘制的图形