gpt4 book ai didi

c++ - 未在范围内声明

转载 作者:太空狗 更新时间:2023-10-29 20:26:50 26 4
gpt4 key购买 nike

我写了一个简单的平均值计算程序,试图计算一个学期的平均值。当我编译代码时,我收到一条错误消息,告诉我我的“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 上方为您的函数添加原型(prototype)或在那里定义您的功能。像这样:

...
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;与您的代码相同的易用性。

关于c++ - 未在范围内声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18347177/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com