-4

誰かが私のプログラムを手伝ってくれますか? 3 つの配列を calc_volts という関数に渡し、電圧を計算して値を表示する必要があります。変数に対して「参照されていないローカル変数」または「宣言されていない idebtufier」というエラーが表示され続けます。i、j、k、およびボルト。

    #include <iomanip>
#include <iostream>
#include <cmath>

using namespace std;
double calc_volts(double, double, double, int);

int main()
{


    const int max = 10;
    int i; double current[max] = {10.62,14.89,13.21,16.55,19.62,9.47,6.58,18.32,12.15,3.98};

    int j; double volts[max];

    int k; double resistance[max] = {4,8.5,6,7.35,9,15.3,3,5.4,2.9,4.8};



}

double calc_volts(double current[],double volts[], double resistance[], int max)
{
    for (j = 0, j<max, j++)
    volts[j] = current[i]*resistance[k];

    return volts[j];

}
4

1 に答える 1

2

多くの問題があります。

関数宣言が間違っています:

double calc_volts(double, double, double, int);

そのはず:

double calc_volts(double[], double[], double[], int);

関数を使用するには、関数を呼び出す必要があります。

int main()
{
    const int max = 10;

    double current[max] = {10.62,14.89,13.21,16.55,19.62,9.47,6.58,18.32,12.15,3.98};

    double volts[max];

    double resistance[max] = {4,8.5,6,7.35,9,15.3,3,5.4,2.9,4.8};

    calc_volts(current, volts, resistance, max); // call the function to execute it    
}

変数iとは内部で宣言されているため、内部には存在jkません。関数内で宣言された変数は、その関数内でのみ使用できます。calc_voltsmain

この問題を解決するには、宣言を の中に入れcalc_voltsます。

于 2013-11-03T19:57:49.897 に答える