소프트웨어/C++

[2003년 중간 7번] 사칙 연산 - 매개변수

카켈 2007. 2. 25. 03:36




목적
  - 매개변수를 입력 받아 함수를 이용하여 출력한다.

문제

코드

#include <iostream>
#include <cstdlib>

using namespace std;

void add(float aA, float aB)
{
 cout << aA << " + " << aB << " = " << aA + aB << endl;
 return;
}

void sub(float aA, float aB)
{
 cout << aA << " - " << aB << " = " << aA - aB << endl;
 return;
}

void mul(float aA, float aB)
{
 cout << aA << " * " << aB << " = " << aA * aB << endl;
 return;
}

void div(float aA, float aB)
{
 cout << aA << " / " << aB << " = " << aA / aB << endl;
 return;
}

int main(int argc, char* argv[])
{
 if(argc != 3) cout << "두 개의 인수를 넣어 주세요." << endl;
 else
 {
  add(atof(argv[1]), atof(argv[2]));
  sub(atof(argv[1]), atof(argv[2]));
  mul(atof(argv[1]), atof(argv[2]));
  div((float)atof(argv[1]), (float)atof(argv[2]));

 }


 return 0;
}


해설
  - 유사 문제가 많아서 크게 설명하지 않겠습니다. div 함수를 그냥 하니깐 오류가 났습니다. cstdlib 의 div(int, int) 함수와 overloaded 모호 충돌 오류가 났습니다. 강제로 float 형변환을 해서 문제를 해결 했습니다.

참고
  -유사 문제