How to make an if condition where strings are involved?
2 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
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!