当你从三个考试成绩中发现最低和最高分数时,如何解释考试成绩的关系

How to account for ties in test scores when your finding out lowest and highest scores from from 3 test scores?

本文关键字:考试 何解释 关系 最高分 解释 三个 当你 发现      更新时间:2023-10-16

对于我的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++在线教程页面。如果这个答案解决了你的问题,不要忘记点击左边的复选标记。否则,如果你有更多的问题,请随时给我留言,我会尽力帮助你。