web-dev-qa-db-ja.com

C ++識別子は未定義です

私はC++に新しい私は私がこのエラーを得ている理由を理解していません。 5つのステートメントのうち3つのマークエラーがあるが他の2つは大丈夫です。エラーは主な機能にあります。

    #include <iostream>
using namespace std;

// Function declaration
void getGallons(int wall);
void getHours(int gallons);
void getCostpaint(int gallons, int pricePaint);
void getLaborcharges(int hours);
void getTotalcost(int costPaint, int laborCharges);

// Function definition
void getGallons(int wall)
{
    int gallons;

    gallons = wall / 112;

    cout << "Number of gallons of Paint required: " << gallons << endl;


}

// Function definition
void getHours(int gallons)
{
    int hours;

    hours = gallons * 8;

    cout << "Hours of labor required: " << hours << endl;


}

// Function definition
void getCostpaint(int gallons, int pricePaint)
{
    int costPaint;

    costPaint = gallons * pricePaint;

    cout << "The cost of Paint: " << costPaint << endl;
}

// Function definition
void getLaborcharges(int hours)
{
    int laborCharges;

    laborCharges = hours * 35;

    cout << "The labor charge: " << laborCharges << endl;
}

// Funtion definition
void getTotalcost(int costPaint, int laborCharges)
{
    int totalCost;

    totalCost = costPaint + laborCharges;

    cout << "The total cost of the job: " << totalCost << endl;
}

// The main method
int main()
{
    int wall;
    int pricePaint;

    cout << "Enter square feet of wall: ";
    cin >> wall;

    cout << "Enter price of Paint per gallon: ";
    cin >> pricePaint;

    getGallons(wall);

    getHours(gallons); // error here

    getCostpaint(gallons, pricePaint);

    getLaborcharges(hours); // error here

    getTotalcost(costPaint, laborCharges); //error here

    return 0;

}
 _

このレッスンは、コード内の機能とパラメータを渡すことに焦点を当てました。私はグローバル変数を使うことになっていません。あなたがこれをするより良い方法があるならば、共有してください。

2
hcas

ここにいくつかのエラー/問題があります

  1. 冗長な機能宣言があります。定義の前に関数を呼び出すことを計画している場合にのみ必要です。

  2. あなたの主な方法では、あなたはガロンを宣言しません

  3. あなたのメインの方法では、壁と価格パブティンの値を与えません。

  4. あなたの関数では、あなたは副作用を介して操作し、あなたが何かを返すのではなくコンソールに印刷することを意味します。

0
Neel Sandell