2011-03-31 2 views
0

이것은 I.T를 공부하는 첫 해입니다. 및 C++ 그래서 나는 C++에 대한 지식이별로 없습니다. 문제는 함수 호출에 관한 것입니다.함수 호출에 도움이 필요합니다

함수 헤더는 다음과 같습니다

bool insure(int age, bool smoker) 

내 작업이 올바른 함수 호출을 기록하고 내가 호출 문에서 사용하는 모든 변수를 선언하는 것입니다.

지금까지, 이것은 내가 가지고 올 한 것입니다 :

#include <iostream> 
using namespace std; 

bool insure(int age, bool smokers) 
{ 
    bool ret; 
} 
int main() 
{ 
    int age; 
    bool isSmoker; 
    bool ret; 

    cout << "Enter your age: "; 
    cin >> age; 
    ret = insure(age, isSmoker); 

    return 0; 
} 

내가 뭔가 잘못하고 있어요 경우이 프로그램이 올바른 경우, 또는 알고 싶습니다. 미리 감사드립니다.

+0

실행했을 때 어떤 현상이 발생 했습니까? – gregg

답변

7

insure에서 아무 것도 반환하지 않고 초기화되지 않은 변수 (isSmoker)를 전달하고 있습니다. 입력이 작동하는지 확인하지 않고 있습니다. 사용자가 자신의 나이에 "abc"를 입력하면 어떻게됩니까?

+0

오류 처리에 대해 언급하는 것이 좋습니다. 나는 그가 정확한 입력을 항상 가정했다고 생각했다. – Ilkka

1

나는 그것과 근본적으로 너무 잘못 아무것도 표시되지 않습니다,하지만 :

  1. 당신은 insure에서 아무것도 반환하지 않습니다. 디자인에 의한 것인가? return ret을 추가 하시겠습니까?

  2. 변수에 대한 시작 값을 정의하지 않았습니다. 이것은 나쁜 형식이며 정의되지 않은 동작을 일으킬 수 있습니다.

1

bool insure(int age, bool smoker)을 블랙 박스로 가져 와서 호출하는 것과 같은 작업이 들립니다. 그래서 당신이 직접 대답해야 할 첫 번째 질문은 실제로 당신이의 정의를 쓰거나 그 기능을 어떻게 사용하는지 보여줘야하는지 아닌지에 관한 것입니다. 문제가 해결되면

  • insure에는 몇 가지 변수 유형이 필요합니까?
  • 무엇이 insure 반환하며 어떻게 보관합니까?
  • 어떻게 호출 할 때 사용해야하는 변수를 설정/초기화하고 그 값을 유지하는 것이 반환됩니까?
  • "좋은"값을 insure으로 전달하기 위해 어떤 종류의 오류 검사를해야합니까? (클래스 포함 오류 검사 및 오류 처리 아직습니까?)
2
#include <iostream> 
using namespace std; 

bool insure(int age, bool smokers) 
{   
    if(age>=25&&smokers==true)return true; 
    else return false; 
} 

int main() 
{   
    int age=25; 
    bool isSmoker=true; 
    bool ret; 

    cout << "Enter your age: "; 
    cin >> age; 
    ret = insure(age, isSmoker); 
    cout<<"Insure:"<<ret; 

    return 0; 
} 

이 코드 블록은 그 보험은 25 세 이상 흡연자 노인 마찬가지입니다 가정하여 작성. insure(age,smokers) 기능 내에서 로직을 변경할 수 있습니다.

관련 문제