Clear Filters
Clear Filters

Is there a way to get the switch and case function to be part of the overall formula?

6 views (last 30 days)
I'm trying to create this code that when you choose triangle it will choose n=3 that then will be able to be included in the interior angles sum formula. is that possible? this is for school it's for the question below;
(n−2)(180 degrees)where n is the number of sides.
Write a program that prompts the user to enter one of the following triangle
square
pentagon
hexagon
Use the input to define the value of n via a switch/case structure; then use n to calculate the sum of the interior angles in the figure.
This is the code I have
clear, clc
shapes = input('Choose one', 'Triangle', 'Square', 'Pentagon', 'Hexagon')
switch shapes
case 3
Triangle = 3
n = Triangle
sum = (n-2)*(180)
table = [n; sum]
fprintf('n = %g sum of all interior angles is %g degrees \n', table)
case 4
n = 4
sum = (n-2)*(180)
table = [n; sum]
fprintf('n = %g sum of all interior angles is %g degrees \n', table)
case 5
n = 5
sum = (n-2)*(180)
table = [n; sum]
fprintf('n = %g sum of all interior angles is %g degrees \n', table)
case 6
n = 6
sum = (n-2)*(180)
table = [n; sum]
fprintf('n = %g sum of all interior angles is %g degrees \n', table)
end

Accepted Answer

Stephen23
Stephen23 on 15 Oct 2018
Edited: Stephen23 on 15 Oct 2018
It is a good start, but you should:
  • read the help for each function that you use, then you would learn than input does not accept multiple inputs.
  • you would also learn that the function input does not return an index, as you have used in your code.
  • move the lines sum = ..., table = ... and fprintf... to after the switch (after all, that is the whole point of using that formula!).
  • avoid using the variable names sum and table, which are names of important inbuilt functions.
I simplified your code: made input return a simple char vector, provided the correct input to switch, and moved the calculation to after the switch:
shape = input('Choose one of Triangle, Square, Pentagon, or Hexagon: ','s')
switch lower(shape)
case 'triangle'
n = 3;
case 'square'
n = 4;
case 'pentagon'
n = 5;
case 'hexagon'
n = 6;
end
fprintf('n = %g sum of all interior angles is %g degrees \n',n,(n-2)*(180))
Note that this actually follows the guidelines that you were given: "Use the input to define the value of n via a switch/case structure; then use n to calculate the sum of the interior angles in the figure."
  1 Comment
Christian Jaramillo
Christian Jaramillo on 15 Oct 2018
Thank you so much for your help with this. It makes a lot more sense the way you wrote the code, and thanks for the advice!!

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!