본문 바로가기

IT STUDY/Language

[기초 C] 헤더 제작, 함수의 사용

반응형

 

 

이번에는 C에서 사용하는 헤더를 직접 정의하여

전 시간에 했던 사각형, 삼각형, 원 면적 구하는 프로그램을 제작해 보겠습니다.

 

 

 

 

 

 

 

들어가기에 앞서... Tip


 

1. 수학 공식

원 둘레

2 * 반지름 * PI(3.14159265)

원 면적

반지름 * 반지름 * PI

사각형 면적

밑변 * 높이

삼각형 면적

밑변 * 높이 * 1/2 * sin(각도*PI/180)

 

2. 사용되는 헤더 파일

헤더

설명

함수

studio.h

표준 입출력 라이브러리 함수 정의

printf, scanf, fopen,getc 등

math.h

여러 수학 함수들을 포함하는 표준 라이브러리

sin, cos, tan, log 등

 stdlib.h

 문자열 변환, 의사 난수 생성, 동적 메모리 관리 등의 함수들을 포함

malloc,  rand, int atoi 등

 myheader.h

위 3헤더를 묶은 사용자 정의 헤더 

사용자 정의

 

 

 

사용자 정의 헤더를 이용한  사각형, 삼각형, 원 면적 구하기

 

 

 

#include<studio.h>
#include<math.h>
#include<stdlib.h>

#define PI 3.14159265


void circle();
void rect();
void tri();


 MyHeader.h

 

 

 

#include "myheader.h"

void tri()
{
	int a,b;
    double theta;
	double S;
	//디버깅 하는법
	double temp;

	printf("삼각형 첫번째 길이 =");
	scanf("%d",&a);

	printf("삼각형 두번째 길이 =");
	scanf("%d",&b);
	
	printf("삼각형의 각도");
	scanf("%lf",&theta);
	
	temp = sin(theta * PI/180.0); //디버깅
	S = 1.0/2.0 * a * b * temp;
	printf("면적 %lf \n",S);
}

void circle()
{
	int r;
	double S,I;
	
	printf("반지름 입력=");
	scanf("%d",&r);
	S = r*r*PI;
	I = 2*r*PI;
	printf("면적=%lf 둘레=%lf \n",S,I);
}


void rect()
{
	int a,b;
	int S;
	printf("첫번째 길이 =");
	scanf("%d",&a);

	printf("두번째 길이 =");
	scanf("%d",&b);
	
	S = a*b;
	printf("면적 %d\n",S);
}

function.h

 

 

Main 구문

#include "myheader.h"
main()
{
	int menu;

	while(1)
	{
		printf("메뉴를 선택하세요 \n");
		printf("1. 사각형 \n");
		printf("2. 원 \n");
		printf("3. 삼각형 \n");	
		printf("0. 종료 \n");				//exit

		scanf("%d",&menu);

		switch(menu){
		case 0: exit(0);
		case 1: rect(); break;
		case 2: circle(); break;
		case 3: tri(); break;
		default : printf("입력 에러입니다.\n"); break;
		}
	}
/*
	printf("사각형의 면적 구하기 \n");
	rect();

	printf("원 면적,둘레 구하기 \n");
	circle();


	printf("삼각형 면적 구하기 \n");
	tri();
*/
		return 0;


}


 

 

 

 

 

 

[실행 결과]

 

 

 

 

 

 

 

 

 

반응형