MOOC清华《面向对象程序设计》第7章:统计考试及格率v5.1(“记住”及格分数线)
2017-09-13 21:01
459 查看
为了让“及格分数线”能够被记住,可调用Score类的对象并赋初值。只有main函数修改了,其余代码段与前一篇博文一样。
//main.cpp #include <iostream> #include <cstdlib> #include "ArrayCollection.h" #include "LinkedListIterator.h" #include "LinkedListCollection.h" #include "Score.h" using namespace std; Score pass(70, 60, 60); template <class _Iterator> bool isPass(const _Iterator& p){ return (p->value[0] >= pass.value[0] && p->value[1] >= pass.value[1] && p->value[2] >= pass.value[2]); }//注意:这个isPass的实现是有缺陷的,只适合于Score类型 template <class _iterator> void analyze(_iterator begin, _iterator end, bool (*isPass)(const _iterator&)){ int passed = 0, count = 0; for(_iterator p = begin; p != end; p++){ if(isPass(p)) passed++; count++; } cout << "passing rate = " << (float)passed / count << endl; } int main(int argc, char** argv) { Score sarray[3]; sarray[0] = Score(60, 60, 60); sarray[1] = Score(70, 70, 70); sarray[2] = Score(50, 80, 80); ArrayCollection<Score> collection3(3, sarray); LinkedListCollection<Score> collection4; for(int i = 0; i < 3; i++) collection4.addFirst(sarray[i]); analyze(sarray, sarray + 3, isPass<Score*>); analyze(collection3.begin(), collection3.end(), isPass<Score*>); analyze(collection4.begin(), collection4.end(), isPass<LinkedListIterator<Score>>); system("PAUSE"); return EXIT_SUCCESS; }
相关文章推荐
- MOOC清华《面向对象程序设计》第7章:统计考试及格率v5.2(用文件输入及格线)
- MOOC清华《面向对象程序设计》第7章:统计考试及格率v5.4(单科及格与总分及格)
- MOOC清华《面向对象程序设计》第7章:统计考试及格率v5.0(某科及格线不是60分)
- MOOC清华《面向对象程序设计》第7章:统计考试及格率v1.0(采用迭代器模式)
- MOOC清华《面向对象程序设计》第7章:统计考试及格率v4.0(定义抽象结构)
- MOOC清华《面向对象程序设计》第7章:统计考试及格率v5.3(采用函数对象)
- MOOC清华《面向对象程序设计》第7章:统计考试及格率v3.0(自定义数据类型)
- MOOC清华《程序设计基础》第7章:统计活跃用户数
- MOOC清华《面向对象程序设计》第7章:负载监视器的设计v2.0(采用基于模板的策略模式)
- MOOC清华《程序设计基础》第7章:统计在线时长
- MOOC清华《面向对象程序设计》第3章编程题第2题:重载下标运算符以统计分段人数
- MOOC清华《面向对象程序设计》第3章:const常量成员实验
- MOOC清华《面向对象程序设计》第4章:强制类型转换实验
- MOOC清华《面向对象程序设计》第8章:邮件过滤器基本框架(采用责任链模式)
- MOOC清华《面向对象程序设计》第4章:基类与派生类的继承权限实验
- MOOC清华《面向对象程序设计》第4章:delete禁止自动类型转换实验
- MOOC清华《程序设计基础》第7章:读文件操作
- MOOC清华《面向对象程序设计》第4章:函数重写实验
- MOOC清华《面向对象程序设计》第3章:对象组合实验
- MOOC清华《面向对象程序设计》第4章:向上映射实验