2008. 11. 5. 12:32

사용자 삽입 이미지

재귀함수를 이용한 n제곱 구하는 프로그램 예제 입니다.

A에 입력된 값의 B에 입력 된 값만큼 제곱하여 아래에 출력되어집니다.



- Visual Studio 2005 (SP1)에서 작성되었습니다.
Posted by 해비
2008. 11. 4. 22:28
사용자 삽입 이미지

스택을 이용하여 10진수를 2진수로 변환 하는 예제 입니다.

IPv4 주소를 입력 받아서 각각의 10진수를 2진수로 출력하는 형태로 동작합니다.

<< NOTE >>
- IP주소는 각 항목당 반드시 3자리로 입력 되어져야 하며 아래의 형식을 지켜야 합니다.
  ###.###.###.###
ex) 202.193.255.101 - O
     192.168.0.1 - X (0과 1의 경우 000 또는 001로 표현해야 합니다)
     192.168.000.001 - O


- VisualStudio2005 (SP1)에서 작성되었습니다.
Posted by 해비
2008. 9. 17. 20:29
학교에서 과제로 나온것을 한번 만들어 본 것입니다^^
사용자 삽입 이미지
실행한 화면이고 별다른 특징은 없습니다;;^^

프로그램 사양서
* 언어 : 자유선택. GUI 자유선택
* 반환기능, 여러잔 출력가능
* 커피(200), 우유(150), 코코아(100)
* Text 형태 출력



요구사항(소스 오픈 시)
- Visual Studio 2005 (SP1) 또는 상위버젼의 컴파일러

최소요구사항(실행 시, 요구사항 충족 시 필요없음)
- Visual C++ 2005 Runtime Library

별로 어려운 부분은 없으며, 소스에 주석을 달아놨습니다.

첨부파일 안에 Release 폴더 안에 해당 실행파일이 존재 합니다.
Posted by 해비
2008. 5. 19. 13:15

자바 스크립트에서 구현하는 요일 출력하기 입니다.

<script language="JavaScript">
  // 함수 정의
  //-------------------------------------
 
  // 요일 구하기 (년/월/일 입력하면 해당 요일을 출력)
  // Coded by : 구공탄(최영민)
  // 2008-05-19 MON
  // http://www.gugongtan.net
  function ext_day(n_year,n_month,n_day){
   var p_year = n_year -1;
   var p_month = n_month-1;
   var ext = 0;

   ext = parseInt((p_year*365 + parseInt(p_year/4) + day_cnt(n_year,p_month) + e_day -1)%7)

   return day_str(ext)
  }

  //날짜 수 계산
  // (요일 구하기 함수의 부분....)
  function day_cnt(year, month) {
   if(month==1)
    return 31
   else if(month==2){
    if(year%4==0)
     return 60
    else
     return 59
    }
   else if(month==3){
    if(year%4==0)
     return 91
    else
     return 90
    }
   else if(month==4){
    if(year%4==0)
     return 121
    else
     return 120
    }
   else if(month==5){
    if(year%4==0)
     return 152
    else
     return 151
    }
   else if(month==6){
    if(year%4==0)
     return 182
    else
     return 181
    }
   else if(month==7){
    if(year%4==0)
     return 213
    else
     return 212
    }
   else if(month==8){
    if(year%4==0)
     return 244
    else
     return 243
    }
   else if(month==9){
    if(year%4==0)
     return 274
    else
     return 273
    }
   else if(month==10){
    if(year%4==0)
     return 305
    else
     return 304
    }
   else if(month==11){
    if(year%4==0)
     return 335
    else
     return 334
    }
   else if(month==12){
    if(year%4==0)
     return 366
    else
     return 365
    }
  }

  // 요일 표시
  // (요일 구하기 함수의 부분....)
  function day_str(num) {
   if(num==0)
    return "일"
   else if(num==1)
    return "월"
   else if(num==2)
    return "화"
   else if(num==3)
    return "수"
   else if(num==4)
    return "목"
   else if(num==5)
    return "금"
   else
    return "토"
  }


 
  // 처리부...
  document.write(ext_day(2008,5,24))
 </script>



맨 마지막의 ext_day(년,월,일) 을 입력하면 해당요일이 출력됩니다.
혹, 잘못된 부분이나 버그가 존재 할수 있으므로 사용에 참고하시기 바랍니다

Posted by 해비
2008. 4. 29. 14:31
구시대의 유물이 된 DOS명령어...
크케 쓰일일이 있을까합니다만은... 일단 한번 정리해 보았습니다.


1. 내부 명령어....
(별도의 파일없이 부팅되면 사용가능 함.)

* 디렉토리 작업
cd (디렉토리명) - change directory 즉 디렉토리 이동
md (디렉토리명) - make directory의 약자로 디렉토리 생성
rd (디렉토리명) - remove directory 디렉토리 삭제

*파일 작업
copy - 파일 복사시 사용, 텍스트 파일 생성시에도 사용됨
del - 파일 삭제시 사용
type - 파일 내용 출력
(명령어) > (파일명) - 명령어가 출력하는 내용을 지정된 파일명으로 파일로 출력
(명령어) >> (파일명) - 위와 동일한기능을하며, 기존 파일명의 내용에 새로운내용 추가됨

*파일, 디렉토리 공용
ren - 이름 변경시 사용

*보기(화면출력)
cls - 화면을 깨긋하게 지움
dir - 디렉토리 및 파일의 리스트 표시
ver - 도스 버젼 출력

*시간 변경(시스템)
date - 시스템 날짜 확인 및 수정
time - 시스템 시간 확인 및 수정



2. 외부 명령어...
(자주 사용되나, 별도의 실행파일이 있어야 함.)
edit - 텍스트 편집 프로그램
sys - 지정한 드라이브로 시스템 파일 전송(Win98버젼 추천, ME 버젼은 C만 가능함)
xcopy - copy보다 좋다. 디렉토리 및 하위디렉토리 구조까지 모두 복사가능.

Posted by 해비
2008. 3. 21. 09:17

사용자 삽입 이미지
사용자 삽입 이미지


작년 추석이벤트... 로 뿌려진 한복인데 고려시대의 한복이라네요(확실한지는 모름...)
그 이전에 이벤트로 나온제 조선시대의 한복이라고 하던데...

어쨋건,
완성하는대 대략 염색앰플 25개 가량 소모된거 같네용~
근데 색은 맘에 들어서... 결론은 만족^^;;
Posted by 해비
2008. 3. 21. 08:50


자바스크립트의 간단한 구문을 설명합니다.
학교에서 배운 내용을 기반으로 작성하였습니다.

구문이 대부분 C와 유사하므로, 이 부분은 생략합니다. -_- v


- 절대값 구하기
변수 = Math.abs(Number(a))
- 파란색은 반드시 위와 같은 형태로 대소문자 구분하여 표기해야 함...

ex)
   c=Math.abs(Number(-7))
   document.write("절대 값 : "+c)
- -7에 대한 절대값, 7이 출력됩니다.



- 키보드로 부터 입력을 받아옴
변수=prompt("내용을 입력하세요","기본으로 입력 되어져 있을 값")
ex)
   a=prompt("내용을 입력하세요","10")
   document.write("입력한 값 : "+a)
- 브라우저 실행 시, 내용을 입력하세요 라는 창이 뜨며 그 기본값으로 10이 들어있는것을 확인할수 있습니다.
- 그냥 확인을 누르면 ... "입력한 값 : 10" 이 출력 될것이고, 임의의 어떤 값 또는 문자를 입력하면 "입력한 값 : 텍스트" 의 형태로 출력 됩니다.



- 화면에 문자 출력
document.write("출력할 내용")

가정1. 변수의 내용과 함께 텍스트 출력...
document.write("텍스트"+변수+"텍스트")
- 텍스트와 출력할 변수 사이에 '+' 를 넣음으로서 같이 출력이 가능하다.

Posted by 해비
2007. 12. 31. 11:54

액면가는 과연 얼마나 될까요오? ^^

사진 나갑니다~~ (디카가 아주 오래전 거라서 화질이 좋지 않아용)
사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지


사용자 삽입 이미지






















맨 아래 사진은 100원짜리 동전 좀 오래된 것들만 분류해봤습니다 ㅎㅎ

500원 짜리는 모으다가 중간에 꽤 써버린 관계로... ;;
500원, 100원은 잔돈이라도 잘 쓰이죵... 특히 500원 동전이!!

10원 짜리와 50원 짜리 동전은 언제나 찬밥신세... 모은 갯수를 보더라도...



할인마트 갔다가 뭐 사고나서 현금결재 하고나면 남는 잔돈을 그냥 모아둔게 이렇게 되네요 ㅎㅎ


은행에 갖다 주고 통장에 입금시킬까... 하다가 역시 그냥 콜렉션 해야 겠다고 생각중...
(말하자면... 동전수집?)


Posted by 해비
2007. 12. 26. 19:54
첨부된 소스파일은 Visual Studio 2005 (Service Pack 1) 에서 작성되었습니다.


실행화면...
사용자 삽입 이미지














Spin 컨트롤 예제 입니다.

1. MFC 응용프로그램 프로젝트 생성
2. 다이얼로그 기반으로 선택하고 마침 선택


컨트롤 ID 설정(기본값 사용)
IDC_EDIT1
IDC_SPIN1


헤더에 스핀의 값을 기억할 변수 선언(SpinExDlg.h)
사용자 삽입 이미지








변수값 초기화...(SpinExDlg.cpp)
사용자 삽입 이미지










이제 마지막으로... 아래의 코드 작성...
(스핀 컨트롤 더블클릭하면 아래 코드 작성하도록 나옵니다)
사용자 삽입 이미지





















캡쳐 하는데 spin_val-- 아랫줄에 커서도 같이 찍혔네요 -0-''

음... 이로써 끝났습니다.


스핀 컨트롤의 경우에도 스크롤바와 같이...

SetRange(int Min, int Max)
SetPos(int)
GetPos()
가 분명 존재 합니다...

하지만, 저것들을 사용해서 범위 지정하고, 위치값 얻어오는 과정에서 이상한 값이 출력되고 맙니다.
위치값 뿐만 아니라 버튼 위,아래의 오작동에 대한 증상도 같이 나타납니다.
(궁금하면 직접 해보시길...)

비주얼 스튜디오 6.0과 2005에서 동일 증상이 나타납니다.

따라서 여기 예제에서는 저런것들은 쓰지 않고, 단지 △, ▽가 눌린것을 체크하여서 임의의 변수에 값을 저장한 다음 그것을 출력하는 방식을 취하게 되었습니다.
Posted by 해비
2007. 12. 26. 02:12

첨부된 소스파일은 Visual Studio 2005 (Service Pack 1) 에서 작성되었습니다.


방학 후 혼자 MFC 가지고 놀고 있습니다...
프로그래밍 내공(?) 수련중... 이라고 해도 될거 같군요~

한동안 프로그래밍 안하다가 단지 몇주만에 다시 간단한거 하나 하는데도 몇 시간이 걸려 버리는군요... OTL

실행 화면입니다.
사용자 삽입 이미지
















스크롤바 컨트롤의  경우, 그냥 폼에 갖다 놓는다고 해서 작동하지는 않습니다.

직접 실행해 보신분들은 아시겠지만...
마우스로 움직여도 원래 위치로 되돌아가고 맙니다.

그럼 천천히 시작해 보도록 하죠~

1. ScrollBarEx 라는 프로젝트 명으로 MFC 프로젝트 생성
2. 다이얼로그 기반 으로 선택 후, '마침' 선택

컨트롤 ID 설정(기본값 사용했습니다)
IDC_EDIT1
IDC_EDIT2
IDC_SCROLLBAR1
IDC_SCROLLBAR2

IDC_SCROLLBAR1 - 가로, IDC_EDIT1 - 가로 위치
IDC_SCROLLBAR2 - 세로, IDC_EDIT2 - 세로 위치



ScrollBarExDlg.h 파일에 다음과 같이 변수를 선언합니다.
사용자 삽입 이미지









ScrollBarExDlg.cpp 에 다음과 같이 초기값을 지정해 줍니다.
사용자 삽입 이미지





















OnInitDialog 부분은 다이얼로그가 생성되면서 실행되는 부분입니다.
따라서, 여기에 변수나 컨트롤의 초기화를 해 주면 딱 좋은 위치입니다.



폼의 WM_HSCROLL 메시지 부분입니다.
이 부분을 설정함으로써, 드디어 스크롤바가 정상작동을 하게 됩니다.
사용자 삽입 이미지





















SB_LINELEFT, SB_LINERIGHT는 각각 좌,우의 삼각형 모양 (◁,▷)을 클릭했을때 입니다.
SB_PAGELEFT, SB_PAGERIGHT는 각각 현재 위치 기준으로 좌, 우의 빈칸을 클릭했을때 입니다.
SB_THUMBTRACK 은 위치를 고정시키는 부분입니다.
(요거 빼먹으면 위 코드들은 말짱 도루묵 된다는 거~)



세로 스크롤바도 가로 스크롤바와 비슷합니다.
폼의 WM_VSCROLL 메시지 입니다.
사용자 삽입 이미지





















여기까지 입니다.

SB_LINEUP, SB_LINEDOWN, SB_PAGEUP, SB_PAGEDOWN은 위 가로 스크롤바와 기능이 비슷하므로 설명 생략합니다.

한가지 추가로 적자면... 이 부분 소스는 맨 아랫줄 1줄을 제외하고 건들필요 없습니다.
SB_LINEUP, SB_LINEDOWN, SB_PAGEUP, SB_PAGEDOWN는 각각
SB_LINELEFT, SB_LINERIGHT, SB_PAGELEFT, SB_PAGERIGHT로 두어도 정상적으로 동작합니다.

컴파일 후 실행하면 OK~
Posted by 해비