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 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

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

Più risposte (1)

Mahdiyar
Mahdiyar il 4 Apr 2015
Modificato: Mahdiyar il 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 Commenti
Mahdiyar
Mahdiyar il 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)%

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by