|
[함수선언]--------------
어떤책에서는 함수원형이라고도 하더군요.
변수선언과 같다고 보시면 되겠네요.
"이렇게 생긴 함수가 있다"고 알려주는 것입니다.
선언는 main함수보다 위에 해야 됩니다.
함수의 세부 기능(내용)을 표시하는게 아니고
어떤 함수가 있는지만 알려주는 것..
(형식)-------------
<함수 타입> 함수이름(인수);
예1)--------------
void Total(void);
예2)----------------
int Sum(int a, int b);
[함수정의]--------------
선언해 준 함수의 실제 세부 기능이 있는부분입니다.
"이러한 기능을 한다"라고 써주는부분.
main함수의 위 , 아래 아무데나 올 수 있습니다.
위에 올 경우는 따로 선언할 필요가 없고..
아래에 정의할 경우에만 main함수 위에 함수선언을 해 주십시오.
(형식)------------
<함수 타입> 함수이름(인수)
{
// 함수가 할 기능
}
예1)-------------
void Total(void)
{
total_num = 0;
for(int i=0; i<Max_num; i++)
{
total_num += num[i];
}
printf("Total: %d", total_num);
}
예2)-------------------
int Sum(int a, int b)
{
int temp;
temp = a + b;
return temp;
}
[함수호출]-------------
호출은 말 그대로 함수를 불러오는부분.
"야..니 여기서 일좀 해!" 이러한부분이 되겠지요.
호출은 해당 함수를 사용할려는 부분에서 쓰면 됩니다.
(형식)------------
함수이름(내용);
예1)-----------------
int num[Max_num];
void main(void)
{
// 생략..
Total(); //main함수에서 호출한 것..
//생략..
}
예2)-----------------
void main(void)
{
int num1, num2;
int sum_num;
printf("숫자(1)를 입력하세요: ");
scanf("%d", &num1);
printf("숫자(2)를 입력하세요: ");
scanf("%d", &num2);
sum_num = Sum(num1, num2); //함수 호출 부분..
printf("숫자의 합은 %d입니다.",sum_num);
}
-------------------------------------------------------------
자 잘 보면...함수 선언(원형)은..
: finalWage = calcWage(totWork, bonus);
정수인자 2개를 받아서 계산한 다음 정수로 반환해주는 함수...즉,
int calcWage(int totWork, int bonus);
이런형태가 되겠군요.
이것을 메인함수 위부분에 써주면 되겠군요.
정의는 작업시간과, 보너스를 바탕으로 계산만 해주는 기능으로
해 주면 되겠네요.
님이 만드신 소스의 초과 근무수당 계산 및 출력부분을
다음 형태로 바꾸고 나머지를 함수안에 넣으면 되겠습니다.
: //초과 근무수당 계산 및 출력
:
: if (totWork > 40){ // 주당 40 시간을 기준으로 초과 수당을 시간당 9000원 계산
:
: bonus = 100000;
:
: finalWage = calcWage(totWork, bonus);
:
: }
:
: else { // 40 시간이하인 경우 보너스는 50000
:
: bonus = 50000;
:
: finalWage = calcWage(totWork, bonus);
:
: }
:
: cout << "final wages: " << finalWage << endl;
:
: system("PAUSE");
: return 0;
: }
자...함수 정의을 해 보지요.
int calcWage(int totWork, int bonus)
{
int Wage;
if(totWork > 40) Wage = 8000*40 + (totWork-40)*9000 + bonus;
else Wage = totWork*8000 + bonus;
return Wage;
}
함수 정의는 님이 만드신 소스의 계산부분만 함수 안에 넣은 결과..
함수정의를 메인함수 아래에 써 넣으면 끝........
|