Azzera filtri
Azzera filtri

How am I gonna do if I just want this to show me only Decoy message: Invalid rescue day . And the changes will not affect other codes?

3 visualizzazioni (ultimi 30 giorni)
clc;clear
C1 = input('Please enter a code to break: ' , 's');
if length(C1) ~= 6
disp('Decoy message: Not a six-digit number.');
else
A = mod(sum(C1 - '0'),2);
if A == 1
disp('Decoy message: Sum is odd.')
else
C2 = (C1(1) - '0') * (C1(2) - '0') - (C1(3) - '0');
switch C2
case 1
Day = 'Rescue on Monday';
case 2
Day = 'Rescue on Tuesday';
case 3
Day = 'Rescue on Wednesday';
case 4
Day = 'Rescue on Thursday';
case 5
Day = 'Rescue on Friday';
case 6
Day = 'Rescue on Saturday';
case 7
Day = 'Rescue on Sunday';
otherwise
disp('Decoy message: Invalid rescue day.');
end
F1 = str2double(C1(4));
F2 = str2double(C1(5));
F3 = str2double(C1(6));
if mod(F1,3) == 0
B = F2 - F3;
else
B = F3 - F2;
end
switch(B)
case 1
Position = ' at the bridge.';
case 2
Position = ' at the library.';
case 3
Position = ' at the river crossing.';
case 4
Position = ' at the airport.';
case 5
Position = ' at the bus terminal.';
case 6
Position = ' at the hospital.';
case 7
Position = ' at St. Petes Church.';
otherwise
disp('Decoy message: Invalid rendezvous point.');
end
disp([Day , Position])
end
end
When I enter 397090, I will get both:
Decoy message: Invalid rescue day.
Decoy message: Invalid rendezvous point.
and some other error messages:
Unrecognized function or variable 'Day'.
Error in Untitled5 (line 69)
disp([Day , Position])
How am I gonna do if I just want this to show me only Decoy message: Invalid rescue day . And the changes will not affect other codes?

Risposta accettata

Walter Roberson
Walter Roberson il 25 Set 2020
Before
switch C2
insert
failed = false;
After
disp('Decoy message: Invalid rescue day.');
insert
failed = true;
Put the
switch(B)
inside
if ~failed
  9 Commenti
Minhao Wang
Minhao Wang il 25 Set 2020
I tired
otherwise
disp('Decoy message: Invalid rendezvous point.');
disp([Day , Position])
end
or
otherwise
Position: 'Decoy message: Invalid rendezvous point.';
disp([Day , Position])
end
or with the
disp([Day , Position]) after end
It just does not work, what I want is if I enter 918990, I only want it shows me
Decoy message: Invalid rendezvous point.
with no error messages showed up.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by