728x90

KGCA 13

LinkedList 양방향 리스트 예제 <Head가 포인터가 아닌 리스트>

////////////////////////////////////////////////////////////// // 헤드노드(g_pNodeHead)부터 실제 데이터를 저장하는 이중연결리스트 // 리스트가 비어있으면 새로운 데이터를 헤드로 저장한다. // InsertLink_H : 새로운 노드가 헤드의 Next에 연결되는 전위 연결. // InsertLink_T : 새로운 노드가 테일의 Next에 연결되는 후위 연결. ////////////////////////////////////////////////////////////// header.h #pragma once #include #include // time() #include // + + #include #include using std::cout..

LinkedList 단방향 리스트 예제 <Head가 포인터가 아닌 리스트>

////////////////////////////////////////////////////////////// // 헤드노드(g_pNodeHead) Next부터 실제 데이터를 저장하는 연결리스트 // 사전에 헤드노드를 실제 노드로 생성해 두고 처리한다. (실제 노드지만 데이터는 저장 안 함) // InsertLink_H : 새로운 노드가 헤드의 Next에 연결되는 전위 연결. // InsertLink_T : 새로운 노드가 테일의 Next에 연결되는 후위 연결. // 주) 단방향 연결리스트이므로 기준 노드의 앞쪽으로 연결하는 건 불가능하다. // (이전 노드 -> 기준 노드! -> 신규 노드!! -> 다음 노드) // (이전 노드 -> 신규 노드!! -> 기준 노드! -> 다음 노드) ///..

C언어 파일 입출력 예제

출처 : KGCA 게임 아카데미(http://www.kgcaschool.com/). 수업 예제 파일. 1) #include int main() { intiValue = 50; floatfValue = 3.141592f; FILE*fp; fopen_s(&fp, "demo.txt", "w"); { fprintf(fp, "%s", "========= KGCA ========="); fprintf(fp, "\n%s", "홍길동"); fprintf(fp, " %d %f", iValue, fValue); } fclose(fp); iValue = 99; fValue = 6.26f; fopen_s(&fp, "demo.txt", "a"); { fprintf(fp, "\n%s ", "개통이"); fprintf(fp, "%..

C언어 공용체 예제

출처 : KGCA 게임 아카데미(http://www.kgcaschool.com/). 수업 예제 파일. #include union TData { char a; int b; double c; }; //비트필드 구조체 struct TBool { unsigned char a : 1; unsigned char b : 1; unsigned char c : 1; unsigned char d : 1; unsigned char e : 1; unsigned char f : 1; unsigned char g : 1; unsigned char h : 1; }; //비트필드구조체와 공용체 typedef struct { union { struct { unsigned long Zone : 28; unsigned long Level..

C언어 오목 예제

출처 : KGCA 게임 아카데미(http://www.kgcaschool.com/). 수업 예제 파일. omok.h #include // gotoxy(), SetConsoleCursorPosition() #include #include #include //kbhit(), _getch() #define RIGHT77 #define LEFT75 #define UP72 #define DOWN80 #define ENTER13 #define WHITEWIN2 #define BLACKWIN3 //함수 포인터 선언 void(*game) (); enum STATE { GAME_INIT = 0, KEY_CHECK, GAME_DRAW, GAME_CHECK }; voidkeyCheck(); voidgotoxy(int x, i..

C언어 마방진 채우기 예제

출처 : KGCA 게임 아카데미(http://www.kgcaschool.com/). 수업 예제 파일. #include #include #include #define USE_ARRAY #undef USE_ARRAY #ifdef USE_ARRAY int Data[20][20]; //크기가 iSize인 마방진을 만든다. void MagicSquare(int iSize); int main() { int iSize; //마방진 입력 while (true) { printf("마방진의 크기를 3~19사이의 홀수로 입력하세요 :"); scanf_s("%d", &iSize); if (iSize >= 3 && iSize < 20) { break; } } //마방진 계산 MagicSquare(iSize); //마방진 출력 ..

C언어 매크로 예제 (beep으로 '학교종' 연주하기)

출처 : KGCA 게임 아카데미(http://www.kgcaschool.com/). 수업 예제 파일. std.h #pragma once #include #include #include ////sound() => Beep() ////delay() => Sleep() // #define DO(t) Beep((DWORD)(131*pow(1.06f,0)),(DWORD)(300*(t)));Sleep(100); // pow(1.06f,0) == 1 / pow(1.06f,12) == 2 // Beep(진동수, 시간) //옥타브 0 1 2 3 4 5 6 7 8 // 도 016 033 065 131 262 523 1047 2093 4186 #define DO(t)Beep((DWORD)523*pow(1.06f, 0),(D..

C언어 재귀함수 예제 (하노이의 탑)

출처 : KGCA 게임 아카데미(http://www.kgcaschool.com/). 수업 예제 파일. #include void HanoiTab(int n, char from, char temp, char to); void HanoiTower(int n, char from, char temp, char to); int main() { int n; printf("원반 갯수를 입력하세요 : "); scanf_s("%d", &n); HanoiTab(n, 'A', 'B', 'C'); } // 1. 디스크는 한번에 하나씩 옮겨야 한다. // 2. 위에 놓인 디스크는 아래쪽의 디스크보다 클 수 없다. void HanoiTab(int n, char from, char temp, char to) { if (n > 0) ..

C언어 제어문 예제 (다이아 그리기)

출처 : KGCA 게임 아카데미(http://www.kgcaschool.com/). 수업 예제 파일. #include void DrawChar(char cValue); void DrawStar(int iMaxRow, int iMaxColumn, int iStartColumn, int iDir); void DrawDiamond(int iNunRow, int iNumCol); int main() { int iNumColumn = 3;//행(가로줄,위에서 아래로 셈) = Column int iNumRow = iNumColumn;//열(세로줄,좌에서 우로 셈 ) = Row //1)직접 제어문을 사용하여 출력 for (int row = 0; row < iNumRow; row++) { for (int col = 0..

C언어 문자열 관련 예제

출처 : KGCA 게임 아카데미(http://www.kgcaschool.com/). 수업 예제 파일.#include #include #include char* StringToAttach(const char* str1, const char* str2); int main() { char data[] = "K,G,C,A, game academy -33-"; size_t iDataSize = strlen(data) + 1; char *str1 = (char*)malloc(sizeof(char) * iDataSize); char str2[30]; { printf("========= 문자열 복사 ===========\n"); strcpy_s(str1, iDataSize, data); strncpy_s(str2, d..

반응형