More actions
No edit summary |
No edit summary |
||
| Line 4: | Line 4: | ||
= 수업 내용 = | = 수업 내용 = | ||
= 실습 : 네온사인 만들기 = | |||
* 참고 코드 | |||
#define _CRT_SECURE_NO_WARNINGS | |||
#include <stdio.h> | |||
#include <stdlib.h> | |||
#include <windows.h> | |||
void setColor(int color, int bgcolor); | |||
void setFontColor(int color); | |||
void setBgColor(int bgcolor); | |||
void resetFontColor(); | |||
void resetBgColor(); | |||
enum ConsolColor{ | |||
CC_BLACK, //0번 | |||
CC_DARKBLUE, //1번 | |||
CC_DARKGREEN, //2번 | |||
CC_DARKCYAN, //3번 | |||
CC_DARKRED, //4번 | |||
CC_DARKMAGENTA, //5번 | |||
CC_DARKYELLOW, //6번 | |||
CC_GRAY, //7번 | |||
CC_DARKGRAY, //8번 | |||
CC_BLUE, //9번 | |||
CC_GREEN, //10번 | |||
CC_CYAN, //11번 | |||
CC_RED, //12번 | |||
CC_MAGENTA, //13번 | |||
CC_YELLOW, //14번 | |||
CC_WHITE, //15번 | |||
CC_LIGHTGRAY = 7, | |||
CC_ORIGINAL = 7, | |||
CC_ORIGINALFONT = 7, | |||
CC_ORIGINALBG = 0 | |||
}; | |||
//printf랑 scanf에서 따옴표 부분을 수정해주시고 컴파일해주세요! | |||
int main(){ | |||
//색깔넣은 hello world 출력하기 | |||
setFontColor(9); //9번은 파란색. 파란색으로 글씨 설정 | |||
printf("Hello "); | |||
Sleep(1000); //1초 쉬기 | |||
setFontColor(7); //7번은 회색. 회색으로 글씨 설정 바꾸기 | |||
printf("World\n"); | |||
setBgColor(15); //15번은 하얀색. 하얀색으로 배경색 설정하기 | |||
printf("WoW!!\n"); | |||
return 0; | |||
} | |||
//텍스트, 배경색 모두 변경하는 함수 | |||
void setColor(int color, int bgcolor){ | |||
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), ((bgcolor & 0xf) << 4) | (color & 0xf)); | |||
} | |||
//텍스트 색상 변경하는 함수 | |||
void setFontColor(int color){ | |||
CONSOLE_SCREEN_BUFFER_INFO info; | |||
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &info); | |||
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), (info.wAttributes & 0xf0) | (color & 0xf)); | |||
} | |||
//배경 색상 변경하는 함수 | |||
void setBgColor(int bgcolor){ | |||
CONSOLE_SCREEN_BUFFER_INFO info; | |||
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &info); | |||
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), ((bgcolor & 0xf) << 4) | (info.wAttributes & 0xf)); | |||
} | |||
//글씨 색깔 리셋하는 함수 | |||
void resetFontColor(){ | |||
setFontColor(7); | |||
} | |||
//배경 색상 리셋하는 함수 | |||
void resetBgColor(){ | |||
setBgColor(0); | |||
} | |||
= 후기 = | = 후기 = | ||
== [[이지수|물주는사람]] == | == [[이지수|물주는사람]] == | ||
Revision as of 00:11, 10 April 2017
수업 내용
실습 : 네온사인 만들기
- 참고 코드
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
void setColor(int color, int bgcolor);
void setFontColor(int color);
void setBgColor(int bgcolor);
void resetFontColor();
void resetBgColor();
enum ConsolColor{
CC_BLACK, //0번
CC_DARKBLUE, //1번
CC_DARKGREEN, //2번
CC_DARKCYAN, //3번
CC_DARKRED, //4번
CC_DARKMAGENTA, //5번
CC_DARKYELLOW, //6번
CC_GRAY, //7번
CC_DARKGRAY, //8번
CC_BLUE, //9번
CC_GREEN, //10번
CC_CYAN, //11번
CC_RED, //12번
CC_MAGENTA, //13번
CC_YELLOW, //14번
CC_WHITE, //15번
CC_LIGHTGRAY = 7,
CC_ORIGINAL = 7,
CC_ORIGINALFONT = 7,
CC_ORIGINALBG = 0
};
//printf랑 scanf에서 따옴표 부분을 수정해주시고 컴파일해주세요!
int main(){
//색깔넣은 hello world 출력하기
setFontColor(9); //9번은 파란색. 파란색으로 글씨 설정
printf("Hello ");
Sleep(1000); //1초 쉬기
setFontColor(7); //7번은 회색. 회색으로 글씨 설정 바꾸기
printf("World\n");
setBgColor(15); //15번은 하얀색. 하얀색으로 배경색 설정하기
printf("WoW!!\n");
return 0;
}
//텍스트, 배경색 모두 변경하는 함수
void setColor(int color, int bgcolor){
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), ((bgcolor & 0xf) << 4) | (color & 0xf));
}
//텍스트 색상 변경하는 함수
void setFontColor(int color){
CONSOLE_SCREEN_BUFFER_INFO info;
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &info);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), (info.wAttributes & 0xf0) | (color & 0xf));
}
//배경 색상 변경하는 함수
void setBgColor(int bgcolor){
CONSOLE_SCREEN_BUFFER_INFO info;
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &info);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), ((bgcolor & 0xf) << 4) | (info.wAttributes & 0xf));
}
//글씨 색깔 리셋하는 함수
void resetFontColor(){
setFontColor(7);
}
//배경 색상 리셋하는 함수
void resetBgColor(){
setBgColor(0);
}