반응형
c언어의 모듈화는 각각의 소스파일과 헤더파일을 나눠 모듈시키는 것이다.
분류는 이런식으로 되어있으며 소스로는
app.c
//****************************************************************** // app.c // --> 프로그램의 메인 구동 // --> 메인메뉴를 출력하고 입력하는 메인루프를 구현 !! //****************************************************************** //메뉴를 화면에 출력해주는 함수 #include "bit_6.h" #include "function.h" void MemuDisplay() { puts("1. 1번기능"); puts("2. 2번기능"); puts("3. 3번기능"); puts("0. 종료"); } // 사용자에게 정수 하나를 입력 받아 리턴하는 기능 int inputNo() { int No; printf("INPUT :"); scanf("%d",&No); return No; } //입력받은 값에 따라서 선택적인 실행을 하게 하는 함수 !! void selectMenu(int key) { switch(key) { case 1: function1(); break; case 2: function2(); break; case 3: function3(); break; case 0: exit(0); default: puts("잘못된 값");break; } } void Run() { int key =0; while(1) { MemuDisplay(); key = inputNo(); system("cls"); selectMenu(key); puts("계속하시려면 아무키나 누르세요!!"); getch(); } }
bit_6.c
//*************************************************************************************** // 모듈화 //*************************************************************************************** // header 파일 // 미리 선언된 것들(함수, 구조체, 변수, 기존 include 등등 // 모아두는 파일 !! #include "bit_6.h" #include "app.h" // <> : C언어에서 지원해주는 헤더파일을 불러올때 사용 // "" : 사용자가 작성한 헤더파일을 불러올때 사용 // ==> 폴더가 다르다 !!, <> : 시스템 폴더, "": 프로젝트 폴더 void main() { //메인함수는 상징성으로 아무것도 넣지말자. Run(); } void PorntTest() { printf("ㅋㅋㅋㅋ"); }
function.c
#include "bit_6.h" void function1() { puts("1. 1번선택"); } void function2() { puts("2. 2번선택"); } void function3() { puts("3. 3번선택"); }
app.h
//app.h void MemuDisplay(); int inputNo(); void selectMenu(int key); void Run();
bit_6.h
//*************************************************************************************** // main.h //*************************************************************************************** // header include //*************************************************************************************** #include#include #include void PrintTest(); // <> : C언어에서 지원해주는 헤더파일을 불러올때 사용 // "" : 사용자가 작성한 헤더파일을 불러올때 사용 // ==>
function.h
void function1(); void function2(); void function3();
'C, C++' 카테고리의 다른 글
[C] 배열과 포인터 (0) | 2014.11.18 |
---|---|
[C] 포인터의 개념 (0) | 2014.11.18 |
[C] 함수의 원형만 작성하는 함수문제 (0) | 2014.11.18 |
[C] 함수의 다른 이름들 (0) | 2014.11.18 |
[C] 함수의 여러가지 종류 (0) | 2014.11.18 |