Clear Filters
Clear Filters

Write a script that will convert each numeric value in the vector days into a string named daysOfWeek with the day names separated by a comma and a space.

3 views (last 30 days)
So far I have:
clc,clear
day=input('Enter date of the month ');
if any(day==[3 10 17 24])
dayName = 'Monday' ;
elseif any(day==[4 11 18 25])
dayName = 'Tuesday' ;
elseif any(day==[5 12 19 26])
dayName = 'Wednesday' ;
elseif any(day==[6 13 20 27])
dayName = 'Thursday' ;
elseif any(day==[7 14 21 28])
dayName = 'Friday' ;
elseif any(day==[1 8 15 22 29])
dayName = 'Saturday';
elseif any(day==[2 9 16 23 30])
dayName = 'Sunday';
end
disp(dayName)
However, I am unable to get multiple values to work at once. Any help would be greatly appreciated!

Accepted Answer

Image Analyst
Image Analyst on 21 Nov 2014
Close, but use a switch statement instead of an if. And use sscanf to get the numbers into a numerical array and use a for loop to process each of the numbers in the list:
clc;
clear;
userInput = input('Enter date of the month (separated by spaces) ', 's')
days = sscanf(userInput, '%f')
for k = 1 : length(days)
switch days(k)
case {3, 10, 17, 24}
dayName = 'Monday' ;
case {4, 11, 18, 25}
dayName = 'Tuesday' ;
case {5, 12, 19, 26}
dayName = 'Wednesday' ;
case {6, 13, 20, 27}
dayName = 'Thursday' ;
case {7, 14, 21, 28}
dayName = 'Friday' ;
case {1, 8, 15, 22, 29}
dayName = 'Saturday';
case {2, 9, 16, 23, 30}
dayName = 'Sunday';
otherwise
dayName = 'Unknown';
end
fprintf('The day of the week for #%d is %s.\n', days(k), dayName);
end

More Answers (0)

Categories

Find more on Data Type Identification 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!