web-dev-qa-db-fra.com

L'identifiant C ++ est indéfini

Je suis nouveau à C++, je ne comprends pas pourquoi je reçois cette erreur. Sur 5 déclarations similaires à 3 erreurs de marque, mais les deux autres sont correctes. L'erreur est dans la fonction principale.

    #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;

}

Cette leçon s'est concentrée sur l'utilisation de fonctions et de passer des paramètres dans le code. Je ne suis pas censé utiliser des variables globales. Si vous avez une meilleure façon de le faire, merci de partager.

2
hcas

Voici quelques erreurs/problèmes

  1. Vous avez des déclarations de fonction qui sont redondantes. Vous n'en avez besoin que si vous envisagez d'appeler la fonction avant la définition.

  2. Dans votre méthode principale, vous ne déclarez pas gallons

  3. Dans votre méthode principale, vous ne donnez pas de valeurs pour le mur et le prix.

  4. Dans vos fonctions, vous opérez via des effets secondaires, ce qui signifie que vous imprimez à la console, plutôt que de rentrer quoi que ce soit.

0
Neel Sandell