C++ 计算平均值最大值和最小值C++; //输入:学生姓名,1名考试成绩人员 //输出:学生平均成绩、班级平均成绩、优等生和最后一名学生 #包括 #包括 使用名称空间std; 浮点数vgclassgrade(整数s1、整数s2、整数s3、整数s4、整数s5) { 浮动平均值,总和; //求和等级,得到平均值 总和=s1+s2+s3+s4+s5; 平均值=总和/2; 返回平均值; } 字符串getMax(int s1、int s2、int s3、int s4、int s5、字符串n1、字符串n2、字符串n3、字符串n4、字符串n5) { 浮动最大值; 字符串maxName; //比较每个等级以找出最大值 max=s1; maxName=n1; 如果(最大值

C++ 计算平均值最大值和最小值C++; //输入:学生姓名,1名考试成绩人员 //输出:学生平均成绩、班级平均成绩、优等生和最后一名学生 #包括 #包括 使用名称空间std; 浮点数vgclassgrade(整数s1、整数s2、整数s3、整数s4、整数s5) { 浮动平均值,总和; //求和等级,得到平均值 总和=s1+s2+s3+s4+s5; 平均值=总和/2; 返回平均值; } 字符串getMax(int s1、int s2、int s3、int s4、int s5、字符串n1、字符串n2、字符串n3、字符串n4、字符串n5) { 浮动最大值; 字符串maxName; //比较每个等级以找出最大值 max=s1; maxName=n1; 如果(最大值,c++,C++,我在这里看到一个bug: // Input : Student name, 1 test grade perstudent // Output: Student Averages, Class Averages, Top Student Last Student #include <string> #include <iostream> using namespace std; float CalcAvgClassGrade(int s1, int s2, int s

我在这里看到一个bug:

// Input : Student name, 1 test grade perstudent
// Output: Student Averages, Class Averages, Top Student Last Student

#include <string>
#include <iostream>
using namespace std;

float CalcAvgClassGrade(int s1, int s2, int s3, int s4, int s5)

{
    float avg, sum;

    // Sum grades, and get avg
    sum = s1 + s2 + s3 + s4 + s5;
    avg = sum / 2;
    return avg;
}

string  getMax(int s1, int s2, int s3, int s4, int s5, string n1, string  n2, string n3, string n4, string n5)
{
    float max;
    string maxName;
    // Compares each grade to find the max
    max = s1;
    maxName = n1;
    if (max <  s2)
    {
        max = s2;
        maxName = n2;
    }
    if (max <  s3)
    {
        max = s3;
        maxName = n3;
    }
    if (max <  s4)
    {
        max = s4;
        maxName = n4;
    }
    if (max <  s5)
    {
        max = s5;
        maxName = n5;
    }


    return maxName;

}

string getMin(int s1, int s2, int s3, int s4, int s5, string n1, string n2, string n3, string n4, string n5) 
{

    float min;
    string minName;
    // Compares each grade to find the min
    min = s1;
    minName = n1;
    if (min <  s2)
    {
        min = s2;
        minName = n2;
    }
    if (min < s3)
    {
        min = s3;
        minName = n3; 
    }
    if (min <   s4);
    { 
        min = s4;
        minName = n4;
    }
    if (min <  s5)
    {
        min = s5;
        minName = n5;
    }
    return minName;

}



int main()
{
    string student1, student2, student3, student4, student5;
    int student1Grade, student2Grade, student3Grade, student4Grade, student5Grade;

    // Enter Student Names;
    cout << "Enter Student Name: ";
    cin >> student1;
    cout << "Enter Student Grade: ";
    cin >> student1Grade;

    cout << "Enter Student Name: ";
    cin >> student2;
    cout << "Enter Student Grade: ";
    cin >> student2Grade;

    cout << "Enter Student Name: ";
    cin >> student3;
    cout << "Enter Student Grade: ";
    cin >> student3Grade;

    cout << "Enter Student Name: ";
    cin >> student4;
    cout << "Enter Student Grade: ";
    cin >> student4Grade;


    cout <<"Enter Student Name : " ;
    cin >> student5;
    cout <<"Enter Student Grade : " ; 
    cin >> student5Grade;
         // Class AVG 
    float classAvg = CalcAvgClassGrade(student1Grade, student2Grade, student3Grade, student4Grade, student5Grade);

    cout << "Class average = " << classAvg; 

        // MAX GRADE 

    string classMax = getMax(student1Grade, student2Grade, student3Grade, student4Grade, student5Grade, student1, student2, student3, student4, student5); 

    cout << classMax << " has the highest grade in the class"; 

        // Min Grade 

    string classMin = getMin(student1Grade, student2Grade, student3Grade, student4Grade, student5Grade, student1, student2, student3, student4, student5); 
    cout << classMin << " has the lowest grade in the class"; 

}
string getMin(int s1、int s2、int s3、int s4、int s5、字符串n1、字符串n2、字符串n3、字符串n4、字符串n5)
{
浮动最小值;
串名;
//比较每个等级以找到最小值
min=s1;
minName=n1;
如果(最小值
您必须使用:
而不是
if(min
以及其他错误实例。它们应该是
if(min>s2)

avg=sum/2
错误。应该是
avg=sum/5


还有
你有5名学生,你必须计算5名学生的平均数:

string getMin(int s1, int s2, int s3, int s4, int s5, string n1, string n2, string n3, string n4, string n5) 
{

    float min;
    string minName;
    // Compares each grade to find the min
    min = s1;
    minName = n1;
    if (min <  s2)
    {
        min = s2;
        minName = n2;
    }
    if (min < s3)
    {
        min = s3;
        minName = n3; 
    }
    if (min <   s4);
    { 
        min = s4;
        minName = n4;
    }
    if (min <  s5)
    {
        min = s5;
        minName = n5;
    }
    return minName;

}
getMin
方法中,您错误地比较了分数和
min

如果任何数字小于
min
,则将该数字作为新的min


因此,在
getMin
方法中打开所有

我在格式化cout语句时遇到问题,您应该详细说明问题所在。
avg=sum/2;
--您确定此计算吗?您熟悉数组或向量吗?如果您有类似的变量名,但仅在数字后缀上有所不同,那么您应该uld肯定使用数组或向量。有std::min和std::max({s1,s2,s3,s4,s5})@NathanOliver:没有给出if分支中的逻辑。它当前找到最大的。
float CalcAvgClassGrade(int s1, int s2, int s3, int s4, int s5)
{
    float avg, sum;
    // Sum grades, and get avg
    sum = s1 + s2 + s3 + s4 + s5;
    avg = sum / 5;    //math: average on 5 students
    return avg;
}