硬编码-什么是c++中的硬编码,以及如何解决这个问题

hard coding - what is hardcoding in c++, and how can fix this?

本文关键字:编码 何解决 解决 问题 什么 c++      更新时间:2023-10-16

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

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;

因为你的输出行太乱了,而且大多数(如果不是全部的话)计算都应该在输出行之外进行。

你应该第一次有机会就大胆地去问你的教练,因为他们会确切地知道他们的意思以及如何解决这个问题

我注意到TAXTIP都是大写的,这是否意味着你使用了#define来设置它们
如果是这样的话,那可能就是你的教练给你打分的地方。