2013-02-21 6 views
0

нормально, так что я получил отмечен на моей программе для жесткого кодирования, но не уверен, что я сделал не так, здесь является частью моей программы, которая была «жёстко»Что такое hardcoding в 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); 

как жестко прописывать определено в приведенных выше утверждениях ? как он может быть не жестко закодирован? благодаря

+0

Я предполагаю, что 'TIP' и' TAX' являются константами, тогда как ваш инструктор ожидает, что они будут переменными. Кроме того, вы должны хранить '(meal_price * гости)' в переменной при повторном использовании значения. – asheeshr

+11

Ничего плохого в этом вопросе, в частности, но в свое время, когда мы получили заметную информацию и не понимали, почему, мы разговаривали с инструктором, а не с интернетом. Я бы предположил, что сегодня это самый эффективный метод. – us2012

ответ

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; 

Поскольку ваши выходные линии слишком захламлены, и большинство (если не все) вычислений должны выполняться вне линий вывода.

Вы должны демонстративно просить своего инструктора об этом первом шансе, который вы получите, поскольку они точно будут знать, что они имели в виду и как его исправить.

Я заметил, что TAX и TIP все прописные буквы, означает ли это, что вы использовали #define, чтобы установить их?
Если это возможно, где ваш инструктор отметил вас.