Need some assistance with "if" command
조회 수: 1 (최근 30일)
이전 댓글 표시
I'm trying to get my program to stop completely when given an invalid response after entering the side lengths. I've created the following:
a=input('Enter value for side a: ');
if a < 0
disp('Not a valid input.')
end
b=input('Enter value for side b: ');
if b < 0
disp('Not a valid input.')
end
c=input('Enter value for side c: ');
if c < 0
disp('Not a valid input.')
댓글 수: 0
채택된 답변
Geoff
2012년 6월 28일
편집: Geoff
2012년 6월 28일
If you don't have a function or anything to return from, there's a sneaky little trick you can use. This can be useful for other things too...
ok = false;
while 1
a=input('Enter value for side a: ');
if a < 0, break; end
b=input('Enter value for side b: ');
if b < 0, break; end
c=input('Enter value for side c: ');
if c < 0, break; end
ok = true;
break;
end
if ok
% Do your thing here....
else
disp('Not a valid input.');
end
Err... Bear in mind this isn't the best of programming practices. =)
댓글 수: 0
추가 답변 (2개)
Geoff
2012년 6월 28일
Oh, the better way is to use the proper MATLAB error function:
if a < 0
error( 'Not a valid input.' );
end
댓글 수: 0
Walter Roberson
2012년 6월 28일
To get your program to stop completely you are going to need to use the command "quit", as anything else you can voluntarily do has the risk of being intercepted by a different level, such as by a try/catch block. "quit" will exit MATLAB.
Honestly, even "quit" might not be good enough, as I think "quit" would still end up running any registered onCleanup() routines rather than stopping the program completely. So possibly what you should do is write a little mex routine that deliberately dereferences an invalid pointer so that MATLAB crashes.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!