검색결과 리스트
비주얼C++에 해당되는 글 61건
- 2013.06.23 [MFC] Windows 계산기 흉내내 봤어요~~
- 2012.12.21 MFC로 만든 맨화투게임!!
- 2012.12.10 MFC로 만든 사다리 게임!!!
- 2012.12.06 MFC로 만든 로또 번호 만드는 프로그램
- 2012.12.05 MFC로 만든 간단한 OX퀴즈 프로그램!!
- 2012.12.05 버튼에 비트맵 이미지 넣기
- 2012.12.05 대화상자 배경색깔 바꾸기
- 2012.11.24 삽입정렬
- 2012.11.24 선택정렬
- 2012.11.24 버블정렬
글
[MFC] Windows 계산기 흉내내 봤어요~~
'비주얼C++ > 자작프로그램' 카테고리의 다른 글
[MFC] 미로생성 프로그램을 이용한 미로탈출 프로그램 (1) | 2013.07.10 |
---|---|
[MFC] 미로생성 프로그램 (1) | 2013.07.05 |
MFC로 만든 맨화투게임!! (0) | 2012.12.21 |
MFC로 만든 사다리 게임!!! (0) | 2012.12.10 |
MFC로 만든 로또 번호 만드는 프로그램 (0) | 2012.12.06 |
글
MFC로 만든 맨화투게임!!
'비주얼C++ > 자작프로그램' 카테고리의 다른 글
[MFC] 미로생성 프로그램 (1) | 2013.07.05 |
---|---|
[MFC] Windows 계산기 흉내내 봤어요~~ (0) | 2013.06.23 |
MFC로 만든 사다리 게임!!! (0) | 2012.12.10 |
MFC로 만든 로또 번호 만드는 프로그램 (0) | 2012.12.06 |
MFC로 만든 간단한 OX퀴즈 프로그램!! (0) | 2012.12.05 |
글
MFC로 만든 사다리 게임!!!
'비주얼C++ > 자작프로그램' 카테고리의 다른 글
[MFC] Windows 계산기 흉내내 봤어요~~ (0) | 2013.06.23 |
---|---|
MFC로 만든 맨화투게임!! (0) | 2012.12.21 |
MFC로 만든 로또 번호 만드는 프로그램 (0) | 2012.12.06 |
MFC로 만든 간단한 OX퀴즈 프로그램!! (0) | 2012.12.05 |
가로세로 낱말맞추기 소스 (1) | 2012.08.23 |
글
MFC로 만든 로또 번호 만드는 프로그램
약간 버그가 있는데 그래도 재미로 하기엔 괜찮을거 같습니다.
소스를 원하시는 분은
국민은행 55950101165793 윤태민 앞으로 1000원 보내주시면 소스 보내드립니다^^
'비주얼C++ > 자작프로그램' 카테고리의 다른 글
MFC로 만든 맨화투게임!! (0) | 2012.12.21 |
---|---|
MFC로 만든 사다리 게임!!! (0) | 2012.12.10 |
MFC로 만든 간단한 OX퀴즈 프로그램!! (0) | 2012.12.05 |
가로세로 낱말맞추기 소스 (1) | 2012.08.23 |
가로세로 낱말 맞추기 (2) | 2012.08.22 |
글
MFC로 만든 간단한 OX퀴즈 프로그램!!
'비주얼C++ > 자작프로그램' 카테고리의 다른 글
MFC로 만든 사다리 게임!!! (0) | 2012.12.10 |
---|---|
MFC로 만든 로또 번호 만드는 프로그램 (0) | 2012.12.06 |
가로세로 낱말맞추기 소스 (1) | 2012.08.23 |
가로세로 낱말 맞추기 (2) | 2012.08.22 |
추억의 짤짤이 일이삼게임!!! (0) | 2012.08.16 |
글
버튼에 비트맵 이미지 넣기
비트맵 이미지 넣기
먼저 리소스에 BitMap을 등록시켜야 합니다.
리소스탭에서
마우스 오른쪽 Import에서 bitmap 파일을 선택해서 등록시킵니다.
그런다음 ID를 원하는걸로 바꾸면 됩니다. 예를들어 IDB_BITMAP1으로 되어 있는것을 IDB_HEALTH이런식으로요.
그다음에 아래 코드를 OnInitDialog()함수에 넣어줍니다.
아 그전에 버튼컨트롤 만든거의 속성에 Bitmap부분을 체크해주세요~
HBITMAP msp; // 비트맵 핸들러 선언
msp = LoadBitmap(GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_HEALTH));
// 핸들러 초기화 , IDB_BITMAP1 -> 비트맵 아이디
((CButton*)GetDlgItem(IDC_BUTTON1))->SetBitmap(msp);
// 버튼에 이미지 넣기, IDC_BUTTON1 -> 버튼 아이디
이렇게 해주면 완성입니다~~
버튼에 여러개일경우는 HBITMAP msp; 부분 아래만 계속 ID를 바꿔가며 하시면 되곘죠~~
'비주얼C++ > 함께공부해요' 카테고리의 다른 글
대화상자 배경색깔 바꾸기 (0) | 2012.12.05 |
---|---|
RIchEdit 컨트롤의 현재커서가 있는 행번호 알아내기 (0) | 2012.07.18 |
RichEdit Conttrol에서 EN_CHANGE 이벤트 실행되게 하기 (0) | 2012.07.07 |
windows media player control 사용해서 음악재생하기 팁 (0) | 2012.06.30 |
글
대화상자 배경색깔 바꾸기
http://sehwa4444.egloos.com/2738890
이 블로그에 잘되어 있네요...
pDC->FillSolidRect(&rt, RGB(255, 255, 255));
이부분에 RGB값만 바꾸면 원하는 색으로 바꿀수
'비주얼C++ > 함께공부해요' 카테고리의 다른 글
버튼에 비트맵 이미지 넣기 (0) | 2012.12.05 |
---|---|
RIchEdit 컨트롤의 현재커서가 있는 행번호 알아내기 (0) | 2012.07.18 |
RichEdit Conttrol에서 EN_CHANGE 이벤트 실행되게 하기 (0) | 2012.07.07 |
windows media player control 사용해서 음악재생하기 팁 (0) | 2012.06.30 |
글
삽입정렬
삽입정렬
예를들어
7 3 5 2 1 8 9 4 6 0
이렇게 있을때
먼저 두번째 값 3을 정해서 3앞의 숫자들과 비교해서 위치를 옮깁니다.
여기서는 7과 비교해서 3이 작으므로 바꿉니다. 그러면,
3 7 5 2 1 ...
이렇게 되겠지요?
그다음에 앞의 두번째를 한칸 더 증가시킵니다. 즉 세번째 수 5를 정해서 그 앞의 수 즉, 두번째 첫번째 수와 비교해서 적당한 자리로 옮깁니다. 여기서 적당한
자리란 5와 7을 먼저 비교해서 7이 더 크므로 바꾸고 (3 5 7 ..) 다시 3과 비교해서 3보다 크므로 그대로 둡니다. 이 작업을 계속 해 주면 됩니다. (네번째, 다섯번째
수를 정해서 앞의 숫자와 거꾸로 계속 비교해 가는 것입니다.
설명하기가 참 어렵네요...제가 그래픽 솜씨라도 있으면 그래픽으로 설명해 드릴수도 있을텐데...
소스입니다.
for (int i=1;i<9;i++) // i는 처음부터 끝까지 갑니다.
for (int j=i-1;j>0;j--) // j는 i보다 하나 적은 곳부터 처음까지 검색합니다.
if (num[j]>num[i]) { // 두수를 비교해서 바꿔줍니다.
int temp;
temp = num[j];
num[i] = num[j];
num[j] = temp;
}
cout << "삽입정렬후 : " << num[0] << " " << num[1] << " " << num[2] << " " << num[3] << " " << num[4] << " " << num[5] << " " << num[6] << " " << num[7] << " " << num[8] << " " << num[9] << "\n";
이해안되시는 부분은 댓글이나 쪽지주세요~
'비주얼C++ > 예제모음' 카테고리의 다른 글
[C++] 완전수 찾기소스 (0) | 2014.07.24 |
---|---|
선택정렬 (0) | 2012.11.24 |
버블정렬 (0) | 2012.11.24 |
글
선택정렬
선택정렬
선택정렬은 두개의 포인터를 두고 한개는 현재위치를 한개는 나머지를 검색하면서 가장 작은 숫자를 찾는 것입니다. 예를 들어
7 3 5 2 1 8 9 4 6 0
이렇게 있을때
처음 포인터를 7에 두고 뒤의 포인터를 3부터 0까지 검색하는 거지요.
검색해서 가장 작은 숫자(여기서는 0)를 찾아서 7과 바꿔주는 겁니다. 그러면
0 3 5 2 1 8 9 4 6 7
이렇게 되겠지요?
버블정렬에서는 가장 큰수가 맨뒤로 가는 것이 처음단계였다면 선택정렬에서는 가장 작은수가 앞으로 오는 것이 가장 첫단계가 되겠습니다.
그다음에 현재 포인터를 두번째로 옮기고 (여기서는 3) 세번째부터 끝까지 검색하는 거지요. 그러면 5부터 7까지 검색이 되겠지요? 그 중에 1이 가장
작으니깐 1과 3을 바꿔줍니다.
0 1 5 2 3 8 9 4 6 7
이렇게 바뀌겠지요?
이런 작업을 마지막까지 해주면 됩니다. 이해되시죠?
그럼 소스를 볼까요?
{
int min; // 최소수의 자릿수
for (int j=0;j<9;j++) {
min = j; // j 즉 위치포인터를 항상 가장 작다고 정해줍니다.
for (int i=j+1;i<9;i++)
if (num[min]>num[i]) min=i; // 위치포인터값과 검색포인터값을 비교해서 위치포인터값이 크면
// 바꿔줍니다.
int temp;
temp = num[min];
num[j] = num[min];
num[min] = temp;
};
cout << "선택정렬후 : " << num[0] << " " << num[1] << " " << num[2] << " " << num[3] << " " << num[4] << " " << num[5] << " " << num[6] << " " << num[7] << " " << num[8] << " " << num[9] << "\n";
}
이해가시리라 믿습니다. 이해안되시면 댓글이나 쪽지주세요~
'비주얼C++ > 예제모음' 카테고리의 다른 글
[C++] 완전수 찾기소스 (0) | 2014.07.24 |
---|---|
삽입정렬 (0) | 2012.11.24 |
버블정렬 (0) | 2012.11.24 |
글
버블정렬
버블정렬
예를들어 7 3 5 2 1 8 9 4 6 0 이라는 숫자가 있다고 합시다. 이것을 버블정렬로 순서대로 정렬하는 법을 말씀드리겠습니다.
먼저 첫번째수 7과 다음수 3을 비교합니다. 두 수중에 작은수(오름차순정렬일때)가 3이니깐 앞에 작은수가 와야하므로 두수를 바꿉니다. 그럼,
3 7 5 2 1 ...
이렇게 되겠지요.
그다음에 첫번째수를 비교했으므로 한칸 뒤로 가서 두번째수를 비교합니다. 7과 5지요. 5가 작으므로 또 바꿉니다. 그럼,
3 5 7 2 1 ...
이렇게 되지요.
그다음에는 세번째수 7과 다음 2를 비교합니다. 그럼 2가 작으니깐 또 바꿉니다. 그럼,
3 5 2 7 1 ...
여기까지 이해되시죠? 맨처음부터 두번째 , 두번째수와 세번째수, 세번째수와 네번째수 ... 이렇게 끝까지 비교하면 맨 뒤에 뭐가 남을까요?
제일큰 숫자가 맨뒤에 남게 됩니다. 여기서는 9가 되겠지요?
그래서 처음실행 결과는
3 5 2 1 7 8 4 6 0 9
이렇게 9가 맨뒤로 가게 됩니다.
그다음에 다시 처음부터 비교합니다. 아까와 같은 방법으로요. 근데 이번에는 맨뒤에 제일큰수 9가 가 있으므로 그 앞까지만 비교해도 되겠지요? 그래서 0까지만 비교하게 됩니다. 그럼 다음큰수인 8이 9앞으로 오게 됩니다.
3 2 1 5 7 4 6 0 8 9
이런식으로요...
이렇게 자꾸 하다보면 큰숫자가 계속 뒤로 가게되지요. 그러면 끝에는 정렬이 되게 되는 것입니다.
이게 버블정렬 방법이에요. 별로 어렵지 않지요?
그럼 소스를 보시죠.
#include <iostream.h>
void main()
{
int num[10];
cout << "숫자 10개를 띄워서 입력하세요.\n";
cin >> num[0] >> num[1] >> num[2] >> num[3] >> num[4] >> num[5] >> num[6] >> num[7] >> num[8] >> num[9];
for (int j=9;j>0;j--) {
for (int i=0;i<j;i++)
if (num[i]>num[i+1]) {
int temp;
temp = num[i];
num[i]=num[i+1];
num[i+1]=temp;
};
};
cout << "버블정렬후 : " << num[0] << " " << num[1] << " " << num[2] << " " << num[3] << " " << num[4] << " " << num[5] << " " << num[6] << " " << num[7] << " " << num[8] << " " << num[9] << "\n";
}
먼제 int num[10]에서 10개의 숫자를 담는 배열을 선언하구요.
cin에서 10개의 숫자를 띄워쓰기로 입력받습니다.
그다음부분이 정렬메인인데요.
for (int j=9;j>0;j--) { // 최대 9번에서 0까지 비교
for (int i=0;i<j;i++) // 처음부터 j까지 비교
if (num[i]>num[i+1]) { // 만약에 뒤의수가 앞의수보다 작으면은
int temp; // 바꿔줍니다.
temp = num[i];
num[i]=num[i+1];
num[i+1]=temp;
};
};
주석을 보시면 이해가시죠? 바꾸어 주는 부분이 좀 해깔릴수 있는데 여기서 그냥 num[i] = num[i+1] 이렇게 해주면 되지 않느냐고 하실지 모르겠지만
이렇게 해주면 두개가 같아집니다. 예를들어 7과 3이 있는데 num[i]=num[i+1]해주면 num[i]도 3 num[i+1]도 3이 되지요. 7이 없어져버립니다. 그래서
임시변수 temp를 줘서 임시변수에 앞의 수를 저장해놓고 두수를 같게 만든다음 뒤수에 임시변수값을 넣어주는 것입니다.
이해되시지요? 궁금하신 사항은 댓글로 부탁드립니다.
'비주얼C++ > 예제모음' 카테고리의 다른 글
[C++] 완전수 찾기소스 (0) | 2014.07.24 |
---|---|
삽입정렬 (0) | 2012.11.24 |
선택정렬 (0) | 2012.11.24 |