Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何修复我的程序,使我的功能可以工作?_C++_Function_Void - Fatal编程技术网

C++ 如何修复我的程序,使我的功能可以工作?

C++ 如何修复我的程序,使我的功能可以工作?,c++,function,void,C++,Function,Void,对于HW(C++简介),我必须修改我以前编写的一个程序,我将在这里包含该代码。看到它的输出将使事情更加清楚: //Program to compute and display the average and appropriate letter grade of 3 test scores #include<iostream> #include<iomanip> #include<cmath> using namespace std; int main

对于HW(C++简介),我必须修改我以前编写的一个程序,我将在这里包含该代码。看到它的输出将使事情更加清楚:

//Program to compute and display the average and appropriate letter grade of   3 test scores 
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;

int main()
{
    char grade;
    double Test_1,Test_2,Test_3,Avg,ClassAvg1,ClassAvg2,ClassAvg3;
    int sumTest_1,sumTest_2,sumTest_3;
    int n;
    sumTest_1=sumTest_2=sumTest_3=0;
    const int totalSum=5.0;
    for(n=1;n<=5;n++) {
        do {
            cout<<"What are the three test scores for student #"<<n;
            cin>>Test_1>>Test_2>>Test_3;
            if(Test_1<1||Test_1>100||Test_2<1||Test_2>100||Test_3<1||Test_3>100)
            cout<<"You entered an invalid score - please try again"<<endl;
        }

        while(Test_1<1||Test_1>100||Test_2<1||Test_2>100||Test_3<1||Test_3>100);
        Avg=((Test_1+Test_2+Test_3)/3.0);

        if(Avg<65) {
            grade= 'F';
        }
        else if(Avg<70)
        {
            grade= 'D';
        }
        else if(Avg<80)
        {
            grade= 'C';
        }
        else if(Avg<90)
        {
            grade= 'B';
        }
        else
        {
            grade='A';
        }
        cout<<setprecision (0)<<fixed;
        cout<<"Your test average is "<<Avg<<" and your grade is "        <<grade<<endl;
        sumTest_1=sumTest_1+Test_1;
        sumTest_2=sumTest_2+Test_2;
        sumTest_3=sumTest_3+Test_3;
        ClassAvg1=sumTest_1/5.0;
        ClassAvg2=sumTest_2/5.0;
        ClassAvg3=sumTest_3/5.0;
    }
    cout<<"The class average for test #1 is: "<<ClassAvg1<<endl;
    cout<<"The class average for test #2 is: "<<ClassAvg2<<endl;
    cout<<"The class average for test #3 is: "<<ClassAvg3<<endl; 
} 
//用于计算和显示3个测试分数的平均和适当字母等级的程序
#包括
#包括
#包括
使用名称空间std;
int main()
{
煤焦品位;
双重测试_1、测试_2、测试_3、平均值、ClassAvg1、ClassAvg2、ClassAvg3;
int sumTest_1、sumTest_2、sumTest_3;
int n;
sumTest_1=sumTest_2=sumTest_3=0;
const int totalSum=5.0;
对于(n=1;n>Test_3;
如果(测试1100 |测试2100 |测试3100)
库特
上面的代码看起来不正确,尤其是使用嵌套函数或递归

告诉我你想要一个简化版本:

double Compute_Average(int test_1, int test_2, int test_3)
{
  return (  static_cast<double>(test_1)
          + static_cast<double>(test_2)
          + static_cast<double>(test_3))
          / 3.0;
}

编译器错误和警告消息是什么?请编辑您的帖子,不要发表评论。我的教授给了我们那部分代码来编写我们的程序,但他希望我们使用带void的嵌套函数,尽管我更喜欢编写更简单的代码,但他不希望这样。问题是“嵌套”函数返回一个值,但外部函数不返回任何值。参数不是通过引用传递的,也不是全局的。所以,函数中没有任何信息。这是毫无价值的。退出您的课程,学习不同的课程。我从来没有使用过嵌套函数。您还需要与讲师交谈并询问如果您的功能实现满足要求。
void ComputeAvg(int Test_1, int Test_2, int Test_3)
{
  double Avg;
  double ComputeAvg(int Test_1,int Test_2,int Test_3);
  {
    Avg=ComputeAvg(Test_1,Test_2,Test_3);
    return(Test_1+Test_2+Test_3)/3.0;
  }
}
double Compute_Average(int test_1, int test_2, int test_3)
{
  return (  static_cast<double>(test_1)
          + static_cast<double>(test_2)
          + static_cast<double>(test_3))
          / 3.0;
}
double Avg = Compute_Average(Test_1, Test_2, Test_3);
cout << "Test average is: " << Avg << "\n";