Posted by: thapap November 21, 2006
C Programing question
Login in to Rate this Post:     0       ?        
TD, here is the answer to your question (O: you need to start writing better code. create some function taking arguments thus you do not have to handle those double print statements. also check the logic. you cannot double charge the customer (O: #include using namespace std; const double rServiceCost = 10.00; const double rPerMinuteCharge = .20; const double pServiceCost = 25.00; const double pDayPerMinuteCharge = .10; const double pNightPerMinuteCharge = .05; void display_info ( int accountNumber, char serviceCode, int minutes, double amountDue ) ; int main() { int minutes; int dayMinutes; int nightMinutes; char serviceCode; int accountNumber; double amountDue; double nightTimeDue, dayTimeDue; cout << "Enter an account number: "; cin >> accountNumber; cout << endl; cout << "Enter a service code: R or r (regular), P or p (premium): "; cin >> serviceCode; cout << endl; switch (serviceCode) { case 'r': case 'R': cout << "Enter the number of minutes used: "; cin >> minutes; cout << endl; if (minutes <= 50) { amountDue = rServiceCost; } else { amountDue = rServiceCost + ((minutes - 50) * rPerMinuteCharge); } display_info ( accountNumber, serviceCode, minutes, amountDue); break; case 'p': case 'P': cout << "Enter the number of day minutes used: "; cin >> dayMinutes; cout << endl; cout << "Enter the number of night minutes used: "; cin >> nightMinutes; cout << endl; if (dayMinutes <= 75) { dayTimeDue = 0.00; } else { dayTimeDue = ((dayMinutes - 75) * pDayPerMinuteCharge); } if (nightMinutes <= 100) { nightTimeDue = 0; } else { nightTimeDue = ((nightMinutes - 100) * pNightPerMinuteCharge); } //since you have nightTime and dayTime you cannot charge twice "pServiceCost // thus { amountDue = dayTimeDue + nightTimeDue + pServiceCost; minutes = dayMinutes + nightMinutes ; } display_info ( accountNumber, serviceCode, minutes, amountDue); break; default: cout << "Invalid service code" << endl; } return 0; } void display_info ( int accountNumber, char serviceCode, int minutes, double amountDue ) { cout << "Account number = " << accountNumber << endl; cout << "Type of service: " << serviceCode << endl; cout << "Number of minutes used: " << minutes << endl; cout << "Amount Due = $" << amountDue << endl; }
Read Full Discussion Thread for this article