ASCII coding to get corresponding character
    11 views (last 30 days)
  
       Show older comments
    
I wrote this code so far, and I am getting the corresponding characters, except I get them all from 32 through 126, no matter what number I type in. Essentially I want to be able to type in a number between 32:126 and get only that numbers character. I want it to be if the code is less than 32 or more than 126 (aka out of that range) the user gets a "?" as an answer. And then the code answers "Bye!" when the -1 is inputed, since it is used to quit. Could I have some help adjusting this code to do that. Thank you!
character=input ('Enter ASCII code(s) or -1 to quit', 's')
n=32:126; %ASCII codes
for i=1:length(n)
    fprintf('%c=%3d\n',n(i),n(i));
    if input<32
        output=?
        if input>126 
            output=?
            if input=-1
                output='Bye!'
            end
        end
    end
end
0 Comments
Answers (1)
  Adam Danz
    
      
 on 19 Mar 2020
        
      Edited: Adam Danz
    
      
 on 19 Mar 2020
  
      input is a scalar, integer value (not to be confused with the input() function).
if input < 32 || input > 126
    output = '?'; 
elseif input == -1
    output = 'Bye!'; 
else
    output = char(input); 
end
16 Comments
  Walter Roberson
      
      
 on 19 Mar 2020
				clear input
You have a left-over variable named input
See Also
Categories
				Find more on Matrix Indexing 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!




