How to make an if condition where strings are involved?
5 views (last 30 days)
Show older comments
Roxanne Esguerra
on 5 Jul 2020
Commented: Roxanne Esguerra
on 5 Jul 2020
Hi, so this is my code,
alphabet = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
letter = input('Enter a letter: ','s');
count = 0;
while any(strcmp(alphabet,letter));
count = count + 1;
fprintf('Thanks, you enter a %s\n',letter);
letter = input('Enter a letter: ','s');
if letter~=alphabet
fprintf('%d is not a letter\n',letter)
end
end
fprintf('You entered %d letters\n',count);
I need to show that when a nonletter is entered, for example 3, the output will be 3 is not a letter.
I get this error regarding the if condition,
Enter a letter: d
Thanks, you enter a d
Enter a letter: f
Undefined operator '~=' for input arguments of type 'cell'.
Error in printloveletters (line 16)
if letter~=alphabet
What should I put as the if condition to make it work?
Thanks!
0 Comments
Accepted Answer
madhan ravi
on 5 Jul 2020
Edited: madhan ravi
on 5 Jul 2020
if ~ismember(letter, alphabet)
fprintf('%s is not a letter\n', letter)
end
More Answers (2)
Sumeet Singh
on 5 Jul 2020
if ~ismember(letter,alphabet)
fprintf('%d is not a letter\n',letter)
end
You can't use operator '~=' for operands of type cell (alphabet, a cell array in your case).
See Also
Categories
Find more on Characters and Strings 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!