簡體   English   中英

C ++程序不讀取公式

[英]C++ Program not reading formulas

我一直在從事的程序應該輸出以下內容:*所需的油漆加侖數*所需的工時*油漆的成本*人工費用*油漆工作的總成本每個字段都為0。我現在做錯了什么? 您的幫助將不勝感激。

這是我的代碼:

//Headers
#include <iostream>
#include <fstream>
#include <cmath>
#include <cstdlib>
#include <iomanip>

using namespace std;

void PaintJobEstimator(double gallonprice, double calc)
{
    float numBucket=0;
    float hours=0;
    float bucketCost=0;
    float laborCharges=0;
    float totalCost=0;
    //calculates number of buckets of paint (gallons) needed
    numBucket=numBucket+calc*(1/115);
    //calculates paint cost
    bucketCost=bucketCost+gallonprice*numBucket;
    //calculates labor hour
    hours=hours+calc*(8/115);
    //calculates labor charges
    laborCharges=hours*18;
    //calculates total cost
    totalCost=totalCost+bucketCost+laborCharges;
    //Console output
    cout << "The number of Gallons of paint required:\t" << setprecision(2) << numBucket << endl;
    cout << "The hours of labor required:\t" << setprecision(2) << hours << " hrs" << endl;
    cout << "The labor charges:\t$" << setprecision(2) << laborCharges << endl;
    cout << "The cost of the paint:\t$" << setprecision(2) << bucketCost << endl;
    cout << "The total cost of the paint job:\t$" << setprecision(2) << totalCost << endl;
}

void main ()
{
    int rooms;
    double calc=0;
    double wallspace;
    double gallonprice;
    cout << "=========================================================\n";
    cout << "___________________Paint Job Estimator___________________\n";
    cout << "_________________________________________________________\n";
    cout << endl;
    cout << "Enter the number of rooms: ";
    cin >> rooms;
    while (rooms<1) //validates rooms
    {
        cout << "Invalid entry, enter one or more rooms:\t";
        cin >> rooms;
    }
    for (int roomNum=1;
        roomNum<=rooms;
        roomNum++)
    {
        cout << "Enter the wall space in square meters for room " << roomNum << ":\t" << endl;
        cin >> wallspace;
        while (wallspace < 0.01)//validates wallspace
        {
            cout << "Invalid entry, please re-enter the wall area for room " << roomNum << ":\t";
            cin >> wallspace;
        }
        calc=calc+wallspace;
    }//end loop
    cout << "\nEnter price of the paint per gallon: ";
    cin >> gallonprice;
    if (gallonprice <10) //validates price per gallon
    {
        cout << "Invalid entry, Reenter price at a $10.00 minimum: ";
        cin >> gallonprice;
    }
    PaintJobEstimator(gallonprice,wallspace);
    system ("pause");
}

這是控制台的屏幕截圖: 在此處輸入圖片說明

在某些計算中,您要乘以零。 例如,在下面的代碼行中:

numBucket=numBucket+calc*(1/115);

您將1/115放在括號中,由於整數除法,該括號的值為零。 為了達到預期的效果,請嘗試:

numBucket = calc / 115.0f;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM