How to change the case to a string so when I run the script the the string instead of the case number is shown?

2 Ansichten (letzte 30 Tage)
m=menu('select shape:', 'triangle','square','pentagon','hexagon','heptagon','octagon')
switch m
case 1
n=3
angle=(n-2)*180
case 2
n=4
angle=(n-2)*180
case 3
n=5
angle=(n-2)*180
case 4
n=6
angle=(n-2)*180
case 5
n=7
angle=(n-2)*180
case 6
n=8
angle=(n-2)*180
end
fprintf('A %-5.2f has %-5.2f sides and %-5.2f degrees\n',m,n,angle)
>> Untitled
m =
1
n =
3
angle =
180
A 1.00 has 3.00 sides and 180.00 degrees

Akzeptierte Antwort

Star Strider
Star Strider am 4 Apr. 2015
I believe you want:
fprintf('A %s has %d sides and %-5.2f degrees\n',m,n,angle)

Weitere Antworten (1)

Mahdiyar
Mahdiyar am 4 Apr. 2015
Bearbeitet: Mahdiyar am 4 Apr. 2015
Hi Frank_m
Use the following code
clc
clear
m=menu('select shape:', 'triangle','square','pentagon','hexagon','heptagon','octagon');
switch m
case 1
m = 'triangle'
s = 1;
n=3
angle=(n-2)*180
case 2
m = 'square'
s = 2;
n=4
angle=(n-2)*180
case 3
m = 'pentagon'
s = 3;
n=5
angle=(n-2)*180
case 4
m = 'hexagon'
s = 4;
n=6
angle=(n-2)*180
case 5
m = 'heptagon'
s = 5;
n=7
angle=(n-2)*180
case 6
m = 'octagon'
s = 6;
n=8
angle=(n-2)*180
end
fprintf('A %-5.2f has %-5.2f sides and %-5.2f degrees\n',s,n,angle)
Regards
  4 Kommentare
Mahdiyar
Mahdiyar am 4 Apr. 2015
Change the last line to the following line
fprintf('A %s has %-5.2f sides and %-5.2f degrees\n',m,n,angle)%

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Powertrain Blockset finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by