목적
  - 함수를 생성할줄 안다.

문제

사용자 삽입 이미지
풀이

#include <iostream>

float add(float,float);
float sub(float,float);
float mul(float,float);
float div(float,float);

using namespace std;

int main(void)
{
 char cOp = 0;
 float fA, fB, fOut;
 fA = fB = fOut = 0.0;

 cout << "연산자 하나와 두 실수 값을 입력하세요 : ";
 cin >> cOp >> fA >> fB;

 switch(cOp)
 {
  case '+':
   fOut = add(fA, fB);
   break;

  case '-':
   fOut = sub(fA, fB);
   break;

  case '*':
   fOut = mul(fA, fB);
   break;

  case '/':
   fOut = div(fA, fB);
   break;

  default:
   break;

 }

 cout << fA << ' ' << cOp << ' ' << fB << " = " << fOut << endl;
 return 0;

}

float add(float fA, float fB)
{ return fA + fB; }

float sub(float fA, float fB)
{ return fA - fB; }

float mul(float fA, float fB)
{ return fA * fB; }

float div(float fA, float fB)
{ return fA / fB; }


해설
  - 부호에 따른 함수를 별도로 실행하게 했습니다.
  - 맨 윗부분의 껍데기 선언부는 prototype 구문으로써 선언후 정의 하는 부분과 형이 틀리지 않게 형 검사(type checking) 과 linked list 같은 정의가 끝나지 않은 자료를 참조 해야할때 쓰여 집니다. 선택사항으로 조건을 충족시켜도 되지 않은 환경이라면 쓰지 않아도 무방합니다.

참고

  - 유사 문제

Posted by 카켈