Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.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++;错误4716带有浮点函数_C++_Floating Point - Fatal编程技术网

C++ C++;错误4716带有浮点函数

C++ C++;错误4716带有浮点函数,c++,floating-point,C++,Floating Point,我很难使用float函数返回值。每次我尝试输入一个返回值时,我总是得到未知值的错误,或者您必须输入一个返回值。我很迷路 这是我的节目: #include <iostream> #include <iomanip> #include <string> using namespace std; string studFirstName; string studLastName; float studExam1; float studExam2; float s

我很难使用float函数返回值。每次我尝试输入一个返回值时,我总是得到未知值的错误,或者您必须输入一个返回值。我很迷路

这是我的节目:

#include <iostream>
#include <iomanip>
#include <string>

using namespace std;

string studFirstName;
string studLastName;
float studExam1;
float studExam2;
float studExam3;
float studScore;
float studAvg;

void getStudName(string& studFirstName, string& studLastName);
void getStudExams(float& studExam1, float& studExam2, float& studExam3);
float calStudAvg(float studExam1, float studExam2, float studExam3);
void displayGrade(string studFirstName, string studLastName, float studavg);

int main ()
{
    cout << "Enter Student's First Name:";
    cin >> studFirstName;
    cout << endl;

    cout << "Enter Student's Last Name:";
    cin >> studLastName;
    cout << endl;
}

void getStudExams(float& studExam1, float& studExam2, float& studExam3)
{    
    cout << "Enter score for Exam 1:";
    cin >> studExam1;
    cout << endl;

    cout << "Enter score for Exam 2:";
    cin >> studExam2;
    cout << endl;

    cout << "Enter score for Exam 3:";
    cin >> studExam3;
    cout << endl;
}

float calStudAvg(float studExam1, float studExam2, float studExam3)
{
    float studScore = (studExam1 + studExam2 + studExam3);
    float studAvg = (studScore/3);
    return; 
}

void displayGrade(string studFirstName, string studLastName, float studAvg)
{    
    cout << "Student's First Name:";
    getline (cin, studFirstName);
    cout << endl;

    cout << "Student's Last Name:";
    getline (cin, studLastName);
    cout << endl;

    cout << left << "Student's Final Grade:"
    << right << studAvg << endl;

    if (studAvg >= 90)
        cout << "Grade = 'A'" << endl;
    else if (studAvg >= 80)
        cout << "Grade = 'B'" << endl;
    else if (studAvg >= 70)
        cout << "Grade = 'C'" << endl;
    else if (studAvg >= 60)
        cout << "Grade = 'D'" << endl;
    else
        cout << "Grade = 'F'" << endl;

    system("pause");
}
#包括
#包括
#包括
使用名称空间std;
字符串studFirstName;
字符串studLastName;
浮动式studExam1;
浮子面积(m2);
浮子体积(m3);
浮点数;
浮子;
void getStudName(string&studFirstName、string&studLastName);
无效GetStudExam1(浮子和studExam1、浮子和studExam2、浮子和studExam3);
浮子计算螺栓AVG(浮子螺栓EXAM1、浮子螺栓EXAM2、浮子螺栓EXAM3);
void displayGrade(string studFirstName、string studLastName、float studavg);
int main()
{
cout>studFirstName;
cout studLastName;
cout studExam1;
cout studExam2;
cout studExam3;
库特
简单地将return放在函数块中不会返回任何内容。您必须明确指定希望该函数返回的值。
就你的情况而言,你似乎想做如下事情:-

return studAvg ;
除此之外,空返回意味着编译器将控件返回给调用方,这意味着您甚至可以在返回类型为void的函数中使用空返回


另外,从数学的角度来看,确保你正在计算的平均分数是从同一个数字中计算出来的。否则你必须使用加权平均。

我不知道你到底在想什么问题,问题是你在哪里调用了这些方法?无论如何,试试这个不会显示任何错误,还有你的代码系统(“暂停”)它很慢。它依赖于平台。它不安全。所以请使用其他方法

#include <iostream>
#include <iomanip>
#include <string>

using namespace std;

string studFirstName;
string studLastName;
float studExam1;
float studExam2;
float studExam3;
float studScore;
float studAvg;

void getStudName(string& studFirstName, string& studLastName);
void getStudExams(float& studExam1, float& studExam2, float& studExam3);
float calStudAvg(float studExam1, float studExam2, float studExam3);
void displayGrade(string studFirstName, string studLastName, float studavg);

int main ()
{

cout << "Enter Student's First Name:";
cin >> studFirstName;
cout << endl;

cout << "Enter Student's Last Name:";
cin >> studLastName;
cout << endl;
}

void getStudExams(float& studExam1, float& studExam2, float& studExam3)

{   

cout << "Enter score for Exam 1:";
cin >> studExam1;
cout << endl;

cout << "Enter score for Exam 2:";
cin >> studExam2;
cout << endl;

cout << "Enter score for Exam 3:";
cin >> studExam3;
cout << endl;
}

float calStudAvg(float studExam1, float studExam2, float studExam3)

{
float studScore = (studExam1 + studExam2 + studExam3);

float studAvg = (studScore/3);

return studAvg; 
}

void displayGrade(string studFirstName, string studLastName, float studAvg)

{   
cout << "Student's First Name:";
getline (cin, studFirstName);
cout << endl;

cout << "Student's Last Name:";
getline (cin, studLastName);
cout << endl;

cout << left << "Student's Final Grade:"
<< right << studAvg << endl;

if (studAvg >= 90)
    cout << "Grade = 'A'" << endl;
else if (studAvg >= 80)
    cout << "Grade = 'B'" << endl;
else if (studAvg >= 70)
    cout << "Grade = 'C'" << endl;
else if (studAvg >= 60)
    cout << "Grade = 'D'" << endl;
else
    cout << "Grade = 'F'" << endl;

}
#包括
#包括
#包括
使用名称空间std;
字符串studFirstName;
字符串studLastName;
浮动式studExam1;
浮子面积(m2);
浮子体积(m3);
浮点数;
浮子;
void getStudName(string&studFirstName、string&studLastName);
无效GetStudExam1(浮子和studExam1、浮子和studExam2、浮子和studExam3);
浮子计算螺栓AVG(浮子螺栓EXAM1、浮子螺栓EXAM2、浮子螺栓EXAM3);
void displayGrade(string studFirstName、string studLastName、float studavg);
int main()
{
cout>studFirstName;
cout studLastName;
cout studExam1;
cout studExam2;
cout studExam3;

cout return;???您可以返回studScore或studAvg。我尝试了这两种方法,但它给了我一个致命错误。您抱怨编译错误。这解决了编译错误。您还没有演示如何调用该方法。
#include <iostream>
#include <iomanip>
#include <string>

using namespace std;

string studFirstName;
string studLastName;
float studExam1;
float studExam2;
float studExam3;
float studScore;
float studAvg;

void getStudName(string& studFirstName, string& studLastName);
void getStudExams(float& studExam1, float& studExam2, float& studExam3);
float calStudAvg(float studExam1, float studExam2, float studExam3);
void displayGrade(string studFirstName, string studLastName, float studavg);

int main ()
{

cout << "Enter Student's First Name:";
cin >> studFirstName;
cout << endl;

cout << "Enter Student's Last Name:";
cin >> studLastName;
cout << endl;
}

void getStudExams(float& studExam1, float& studExam2, float& studExam3)

{   

cout << "Enter score for Exam 1:";
cin >> studExam1;
cout << endl;

cout << "Enter score for Exam 2:";
cin >> studExam2;
cout << endl;

cout << "Enter score for Exam 3:";
cin >> studExam3;
cout << endl;
}

float calStudAvg(float studExam1, float studExam2, float studExam3)

{
float studScore = (studExam1 + studExam2 + studExam3);

float studAvg = (studScore/3);

return studAvg; 
}

void displayGrade(string studFirstName, string studLastName, float studAvg)

{   
cout << "Student's First Name:";
getline (cin, studFirstName);
cout << endl;

cout << "Student's Last Name:";
getline (cin, studLastName);
cout << endl;

cout << left << "Student's Final Grade:"
<< right << studAvg << endl;

if (studAvg >= 90)
    cout << "Grade = 'A'" << endl;
else if (studAvg >= 80)
    cout << "Grade = 'B'" << endl;
else if (studAvg >= 70)
    cout << "Grade = 'C'" << endl;
else if (studAvg >= 60)
    cout << "Grade = 'D'" << endl;
else
    cout << "Grade = 'F'" << endl;

}