【问题标题】:what is hardcoding in c++, and how can fix this? [duplicate]什么是 C++ 中的硬编码,如何解决这个问题? [复制]
【发布时间】:2013-02-21 11:56:54
【问题描述】:

好的,所以我在我的程序上被标记为硬编码,但不确定我做错了什么,这是我的程序的一部分被“硬编码”

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);

上述语句中的硬编码是如何定义的?它怎么可能是非硬编码的?谢谢

【问题讨论】:

  • 我猜TIPTAX 是常量,而您的导师希望它们是变量。此外,您应该在重用值时将(meal_price * guests) 存储在变量中。
  • 这个问题没有什么特别的问题,但是在我的日子里,当我们被标记并且不明白为什么时,我们与教练交谈而不是上网。我想这仍然是今天最有效的方法。

标签: c++ hard-coding


【解决方案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 设置它们?
如果是这样,那可能是你的教练给你打分的地方。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-12
    • 1970-01-01
    • 2021-05-03
    • 1970-01-01
    • 2020-06-12
    • 2015-06-13
    相关资源
    最近更新 更多