1: //ftemp_to_ctemp2.cpp 2: //Converts a Fahrenheit temperatures to Celsius. 4: #include <iostream> 5: using namespace std; 7: int CelsiusTemp(double fahrenheit); 10: int main() 11: { 12: cout << "\nThis program converts a Fahrenheit temperature to " 13: "an equivalent Celsius value.\nBoth values are reported in " 14: "rounded form.\n\n"; 16: double fTemp; 17: cout << "Enter your Fahrenheit value here: "; 18: cin >> fTemp; cin.ignore(80, '\n'); 20: //Round the Fahrenheit temperature to the nearest integer 21: if (fTemp >= 0) 22: fTemp = int(fTemp + 0.5); 23: else 24: fTemp = int(fTemp - 0.5); 26: cout << "\nFahrenheit Temperature: " << fTemp 27: << "\nEquivalent Celsius Value: " << CelsiusTemp(fTemp); 28: cout << endl << endl; 29: } 32: int CelsiusTemp(/* in */ double fahrTemp) 33: //Pre: "fahrTemp" contains a valid Fahrenheit temperature, 34: // which may be an integer or real quantity 35: //Post: Return-value of the function is the equivalent Celsius value, 36: // rounded to the nearest integer 37: { 38: const double C_DEGREE_PER_F_DEGREE = double(5) / double(9); 40: double cTemp = (fahrTemp - 32) * C_DEGREE_PER_F_DEGREE; 42: if (cTemp >= 0) 43: return int(cTemp + 0.5); 44: else 45: return int(cTemp - 0.5); 46: }