案例要求:
//比赛规则
//学校举行一场演讲比赛,共12人参加,比赛共两轮,第一轮为淘汰赛,第二轮为决赛。
//每名选手都有对应的编号,如10001-10012
//比赛方式:分组比赛,每组6个人
//第一轮分为两个小组,整体按照选手编号进行抽签后顺序演讲
//十个评委分别给每名选手打分,去除最高分和最低分,求得平均分为本轮选手的成绩
//当小组演讲完后,淘汰组内排名最后的三个选手,前三名晋级,进入下一轮比赛
//第二轮为决赛,前三名胜出
//每轮比赛过后需要显示晋级选手的信息
我的思路
//我的思考 我只想了一轮
//选手类:
//属性:编号,组别,分数,姓名
//行为有:编号随机,组别随机
//第一轮打分
//第一轮排序
//第一轮晋级名单 score,xuanshou 自定义数据的排序 降序
//第二轮打分
//第二轮排序
//第二轮前三名单
//显示界面
//推出界面
而老师的思路
//老师的思路
//开始演讲比赛:完成整届比赛的流程,每个比赛阶段需要给用户一个提示,用户按任意键后继续下一个阶段
//查看往届记录:查看之间比赛前三名结果,每次比赛都需要记录到文件中,文件用.csv后缀名保存
//清空比赛记录:将文件数据清空
//退出比赛程序:可以退出当前程序
//一个系统根据面向对象的想法,需要一个管理类,对这个系统的功能进行管理和封装
通过思路对比,可以看到
我的思路局限在单个功能的实现,没有在整个系统的实现上
同时有没有用面向对象的想法,连续输出了三个案例后,还是无法提取出重点信息
一个管理类,通过这个管理类对 系统的功能进行管理和封装
而里面涉及到的小颗粒,又可以单独封装成一个类进行调用
这里面涉及到
vector
deque:方便去头去尾
map 有序无重复 通过key值直接获取数据
file的操作 ios::trunc ios::app 的 操作
等
关键还是设计思路上的差距。