# 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?

2 ビュー (過去 30 日間)
Minhao Wang 2020 年 9 月 25 日
コメント済み: Minhao Wang 2020 年 9 月 25 日
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?

サインインしてコメントする。

### 採用された回答

Walter Roberson 2020 年 9 月 25 日
Before
switch C2
insert
failed = false;
After
disp('Decoy message: Invalid rescue day.');
insert
failed = true;
Put the
switch(B)
inside
if ~failed
##### 9 件のコメント7 件の古いコメントを表示7 件の古いコメントを非表示
Minhao Wang 2020 年 9 月 25 日
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.
Minhao Wang 2020 年 9 月 25 日
problem solved! thank you!

サインインしてコメントする。

### カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

### Community Treasure Hunt

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

Start Hunting!

Translated by