我编写了一个简单的平均值计算程序,试图计算学期平均值。当我编译代码时,出现错误,告诉我我的“inputExam”函数未在此范围内声明。我研究了错误消息,但不知道如何修复它。
对于其他函数,我也遇到此错误,但是一旦我理解了我的错误,我想我可以修复其他函数。
#include <iostream>
using namespace std;
int main()
{
double finalExam=0.0;
double midterm = 0.0;
double quizzes = 0.0;
double labs = 0.0;
double semGrade=0.0;
midterm=inputExam("Midterm");
finalExam=inputExam("Final");
quizzes=inputAndAvgQuizzes();
labs=inputAndAvgLabs();
semGrade=(midterm*.2)+(finalExam*.2)+(labs*.5)+(quizzes*.1);
cout<<"Your End of Semester Grade is: " semGrade;
return 0;
}
double inputExam(string examType)
{
double grade;
cout<< "Enter the " examType " Score: ";
cin>>grade;
return (grade);
}
double inputAndAvgLabs()
{
double num [4];
double sum;
double avg;
if (int a=0, a<3,a++)
{
cout<<"What is the grade?"<<endl;
cin>>num[a]>>endl;
}
if (int a=0, a<3, a++)
{
sum=sum+num[a];
}
avg=sum/4;
return avg;
}
double inputAndAvgQuizzes()
{
double num[3];
double sum;
double avg;
double lowest = num[0];
if (int a=0, a<2,a++)
{
cout<<"What is the grade?"<<endl;
cin>>num[a]>>endl;
}
if (lowest>num[1])
{
lowest=num[1];
}
if (lowest>num[2])
{
lowest=num[2];
}
sum=num[1]+num[2]+num[3]-lowest;
avg=sum/2;
return avg;
}
您需要让人们知道这些函数存在,因此为上面的函数添加原型main
或在那里定义您的功能。就像这样:
...
double inputExam(string examType);
double inputAndAvgLabs();
double inputAndAvgQuizzes();
int main() { ... }
//definitions after main
..或将调用上方的所有定义复制粘贴到main
像这样:
...
// Function defs here
// Prototypes no longer needed
...
int main() {...}
// Defs no longer needed here
或者,您可以将所有定义放入外部文件中,然后通过以下方式将其编译到项目中:make
文件或更好,并且随着您的进展,在头文件和实现文件中创建类,并将它们以与您相同的方式(某种程度上)包含在您的文件中#include <iostream>
.
另一个小建议是避免using namespace std;
。这不仅在理论上是不好的做法,而且可能导致大型项目中的命名空间冲突。如果你和我一样讨厌打字std::string ...
然后加using std::string;
您的代码也具有同样的易用性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)