안녕하세요, 내 C++ 프로그램 (피타고라스 정리) 어딘가에 함수에 내 값을 반환하고 cout을 사용하여 출력하는 사이에 문제가 있습니다.(C++) 반환과 함수 출력 사이의 어딘가에 오류
예를 들어 a
을 3으로 설정하면 b
을 0으로, c
을 2로 설정하면 프로그램을 실행하고 내 변수를 볼 때 출력이 0 또는 nan이됩니다. 변수에 대한 자세한 정보는 다음과 같습니다.
pyth_b_1 - (오류) 현재 상황에서는 사용할 수 없습니다. p_t() - (오류) {플로트 (플로트, 부동, 플로트)} 0x4014ad
코드 :
cout<<"Set one value 0 to get answer for that variable \n";
cout<<"Enter number or 0 for 'a': ";
cin>>a;
cout<<"Enter number or 0 for 'b': ";
cin>>b;
cout<<"Enter number or 0 for 'c': ";
cin>>c;
cout<<"You'r answer = "<<p_t(a, b, c)<<endl;
코드 :
float p_t(float a,float b,float c){
if(a == 0 && b != 0 && c != 0){
// 0 equals nothing for parameters
cout<<"You chose to find a"<<endl;
float pyth_c = (pow(c, 2)) - (pow(b, 2));
float pyth_a = sqrt(pyth_c);
return pyth_a;
}
else if(a != 0 && b == 0 && c != 0){
float pyth_c_1 = (pow(c, 2)) - (pow(a, 2));
float pyth_b_1 = sqrt(pyth_c_1);
return pyth_b_1;
}
else if(a != 0 && b != 0 && c == 0){
float pyth_a_2 = (pow(a, 2)) - (pow(b, 2));
return pyth_a_2;
}
}
'c' <'b' 인 경우 1이면'pyth_c'는 음수가됩니다. 그런 다음 제곱근을 취하려고합니다. 다른 모든 경우에도 동일합니다. 3을 제외하고는 제곱근 호출이 누락되었습니다. 이것은 디버거 사용법을 배우기에 완벽한 프로그램입니다. –
디버거를 사용하는 방법을 배우는 것이 좋습니다. 프로그래밍을 무한히 쉽게 해줍니다. – dandan78