How to use prompts with User Defined Functions
    9 views (last 30 days)
  
       Show older comments
    
Help!
So I have been trying to create a user defined function with a prompt as an input so I can data validate a multitude of variables with changing input prompts.
I need it to be silimar to an input function that has one output and one input. 
function [Out] = ValidInput('Prompt')
% In is the variable name i want the prompt to have but have no clue to get a value from the prompt.
    c = 0;
    while In <= 0 & c < 3
        % somehow ask again with the same prompt
        c = c+1;
    end
    if In == 0
        error('Entered value is zero. Cannot solve problem, program terminated.')
    elseif In < 0
        warning('Invalid value entered 3 times. Taking the absolute value of the entered value.')
        Out = abs(In);
    end
end
1 Comment
  Ameer Hamza
      
      
 on 6 Mar 2020
				Can you give an example of how you will call this function, and what will be the expected output after running this function?
Answers (1)
  Sahithi Metpalli
    
 on 9 Mar 2020
        Hi, 
Follow the below code
function [Out] = ValidInput(Prompt) 
% In is the variable name i want the prompt to have but have no clue to get a value from the prompt. 
In = input(Prompt) 
    c = 0; 
    while In <= 0 & c < 3 
        % somehow ask again with the same prompt 
        In = input(Prompt) 
        c = c+1; 
        disp(c); 
    end 
    if In == 0 
        error('Entered value is zero. Cannot solve problem, program terminated.') 
    elseif In < 0 
        warning('Invalid value entered 3 times. Taking the absolute value of the entered value.') 
        Out = abs(In); 
    else 
        %assigning In  to output 
        Out = In; 
    end 
end 
Call the function in the following way 
out = ValidInput("prompt") 
0 Comments
See Also
Categories
				Find more on Foundation and Custom Domains in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

