반응형
이번에는 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; }
[실행 결과]
반응형
'IT STUDY > Language' 카테고리의 다른 글
[기초 C] 학점 계산기 만들기 (0) | 2013.08.20 |
---|---|
[기초 C] 연산자 C로 표현하기 (0) | 2013.08.20 |
[기초 C] sorting(정렬)하기 (0) | 2013.08.20 |
[기초 C] 사각형, 삼각형, 원 면적 구하기 (0) | 2013.08.20 |
[기초] sizeof 를 이용한 자료형 크기 표시하기 (0) | 2013.08.19 |