반응형

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

+ Recent posts