Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- vaadin
- JavaScript
- es6
- R
- MSSQL
- NPM
- 공정능력
- tomcat
- Express
- GIT
- SQL
- Android
- mybatis
- mapreduce
- Kotlin
- table
- Eclipse
- Python
- Sqoop
- window
- Java
- SSL
- plugin
- xPlatform
- IntelliJ
- hadoop
- 보조정렬
- react
- Spring
- SPC
Archives
- Today
- Total
DBILITY
C console program example 본문
반응형
딸아이를 위해 작성해 봤다.
간만에 하니 어렵기도 하다.
생각해 보니 내가 책을 처음 샀을때 표준이 C90이었나 보다...연식나오네...
VS에서 디버그 실행시 콘솔창이 닫히지 않게 하려면 아래와 같이 설정한다.
#include <stdio.h>
#include <stdlib.h>
//function prototype
//main function 이후에 function을 정의하려면 main이전에 fucntion prototype(원형)을 선언해 주어야 한다.
//호출스택(call stack)과 관련이 되어 있는 것으로 처음엔 그렇다고만 이해하길 바란다.
//아래 printUI()의 경우 prototype을 선언하지 않아도 오류가 발생하지 않는다.
//이는 compiler가 int형으로 처리해 주는 기능이 있다.
//빌드시 다음과 같은 경고가 출력된다. 'printUI'이(가) 정의되지 않았습니다. extern은 int형을 반환하는 것으로 간주합니다.
//compiler가 1 pass방식의 소스코드 리딩 후 기계어로 번역하기 때문에 오류가 발생한다.
void addBook();
void searchBook();
void printAll();
void removeBook();
void main() {
int nMenu = 0;
while ((nMenu = printUI()) != 0) { // Event Loop
switch (nMenu)
{
case 1:
addBook();
break;
case 2:
searchBook();
break;
case 3:
printAll();
break;
case 4:
removeBook();
break;
default:
break;
}
_sleep(1000L);// function이 호출된 것을 확인하기 위해 임시로 설정한 것.
}
printf_s("Terminated!");// print와 같은 기능이나 security가 강화된 function, scanf_s도 있음.
}
int printUI() {
int nInput = 0;
system("cls");
printf("[1] Add\t[2] Search\t[3] PrintAll\t[4] Remove\t[0] Exit\n");
scanf("%d", &nInput);
return nInput;
}
void addBook() {
printf("addBook function call\n");
}
void searchBook() {
printf("searchBook function call\n");
}
void printAll() {
printf("printAll function call\n");
}
void removeBook() {
printf("removeBook function call\n");
}
반응형
'C' 카테고리의 다른 글
C 초기화의 중요성? (0) | 2019.06.14 |
---|---|
GetKeyState (0) | 2019.01.04 |
WIN32 윈도우 생성 및 메시지처리 이해 (0) | 2019.01.04 |
CMainFrame 가운데 정렬 (0) | 2019.01.02 |
주요 Message (0) | 2018.02.13 |
Comments