当你从三个考试成绩中发现最低和最高分数时,如何解释考试成绩的关系
How to account for ties in test scores when your finding out lowest and highest scores from from 3 test scores?
对于我的c++作业,我必须从一组三个测试分数中找到最低,最高和平均分数。什么额外的代码,我需要在情况下,两个或所有三个有相同的测试分数时,发现在c++中的最高和最低的测试分数?这是代码,我有到目前为止,它运行良好,除了如果两个分数是相同的。
#include <iostream>
using namespace std;
int main()
{
int _midtermgrade, _projectaverage, _homeworkaverage, average;
cout << " Please enter your midterm grade:" << endl;
cin >> _midtermgrade;
cout << "Please enter your project average:" << endl;
cin >> _projectaverage;
cout << " Please enter your homework average:" << endl;
cin >> _homeworkaverage;
if((_midtermgrade >_projectaverage)&&(_midtermgrade >_homeworkaverage)){
cout << "Your highest score is your midterm " << _midtermgrade endl;
}
if ((_projectaverage >_midtermgrade)&(_projectaverage>_homeworkaverage))
cout << "Your highest score is your project " << _projectaverage << endl;
}
if((_homeworkaverage >_projectaverage&(_homeworkaverage>_midtermgrade)){
cout << "Your highest score is your homework "<< _homeworkaverage <<endl;
}
if((_midtermgrade < _projectaverage)&&(_midtermgrade<_homeworkaverage)){
cout << "Your lowest score is your midterm " << _midtermgrade<< endl;
}
if((_projectaverage<_midtermgrade)&&(_projectaverage<_homeworkaverage)){
cout << "Your lowest score is your project "<< _projectaverage<<endl;
}
if ((_homeworkaverage<_projectaverage)&&_midtermgrade)){
cout
<< "Your lowest score is your homework " << _homeworkaverage << endl;
}
average =((_midtermgrade * 20 +_projectaverage* 40 + _homeworkaverage*15)
/ (20 + 40 + 15));
cout << "Your currentaverage is " << average <<endl;
if (_midtermgrade < 70){
cout << "You have a failing grade on the midterm." << endl;
}
else
cout << "You have a passing grade on the midterm." << endl;
if (_projectaverage < 70){
cout << "You have a failing grade on the project." << endl;}
else
cout << "You have a passing grade on the project." << endl;
if (_homeworkaverage < 70){
cout << "You have a failing grade on the homework." << endl;
} else
cout << "You have a passing grade on the homework." << endl;
return 0;
}
第一眼看到你的代码,我就知道你做了太多的工作。您应该使用函数和函数调用来使代码更加模块化。这将减少代码膨胀,使你的代码更容易阅读/遵循,并使你的代码更容易维护,如果你想在将来添加/更改一些东西。
例如,您可以创建min和max函数来查找最高和最低的测试分数。
例如…
int MAX(int test_score1, int test_score2, int test_score3)
{
if(conditional statement)
return something;
}
在实现min和max函数之后,创建另一个函数以相同的方式查找平均考试成绩。
至于你最初的问题,如果你有两个或三个相同的考试成绩,那么最简单的方法是使用逻辑运算符==
来测试所有三个考试成绩之间的相等性。你所要弄清楚的是,在你的控制流程(程序)中,你想测试所有三个测试分数的相等性。
要了解有关函数的更多信息,请参阅这个c++在线教程页面。如果这个答案解决了你的问题,不要忘记点击左边的复选标记。否则,如果你有更多的问题,请随时给我留言,我会尽力帮助你。
相关文章:
- 请解释"函数1(p1,p2,p3);"的输出
- 请解释这句话(cout<<1+int((a<b)^((b-a)&1) )<<endl
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 被解释为低级别const的const对象的地址
- 计算每个节点的树高,帮助我解释这个代码解决方案
- MSVC将仅移动结构参数解释为指针
- Python中的for循环与C++有何不同
- 内联程序集printf将整数解释为地址
- 有人能解释一下为什么下界是这样工作的吗C++的
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- 我是c ++的新手,你能解释一下在这种情况下的指针吗
- 有人能为我解释一下C++代码吗
- 你能解释一下什么运行时错误是如何解决它的吗?
- 请解释字谜的代码,我看不懂计数器数组,每个值已经是0
- 有人可以向我解释为什么控制台输出 0 吗?
- 有人可以解释一下这段代码如何能够反转字符串
- 在C++中释放内存期间,迭代器与指针有何不同
- 在 C++ 中解释多维向量的语句时感到困惑
- 解释一下 for (char c : str) 的作用?
- 当你从三个考试成绩中发现最低和最高分数时,如何解释考试成绩的关系