在C++中硬编码是什么,以及如何解决这个问题?
问题描述:
确定,所以我得到了我的硬编码程序标记过,但不知道我做错了什么,这是我的计划,是“硬编码”在C++中硬编码是什么,以及如何解决这个问题?
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);
如何在上面的语句硬编码定义的一部分?它怎么能不被硬编码?感谢
答
我没有看到任何在这一节中“硬编码”,但如果这是你的老师特别指出的部分,那么他们很可能意味着他们想要的东西,如:
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;
因为你的输出线过于混乱,大部分(如果不是全部)计算应该在输出线之外完成。
你应该挑衅地询问你的导师,这是你得到的第一个机会,因为他们将确切知道他们的意思以及如何解决它。
我注意到TAX
和TIP
都是大写,这是否意味着您使用#define
来设置它们?
如果这样可能会导致您的教练标记为失败。
我猜'TIP'和'TAX'是常数,而你的老师期望他们是变量。此外,您应该将'(meal_price * guests)'存储在一个变量中,因为您正在重用该值。 – asheeshr 2013-02-21 03:46:16
特别是这个问题没什么不对,但是在我的日子里,当我们被标记下来并且不明白为什么时,我们与导师而不是互联网交谈。我可以想象,这仍然是今天最有效的方法。 – us2012 2013-02-21 03:50:50