It says : Not a valid input. You must enter freshman, sophomore, junior, or senior. How can i fix it ?

1 view (last 30 days)
studentsYear = menu('Chose your year in school','freshman','sophomore','junior','senior');
switch(studentsYear)
case 'freshman'
final_day = 'Monday';
case 'sophomore'
final_day = 'Tuesday';
case 'junior'
final_day = 'Wednesday';
case 'senior'
final_day = 'Thursday';
otherwise
fprintf('Not a valid input.\nYou must enter freshman, sophomore, junior, or senior.\n');
final_day=0;
end
if ischar(final_day)
fprintf('Your final will be given on %s.\n', final_day);
end

Answers (1)

YT
YT on 22 Oct 2018
Your variable studentsYear returns a value 1, 2, 3 or 4 as defined by the order in your menu. So you should use the integers 1, 2, 3 and 4:
studentsYear = menu('Chose your year in school','freshman','sophomore','junior','senior');
switch(studentsYear)
case 1 %freshman
final_day = 'Monday';
case 2 %sophomore
final_day = 'Tuesday';
case 3 %junior
final_day = 'Wednesday';
case 4 %senior
final_day = 'Thursday';
otherwise
fprintf('Not a valid input.\nYou must enter freshman, sophomore, junior, or senior.\n');
final_day=0;
end
if ischar(final_day)
fprintf('Your final will be given on %s.\n', final_day);
end
  2 Comments
Brain Adams
Brain Adams on 22 Oct 2018
Firstly, thank you so much. I have one question. Should i write the integers when i am using the menu? It is necessary because i am using menu, right?
YT
YT on 22 Oct 2018
I'm not sure if I understand your question, but you can leave the menu as it is now. You do not need to change the menu names into integer values in order for it to work.

Sign in to comment.

Categories

Find more on Performance and Memory 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!