首页 > 解决方案 > 使用函数的 C++ 程序

问题描述

我正在为我的 C++ 类编写一个程序,我已经完成了该程序。但它不会编译。我是编程新手,所以我真的不知道我做错了什么。如果这里有人可以为我指明正确的方向。请帮我!

提示描述: 编写一个 C++ 程序来计算住宅和商业客户的地毯和家具清洁的免费估价。程序继续执行,直到到达文件末尾。

对于住宅客户,指定并更新小沙发(每张 50 美元)、大沙发(每张 80 美元)、房间(每张 70 美元)和台阶(每张 5 美元)的数量,直到选择退出。账单是根据物品数量计算的。如果金额超过 500 美元,则对账单应用 10% 的折扣。然后,客户可以从 1、2、3 或 4 的分期付款中进行选择,或者按 0 退出。基于分期付款选项,账单会略有增加enter code here,并计算每笔分期付款金额。

对于商业客户,要求用户输入平方英尺的数量,然后按每平方英尺 0.45 计算账单。

这是代码:

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


int exit = 0;
int smallcouches = 1;
int largecouches = 2;
int rooms = 3;
int steps = 4;

const float SMALL_COUCH = 50.0;
const float LARGE_COUCH = 80.0;
const float ROOMS = 70.0;
const float STEPS = 5.00;
const float PER_SQUARE_FOOT = 0.45f;
const float DISCOUNT_QUALIFIED = 500.0;
const float DISCOUNT = 0.10f;
const int ONE = 1;
const int TWO = 2;
const int THREE = 3;
const int FOUR = 4;
const float RATEONE = 0.0f;
const float RATETWO = 0.0535f;
const float RATETHREE = 0.055f;
const float RATEFOUR = 0.0575f;

float billAmount;

float ResidentialEstimate(float SMALL_COUCH, float LARGE_COUCH, float ROOMS, float STEPS, float DISCOUNT_QUALIFIED);
void GetResidentialItems(int& smallcouches, int& largecouches, int& rooms, int& steps);
void InstallmentPlan(float billAmount);
void BusinessEstimate(float PER_SQUARE_FOOT);

int main()
{
    cout << fixed << showpoint << setprecision(2);
    int customerType, residential_customer, business_customer;
    char B, b, R, r; 
    residential_customer = R || r; 
    business_customer = B || b; 

    cout << "Enter customer type: R, r (Residential) or B, b (Business): "; 
    cin >> customerType; //Enter customer type 
    cout << endl; 

    while (cin) //While there is input to read 
    {
        if (customerType == R || customerType == r) //if residential customer 
        {
            ResidentialEstimate(SMALL_COUCH, LARGE_COUCH, ROOMS, STEPS, DISCOUNT_QUALIFIED); // call function ResidentialEstimate 
            InstallmentPlan(billAmount); // all function Installmentplan 
        }
        else if (customerType == B || customerType == b) //else if business customer 
        {
            BusinessEstimate(PER_SQUARE_FOOT); //call function BusinessEstimate 
        }

        cout << "Enter customer type: R, r (Residential) or B, b (Business): ";
        cin >> customerType; // Enter cutomer type 
        cout << endl;
    }

    return 0;
}

float ResidentialEstimate(float SMALL_COUCH, float LARGE_COUCH, float ROOMS, float STEPS, float DISCOUNT_QUALIFIED)
{
    GetResidentialItems(smallcouches, largecouches, rooms, steps); //Call function GetResidentialItems to get items to clean
    billAmount = (SMALL_COUCH + LARGE_COUCH + ROOMS + STEPS); //Calculate the bill amount 
    if (billAmount > 500) //if bill amount is more than 500 dollars 
    {
        DISCOUNT_QUALIFIED = billAmount * 0.10f; 
        billAmount = billAmount - DISCOUNT_QUALIFIED; //Apply a discount of 10% to the bill amount
    }
    return billAmount; //return bill Amount 
}

void GetResidentialItems(int& smallcouches, int& largecouches, int& rooms, int& steps)
{
    int count; 
    int choice = smallcouches || largecouches || rooms || steps; 
    //Ask user to select an item to update or press 0 to exit
    cout << "0. Exit, 1. Small Couches, 2. Large Couches, 3. Rooms, 4. Steps " << endl;
    cout << "Enter one of the above choices: ";
    cin >> choice; 
    cout << endl; 
    while (choice > 0)  //while user hasn't pressed 0
    {
        choice = count;
        cout << "Please enter the number of " << choice; //ask the user to enter a number from the item selected
        cin >> count;
        cout << endl;
        //Show the current selections and numbers 
        cout << "Current selections: " << count << " Small Couches, " << count << " Large Couches, " << count << " Rooms, " << count << " Steps.";
        //Ask user to select an item to update or press 0 to exit 

        choice = 0;
        count = 0; 

        cout << "0. Exit, 1. Small Couches, 2. Large Couches, 3. Rooms, 4. Steps " << endl;
        cout << "Enter one of the above choices: ";
        cin >> choice;
        cout << endl;
    }
}

void InstallmentPlan(float billAmount)
{
    int num; 
    int installment = 0; 
    int bill = 0; 
    //Ask user to select number of installments or 0 to exit 
    cout << "Please enter the desired number of instalments (1, 2, 3, or 4) or 0 to exit : ";
    cin >> num;
    cout << endl;
    while (num > 0) //while user hasn't pressed 0 
    {
        //calculate the installments
        if (num == 1)
            installment = billAmount;
        else if (num == 2)
        {
            bill = billAmount * 0.0535f;
            installment = bill / num;
        }
        else if (num == 3)
        {
            bill = billAmount * 0.055f;
            installment = bill / num;
        }
        else if (num == 4)
        {
            bill = billAmount * 0.0575f;
            installment = bill / num;
        }

        cout << "With " << num << " installment your bill of " << billAmount << " will be worth " << bill << "." << endl;
        cout << "Each installment will be worth " << installment << endl;

        //Ask user to select number of installments or 0 to exit 
        cout << "Please enter the desired number of instalments (1, 2, 3, or 4) or 0 to exit : ";
        cin >> num;
        cout << endl;
    }
}

void BusinessEstimate(float squarefootage)
{
    //Ask user for the square footage
    cout << " Enter the approximate square footage: ";
    cin >> squarefootage; 
    cout << endl; 
    //Calculate the bill amount 
    billAmount = squarefootage * PER_SQUARE_FOOT; 
    cout << "Your free Business Customer Estimate for " << squarefootage << "square footage = " << billAmount; 
}

标签: c++

解决方案


推荐阅读