C++ 如何修复我的程序,使我的功能可以工作?
对于HW(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
//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";