2016-09-05 2 views
-3

간단한 질문이 있습니다. 어떻게해야합니까? 안녕하세요 세계를 인쇄 한 다음 'anotherMessage'로 이동 한 다음 해당 기능에서 메시지를 인쇄하고 다음 인쇄를 건너 뛰고 '인쇄하지 않음'을 선택하고 종료하십시오.일부 코드 건너 뛰기 및 프로그래밍 종료

난 기능을 교환하지만, 하나의 출구() 문은 즉시 코드를 닫습니다하지만 원하는 문이 아닌

void main() 
{ 
    cout << "Hello World"; 
    anotherMessage(); 
    cout << "Dont print this"; 
} 

void anotherMessage() 
{ 
    cout << "Print this"; 
} 
+5

'anotherMessage()'정의의 끝 부분에'exit (0)'을 넣을 수 있습니다. –

+0

안녕하세요 세계를 계속 인쇄하고 인쇄하고이 줄을 인쇄하지 않으려면 어떻게해야합니까? – Aryan

+1

'if' 문을 알고 있습니까? – rustyx

답변

1

anotherMessage() 함수의 형식을 int로 정의하고 정수 값 (아래 코드에서 1)을 반환 할 수 있습니다. 반환 된 값이 1인지 확인하고, 그렇다면 exit (0)을 호출하여 프로그램을 종료합니다.

void main() 
{ 
cout << "Hello World"; 
int val = anotherMessage(); 
if(val) exit(0); 
cout << "Dont print this"; 
} 
int anotherMessage() 
{ 
cout << "Print this"; 
return 1; 
} 
0

같은 진술을 유지한다.

함수가 다음과 같이 bool을 반환 할 때 if 문을 사용할 수 있습니다. 당신이 anotherMessage() 정의의 끝에서 exit(0)을 사용할 수 있습니다 ῥεῖ

bool func(); 

func(){ 
// Do Stuff 
return // true or false 
} 

void main(){ 
    if(func()){ 
     // Do Stuff 
    }else{ 
     //Do other Stuff 
} 
} 
2

으로는 πάντα에 의해 지적했다.

exit(1) (보통) unsucessful 종료를 표시하는 동안

exit(0)는 완전히 이식 성공 프로그램 종료 &을 나타냅니다. 그러나 사용법은 휴대 할 수 없습니다.

예를 들어 라이브러리에서 종료 될 수있는 함수를 작성하는 경우 거기에서 exit를 호출하는 것은 일반적으로 좋지 않습니다. 특정 반환 값을 사용하여 호출 코드에 오류를 알리는 것이 훨씬 좋습니다 예를 들어 예외) 호출 코드가 수행 할 작업을 결정하도록합니다. (예를 들어 quit_if_file_not_found라는 함수를 작성하는 경우 사용자가 종료를 예상하는 경우와 같이 완벽하게 유효한 경우도 있습니다.)

경우에 따라 구문 분석 함수에서 exit를 호출해서는 안됩니다. 예를 들어, 미래의 어느 시점에서 첫 번째 구문 분석에 실패한 경우 사용자에게 다른 파일 이름을 묻는 기본 코드가 필요할 수 있습니다. 구문 분석 루틴이 프로그램을 종료하면 주 코드와 해당 함수를 모두 수정해야합니다. 오류 조건이 발생했다면 main의 논리를 수정하면됩니다.

(위에서 언급 한 것처럼 오류 메시지를 인쇄하거나 로깅하지 않고 종료하면 코드가 발생한 문제를 해결할 방법을 알지 못하는 좌절한 사용자가 발생합니다.)

+0

OP가 파서를 작성하고 파일 이름을 묻는다는 모호한 질문에서 어떻게 추론 했습니까? 너 셜록 홈즈 야? – molbdnilo

+0

@molbdnilo : 아니요, 방금 exit()의 사용자가 좋은지 또는 나쁜지를 알려 드리고 싶습니다. – Shravan40

관련 문제