//app.h
void logo();
void ending();
void printmenu();
//프로그램 흐름 - 초기화
// 최초에 단 한번 실행
void app_init();
//프로그램 흐름 - 엔진
//반복 실행 코드
void app_run();
//프로그램 흐름 - 종료처리
//프로그램 종료시 단 한번 실행
void app_exit();
//booklist.h
void book_insert();
void book_printall();
//data.h
#define DATA_MAX 10
//std.h
// 프로그램에서 필요로하는 모든 h 를 include
#include <stdio.h>
#include <stdlib.h> //system()
#include <conio.h> //_getch()
#include "data.h"
#include "app.h"
#include "booklist.h"
//app.c
#include "std.h"
void app_init()
{
logo();
}
void app_run()
{
char idx;
while (1)
{
system("cls");
printmenu();
idx = _getch();
switch (idx)
{
case '1': book_insert(); break;
case '2': book_printall(); break;
case '3': printf("[ 검 색 ]\n"); break;
case '4': printf("[ 삭 제 ]\n"); break;
case '5': printf("[ 수 정 ]\n"); break;
case '6': return;
}
system("pause");
}
}
void app_exit()
{
ending();
}
void logo()
{
system("cls");
printf("******************************************\n");
printf(" 1번째 프로그램 - 관리프로그램\n");
printf(" 2016/6/26\n");
printf(" cjh\n");
printf("******************************************\n");
system("pause");
}
void ending()
{
system("cls"); //출력화면 비우기
printf("******************************************\n");
printf(" 프로그램을 종료합니다.\n");
printf("******************************************\n");
system("pause");//아무키나 입력받기
}
void printmenu()
{
printf("******************************************\n");
printf(" [1] 입력(insert)\n");
printf(" [2] 전체출력(selectall)\n");
printf(" [3] 검색(select)\n");
printf(" [4] 삭제(delete)\n");
printf(" [5] 수정(update)\n");
printf(" [6] 프로그램 종료\n");
printf("******************************************\n");
}
//booklist.c
#include "std.h"
//extern : 참조선언
extern char g_name[DATA_MAX][20];
extern int g_age[DATA_MAX];
extern int g_flag[DATA_MAX];
void book_insert()
{
printf("[ 입 력 ]\n");
//사용자로부터 필요한 정보를 입력받는다.(이름,나이,위치)
char name[20];
int age;
int flag;
fflush(stdin);
printf("이름 : "); gets_s(name, sizeof(name));
printf("나이 : "); scanf_s("%d", &age, sizeof(int));
printf("저장위치(0~%d) : ", DATA_MAX - 1);
scanf_s("%d", &flag, sizeof(int));
//해당 위치 데이터 존재 여부
if (g_flag[flag] == 0)
{
//문자열 대입은 일반 대입연산자를 사용할 수 없다.
//g_name[flag] = name;
strcpy_s(g_name[flag], sizeof(name), name);
g_age[flag] = age;
g_flag[flag] = 1;
printf("저장되었습니다.\n");
}
else
{
printf("데이터가 존재합니다\n");
}
}
void book_printall()
{
printf("[ 전체출력 ]\n");
for (int i = 0; i < DATA_MAX; i++)
{
printf("[%d] %20s : %5d\n", i, g_name[i], g_age[i]);
}
printf("\n");
}
//소스.c
#include "std.h"
//전역변수는 무조건 소스코드에....
char g_name[DATA_MAX][20];
int g_age[DATA_MAX];
int g_flag[DATA_MAX];
int main()
{
app_init();
app_run();
app_exit();
return 0;
}
'00.Project' 카테고리의 다른 글
C++학생관리프로그램(mini) (0) | 2018.05.10 |
---|---|
자판기프로그램(mini) (0) | 2018.04.30 |
야구게임(mini) (0) | 2018.04.28 |
댓글