変数はクラス間で渡されませんか?私のループは構造化されていますか?
上記の出力に見えるようにするには、次のコードが必要ですが、このようにするのは苦労しています。何らかの理由で、私はレート変数が人口になっていないと思うし、なぜ私は分からない。また、私はボーナスを計算して適切に表示するのに苦労しています。
#include <iostream>
#include <iostream>
#include <iomanip>
#include "Chap1227.h"
using namespace std;
//function prototypes
double getBonusRate(double rate);
void columnsDashes();
void endPgm();
int main() {
double rate = 0.0;
//filling array
int salesArray[10][4] = {{2400, 3500, 2000, 2750},
{1500, 7000, 1000, 2225},
{2600, 2450, 2100, 2999},
{2790, 2240, 2500, 2885},
{2100, 2600, 2300, 3000},
{6300, 7000, 8000, 5550},
{3300, 1850, 2950, 2100},
{2700, 5500, 6000, 7200},
{4700, 4800, 4900, 5100},
{2375, 3300, 2550, 1925}};
getBonusRate(rate);
columnsDashes();
//bonus object
Bonus myBonus;
myBonus.calcAndDisplay(salesArray, rate);
endPgm();
return 0;
}
// ***** getBonusRate function description *****
//
double getBonusRate(double rate)
{
//display console title to user
cout << "JM SALES BONUS CALCULATOR\n\n";
//get bonus rate from user
cout << "Enter bonus rate in decimal form: ";
cin >> rate;
cout << "\n\n";
return rate;
}
// ***** columnsDashes function description *****
//
void columnsDashes()
{
//display column headings and dashes to user
cout << "Number Sales($) Bonus($)\n";
cout << "------ -------- --------\n";
}
// ***** endPgm function description *****
//
void endPgm()
{
//EOP message
cout << "\n\nEnd of Program.";
}
上記は、CPPであり、以下に.hファイル
実際#ifndef CHAP1227_H_
#define CHAP1227_H_
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
// ***** CLASS DEFINITION *****
class Bonus
{
public:
Bonus();
void calcAndDisplay(int salesArray[10][4], double rate);
private:
int totSales;
int grandTotSales;
double salesBonus;
double bonusGrandTot;
};
// ***** CLASS IMPLEMENTATION *****
//default constructor
Bonus::Bonus()
{
totSales = 0;
grandTotSales = 0;
salesBonus = 0.0;
bonusGrandTot = 0.0;
}
//calcAndDisplay function
//
void Bonus::calcAndDisplay(int salesArray[10][4], double rate)
{
for (int row = 0; row < 10; row += 1)
{
cout << row << " ";
for (int column = 0; column < 4; column += 1)
{
totSales += salesArray[row][column];
salesBonus = totSales * rate;
bonusGrandTot += salesBonus;
}
cout << totSales << "\n";
grandTotSales += totSales;
totSales = 0;
}
cout << setprecision(2);
cout << salesBonus;
cout << grandTotSales << " " << bonusGrandTot;
}
#endif /* CHAP1227_H_ */
参照値渡し、バイ参照渡し、結果として戻り引数を取得する方法機能。 – LutzL