我该如何解决cmath编译器错误?

问题描述

我对编码还很陌生。我正在执行一个带有函数调用的项目,而我的POW()和SQRT()函数表示未在此范围内声明它们。我不确定如何解决此编译器错误并感谢您提供反馈

#include <iostream>
#include <iomanip>
#include <cmath>
#include <cstdlib>
using namespace std;

double average(double a,double b,double c,double d);
void stdev(double a,double d);
int main(){
    double num1,num2,num3,num4;
    char repeat;
    do{
    cout << "Enter four decimal numbers: ";
    cin >> num1 >> num2 >> num3 >> num4;
    average(num1,num4);
    stdev(num1,num4);
    
    cout << "Please enter y to continue: ";
    cin >> repeat;
    cout << endl;
    }
    while (repeat == 'y');
    return 0;
}
double average(double a,double d){
    double ave;
    ave = (a+b+c+d)/4;
    return ave;
}
void stdev(double a,double d,double average){
    double std,ave;
    std = SQRT(POW(a-ave,2)+POW(b-ave,2)+POW(c-ave,2)+POW(d-ave,2));
    cout << "The average = "<< ave << endl;
    cout << "The standard deviation of these numbers = "<<std<<endl;
    return;
    }

解决方法

sqrt和pow必须为小写,并且您也错过了stdev函数定义的平均值。 https://www.cplusplus.com/reference/cmath/

#include <iostream>
#include <iomanip>
#include <cmath>
#include <cstdlib>
using namespace std;

double average(double a,double b,double c,double d);
void stdev(double a,double d,double average);

int main() {
    double num1,num2,num3,num4;
    char repeat;
    do {
        cout << "Enter four decimal numbers: ";
        cin >> num1 >> num2 >> num3 >> num4;
        double avg = average(num1,num4);
        stdev(num1,num4,avg);

        cout << "Please enter y to continue: ";
        cin >> repeat;
        cout << endl;
    } while (repeat == 'y');
    return 0;
}

double average(double a,double d) {
    double ave;
    ave = (a + b + c + d) / 4;
    return ave;
}
void stdev(double a,double average) {
    double std = sqrt(pow(a - average,2) + pow(b - average,2) + pow(c - average,2) + pow(d - average,2));
    cout << "The average = " << average << endl;
    cout << "The standard deviation of these numbers = " << std << endl;
    return;
}

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...