c++基础知识-STL基础知识-案例

案例要求:

//比赛规则

//学校举行一场演讲比赛,共12人参加,比赛共两轮,第一轮为淘汰赛,第二轮为决赛。

//每名选手都有对应的编号,如10001-10012

//比赛方式:分组比赛,每组6个人

//第一轮分为两个小组,整体按照选手编号进行抽签后顺序演讲

//十个评委分别给每名选手打分,去除最高分和最低分,求得平均分为本轮选手的成绩

//当小组演讲完后,淘汰组内排名最后的三个选手,前三名晋级,进入下一轮比赛

//第二轮为决赛,前三名胜出

//每轮比赛过后需要显示晋级选手的信息

我的思路

//我的思考 我只想了一轮

//选手类:

//属性:编号,组别,分数,姓名

//行为有:编号随机,组别随机

//第一轮打分

//第一轮排序

//第一轮晋级名单 score,xuanshou  自定义数据的排序 降序

//第二轮打分

//第二轮排序

//第二轮前三名单

//显示界面

//推出界面

而老师的思路

//老师的思路

//开始演讲比赛:完成整届比赛的流程,每个比赛阶段需要给用户一个提示,用户按任意键后继续下一个阶段

//查看往届记录:查看之间比赛前三名结果,每次比赛都需要记录到文件中,文件用.csv后缀名保存

//清空比赛记录:将文件数据清空

//退出比赛程序:可以退出当前程序

//一个系统根据面向对象的想法,需要一个管理类,对这个系统的功能进行管理和封装

通过思路对比,可以看到

我的思路局限在单个功能的实现,没有在整个系统的实现上

同时有没有用面向对象的想法,连续输出了三个案例后,还是无法提取出重点信息

一个管理类,通过这个管理类对 系统的功能进行管理和封装

而里面涉及到的小颗粒,又可以单独封装成一个类进行调用

这里面涉及到

vector

deque:方便去头去尾 

map 有序无重复 通过key值直接获取数据

file的操作  ios::trunc     ios::app 的 操作

关键还是设计思路上的差距。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值