0

わかりました、それで私はハードコーディングのために私のプログラムでマークされました、しかし私が何を間違えたかわからない、これは「ハードコーディングされた」私のプログラムの一部です

cout << "Tax $" << (meal_price * guests) * TAX << endl;
cout << "Tip $" << (meal_price * guests + meal_price * guests * TAX) * TIP << endl;
cout << "Total $" << (meal_price * guests) + (meal_price * guests * TAX) + (meal_price * guests + meal_price * guests * TAX) * (TIP);

上記のステートメントでハードコーディングはどのように定義されていますか?どうすればハードコーディングされないのでしょうか?ありがとう

4

1 に答える 1

1

そのセクションには「ハードコードされた」ものは何もありませんが、それがインストラクターが具体的に指摘したセクションである場合、おそらく彼らは次のようなものが欲しいという意味でした:

double total_price = meal_price * guests;
double total_tax = total_price * TAX;
double total_tip = total_price + total_tax * TIP;
double total = total_price  + total_tax  + total_tip;

std::cout << "Tax $" << total_tax  << std::endl;
std::cout << "Tip $" << total_tip  << std::endl;
std::cout << "Total $" << total  << std::endl;

出力行があまりにも雑然としているため、ほとんどの (すべてではないにしても) 計算は出力行の外で行う必要があります。

インストラクターは、彼らが何を意味し、どのようにそれを修正するかを正確に知っているので、あなたが得た最初のチャンスについて、反抗的にインストラクターに尋ねる必要があります.

TAXTIPがすべて大文字になっていることに気付きましたが、これは以前#defineに設定していたということですか?
もしそうなら、それはあなたのインストラクターがあなたをマークした場所かもしれません。

于 2013-02-21T03:56:54.587 に答える