Inputting Units

10 views (last 30 days)
Kevin
Kevin on 12 Feb 2012
I have a user inputting different units for temperature. However, I only want the program to be able to accept Capital letters, so if they put a lowercase, it would tell them to input it again. What would be the code for this? I have something like this right now. The while part needs fixing.
Unit = input('Enter the units of the inputted temperature:','s'); while Unit == c Unit == k Unit == f Unit == r Unit = input('Please enter the unit with a Capital Letter:','s'); end

Accepted Answer

Image Analyst
Image Analyst on 12 Feb 2012
That's not user friendly. It would be very annoying to your users and I recommend you DON'T DO THAT, especially since it's not necessary at all. Just convert what they input to upper case with the upper() function, like this:
% Set up the dialog box parameters
prompt = {'Enter temperature:','Enter the temperature scale:'};
dialogTitle = 'Enter parameters';
numberOfLines = 1;
defaultAnswers = {'100','C'};
userResponse = inputdlg(prompt, dialogTitle, numberOfLines, defaultAnswers);
% Extract out individual variables from the user response.
temperature = str2double(userResponse{1})
% Convert to upper case.
EoSI = upper(userResponse{2})
  4 Comments
Image Analyst
Image Analyst on 12 Feb 2012
Possibly a better option is to use menu() to allow them to pick ONLY one of the allowed options.
Kevin
Kevin on 12 Feb 2012
I got the idea of using the if/elseif/else block but I'm just unsure of how to actually go about it

Sign in to comment.

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!