Question: Programming Language C++ I need help, if i put 1 ft 2 inch i convert to 14 inch then multiply by 2.54 My ouput returns

Programming Language C++

I need help, if i put

1 ft 2 inch

i convert to 14 inch then multiply by 2.54

My ouput returns 0.0,

I bolded, where the changes need to happen to make this work. Not sure if i have those correct or not.

TCHAR * ConvertToCentimeters::Convert(TCHAR * szInput) { double feet = 1.0; // converted return value double inches = 0.0; double tInches; double centi;

feet = Parse(szInput); // parse user input

(tInches = (feet * 12) + inches); centi = tInches * 2.54; // copy value to output TCHAR _stprintf_s(szReturn, TEXT("%.*f"), 2, centi); // display output

return szReturn; ; }

double ConvertToCentimeters::Parse(TCHAR * szInput) { double feet = 0.0; // parsed value from user input double inches = 0.0; // parsed value from user input double tInches = 0.0; double centi = tInches; string strInput; // user input converted to string string strWork; // parsed input size_t pReturnValue; // return value for msbstows_s()

try { if (lstrlen(szInput) == 0) // don't allow 0 length input throw 0;

// convert to upper case for (int i = 0; i < lstrlen(szInput); i++) szInput[i] = _totupper(szInput[i]);

// convert TCHAR To String wstring temp(szInput); string str(temp.begin(), temp.end()); strInput = str;

// get feet int f = strInput.find("F"); // finds the letter f if (f == string::npos) // if no f in string throw badChars(); // throw expecption

strWork = strInput.substr(0, f); // grabs all chars up to letter g

// convert work to TCHAR mbstowcs_s( &pReturnValue, szReturn, 100, strWork.c_str(), 100);

// convert work string to double feet = _tstof(szReturn);

// get oz int i = strInput.find("I"); if (i != string::npos) // convert if ther is an i { while (strInput.at(f + 1) != ' ') f++;

strWork = strInput.substr(f + 1, 0 - (f + 1)); // grab chars after feet to get i

// convert work to TCHAR mbstowcs_s( &pReturnValue, szReturn, 100, strWork.c_str(), 100);

// convert work to double string inches = _tstof(szReturn); if (inches >= 12.0) throw tooManyInches(); } return centi; } catch (int) { MessageBox(NULL, TEXT("Invalid Entry"), TEXT("Exception"), NULL); return 0.00; } catch (badChars) { MessageBox(NULL, TEXT("Missing Feet or Inches Indicator"), TEXT("Exception"), NULL); return 0.00; } catch (tooManyInches) { MessageBox(NULL, TEXT("Inches must be equal to 12 or less"), TEXT("Exception"), NULL); return 0.00; } }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!