1

私のプログラムは、顧客がカーペットを敷設するために 1 ヤードあたり 5 ドルで交換するための費用、さまざまなパディング オプション、カーペットの費用、およびすべてを最も近いヤードに切り上げた合計を計算する必要があります。パディングのコストは以下に基づいています。

  1. 良い - 1 ヤードあたり 3 ドル - 1 ~ 3 年間の保証
  2. より良い - 1 ヤードあたり 4 ドル 3 ~ 5 年間の保証
  3. ベスト - 1 ヤードあたり 5 ドル - 5 ~ 10 年間の保証
  4. 優れた - 1 ヤードあたり 7 ドル 10 ~ 20 年間の保証

手術:

  1. ユーザーに部屋数を要求 各部屋について:
  2. 各部屋数の幅よりもプロンプトの長さ
  3. 平方フィートを計算する 平方フィートを平方ヤードに変換し、切り上げる b. 平方ヤード = 部屋に必要なヤード c. 設置費用を平方ヤードで計算 *$5
  4. パディングの選択をユーザーに促します。a. 部屋の平方ヤードでパディングコストを掛けます
  5. 部屋の 1 平方ヤードあたりのカーペット敷き料金をユーザーに尋ねます。入力に必要な平方ヤードを掛けてコストを計算します
  6. 必要なアウトプット合計ヤード
  7. アウトプット 設置費用
  8. 出力パディング コスト
  9. 出力カーペットのコスト
  10. アウトプット総費用=+施工+パディング+カーペット
  11. 総計=各部屋の費用

** * ** * ** * ** * ** * *** /

これまでに 5 つの問題があります。

  1. 整数パディングの選択を品質のコストに変換する方法
  2. フロアループは部屋間で壊れません
  3. 部屋番号を表示すると0から始まります
  4. ドルを小数点以下 2 桁まで表示するにはどうすればよいですか?
  5. 総計を取得するために、各部屋の合計を double として格納するにはどうすればよいですか?

    #include <iostream>
    #include <iomanip>
    #include <string>
    #include <conio.h>
    #include <string>
    
    using namespace std;
    
    const float INSTALL_COST = 5;
    const float GOOD_PAD = 3;
    const float BETR_PAD = 4;
    const float BEST_PAD = 5;
    const float EXC_PAD = 7;
    const double SQU_FT_YD = 9;
    
    int main () 
    
    {
    
    int padding, rooms, numreq, squareYards;
    double length, width, squareFeet,priceSquareYard;
    double paddingCost, installFee, totalCost, carpetCost;
    
    //step 1:
    
    cout << "Enter number of rooms: ";
    cin >> numreq;
    cout << endl;
    
    //Step 2
    cout << "Enter length of room: ";
    cin >> length;
    cout << endl;
    cout << "Enter width of room: ";
    cin >> width; 
    cout << endl; 
    
    //step 3
    
    cout << "Select quality of padding:<1-4> ";
    cout << "\n1. Good - $3 per yard  - 1-3 year warranty \n2. Better - $4 per yard 3-5 year warranty \n3. Best- $5 per yard -  5-10 year warranty \n4. Excellent - $7 per yard 10-20 year warranty: ";
    cin >> padding;
    cout << "Enter price of carpeting per square yard of room: ";
    cin >> priceSquareYard;
    //step3
    
    for(int x = 0; x < numreq; x++)
    {   
    squareFeet = length * width; 
        squareYards = ((squareFeet / SQU_FT_YD) + 0.5);
        if (squareYards > 0)
            squareYards++;
        installFee = squareYards * INSTALL_COST;
        carpetCost = priceSquareYard * squareYards;
        paddingCost = squareYards * padding;
        totalCost = carpetCost + installFee + paddingCost;
        cout << "\n Room " << x << " Yards Required = " << squareYards;
        cout << "\n Room " << x << " Installation = $"  <<installFee;
        cout << "\n Room " << x << " Padding Cost = $" << paddingCost;
        cout << "\n Room " << x << " Carpet Cost = $" << carpetCost;
        cout << "\n Room " << x << " Total Cost = $" << totalCost; 
    }
    
    
    _getch();
    return 0;
    

    }

4

1 に答える 1

0

ループ内で合計を取得するには、変数をループの外に格納し、0 から開始し、必要に応じてループ内で値を増やします。

break;そして、ループから完全に抜け出すために使用できます。また、これが必要な場合はcontinue;、現在の反復を停止して、for ループの次の反復に直接ジャンプできます。

番号 4 については、これを確認してください: NumberFormat/DecimalFormat は、特定の浮動小数点値を double ではなく long として扱います。

于 2013-11-07T04:01:40.497 に答える