0

キャッシュ レジスタ プログラムを再作成しようとしています。名前と割引率を持つ従業員オブジェクトがあります

staffMember me ("tom", 20);

レジの合計金額に割引を適用したい。このように me.getDiscountPercent を使用して割引を整数パラメーターとして渡すと、私の方法は機能します

cashy.applyStaffDiscount(me.getDiscountPercent());

void cashRegister::applyStaffDiscount(int discount){
    total = (total/100)*(100-discount);
}

ただし、staffMember の名前を変更したいので、さまざまな割引でさまざまな staffMembers を使用できます。私はこれをやったがうまくいかない

string employee;
cout << "Enter name: ";
cin >> employee;
cashy.applyStaffDiscount(employee);

メソッド:

void cashRegister::applyStaffDiscount(string employee){
total = (total/100)*(100-employee.getDiscountPercent());
}

ありがとうトム

4

2 に答える 2

2

パラメータemployeestd::stringではなくstaffMemberです。applyStaffDiscount 関数では、文字列ではなく従業員を渡す必要があります。

string employee_name;
int employee_discount;
cout << "Enter employee data: ";
cin >> employee_name;
cin >> employee_discount;

staffMember employee( employee_name , employee_discount); //Staff variable

cashy.applyStaffDiscount(employee);

/* ... */

void cashRegister::applyStaffDiscount(const staffMember& employee)
{
    total = (total/100)*(100-employee.getDiscountPercent());
}
于 2013-08-01T10:43:13.190 に答える