2012.07.14 22:11

메시지를 입력하면  소리로 출력합니다.


윈도에서만 작동합니다.



컴파일에 필요한 morsecode version 1.0을 추가했습니다


morsecode.h


morsecodeprogram.c


morsecodeprogram.exe



신고
2012.07.13 23:02

dev-c++ 다운로드 링크

Bloodshed(제작사)링크: http://www.bloodshed.net/dev/devcpp.html

Orwell 링크: http://sourceforge.net/projects/orwelldevcpp/?source=recommended

포터블 링크: http://sourceforge.net/projects/devcpp-portable/?source=recommended


code blocks 다운로드 링크

http://sourceforge.net/projects/codeblocks/?source=recommended



모두 무료이며, 오픈 소스 프로젝트입니다.

Microsoft Visual C++을 사용하시는 분들!

혹시 VC복돌쓰세요? 아니면 너무 무거워서 바꾸고 싶으세요?

그렇다면! dev-c++이나 code blocks로 갈아타는 것도 나쁘진 않아요~

저작자 표시 비영리 동일 조건 변경 허락
신고

'C Language' 카테고리의 다른 글

무료 C(++) IDE 다운로드(dev-c++, code blocks)  (4) 2012.07.13
2012.07.12 20:01

mson 헤더 중 하나인 msound.h를 이용해 만들었습니다.

연습작이어서 박자 구분은 안뒀고요

msound.h는 본 블로그 mson헤더 모음 카테고리에서 받으실 수 있습니다.


p.s. 윈도에서만 가능한 ㅋ



Sen And Chihiro.c


Sen And Chihiro.exe


저작자 표시 비영리 동일 조건 변경 허락
신고
2012.07.08 20:09

이번에는 Beep() 함수로 동요 비행기를 연주해 보았습니다.

(비행기를 연주한게 꼭 쉬워서만은 아님)


뭐 쨌든 소스코드랑 exe 배포합니다.



flight_song.c


flight_song.exe


저작자 표시 비영리 동일 조건 변경 허락
신고
2012.07.08 19:04

beep_selector입니다.

Windows.h의 Beep함수를 사용했습니다.


Beep 함수의 프로토타입(원형)은

BOOL WINAPI Beep(
  __in          DWORD dwFreq,
  __in          DWORD dwDuration
);

과 같으며 피라미터(인자)는 다음과 같습니다.


dwFreq: 출력할 주파수(37~32767)

dwDuration: 지속시간(단위: ms)


어떤 블로그에서 dwFreq가 Hz 단위라 하여 본 프로그램에도 Hz 단위를 사용하였습니다.


32부터 32767까지 재생하므로 모두 재생하려면 매우 많은 시간이 소요됩니다. 따라서 자신이 원하는 부분은 같이 첨부된 예제(beep_exam.c)를 응용하거나 Choose_beep_selector.c를 이용하시기 바랍니다.

exe파일은 beep_selector.c만 올려드립니다.



beep_exam.c


beep_selector.c


beep_selector.exe


Choose_beep_selector.c


저작자 표시 비영리 변경 금지
신고
2012.02.04 23:32
소수판별기입니다.
제작언어: C
컴파일러: Dev-C++

===== 알고리즘 =====
1. int형으로 선언된 num변수에 사용자로부터 정수를 입력받는다
2. int형으로 선언, 2로 초기화 된 count 변수를  (num-1)까지 1씩 증가시키며 반복한다.
3. 반복중 num을 count로 나누었을때 나머지가 0이면 합성수이기때문에,
4. int형으로 선언, 1로 초기화 된 opt변수에 0으로 대입하고, break을 시킨다.
5. 반복문이 끝나고 opt변수를 비교하여 1이하이면 소수도 합성수도 아니고
6. opt가 1이면 소수, opt가 0이면 합성수를 반환한다.
7. 위의 과정을 무한루프로 돌린다.


저작자 표시 비영리 동일 조건 변경 허락
신고
2011.06.06 15:08
덧셈 계산기 시리즈가 시작됩니다. 그 중 가장 기초적인 덧셈 계산기 Class C에서는 서식문자와 연산자에 대해서 설명합니다.



본 강좌는 minchoro123에게 있으며 무단 배포시 처벌받으실 수 있습니다.
Copyright(c)2011 Minchoro123 All rights reserved

 

저작자 표시 비영리 동일 조건 변경 허락
신고
2011.05.10 13:18
안녕하십니까? 이제 2강입니다.
2강부터는 별다른 공지가 없는 이상 동영상으로 강의를 제공하도록 하겠습니다.


본 강좌는 minchoro123에게 있으며 무단 배포시 처벌받으실 수 있습니다.
Copyright(c)2011 Minchoro123 All rights reserved
저작자 표시 비영리 동일 조건 변경 허락
신고
2011.04.28 17:08

드디어 시험이 끝났습니다... 시험기간에 노트에 적으며 연구한 소수 판별 소스와 오늘 만든 30분 완성 서로소 판별 소스입니다..

아.. 시험이 끝나도 기쁘지 않군요... 프로그램 첨부했습니다.

 

# 사용 컴파일러 : DEV-CPP(이건 뭐 디폴트 값인가?)

 

 --------------------------------------------------------------------------------------

소수 판별

 

#include <stdio.h>

int main(void)
{
    int opt = 0, count = 0, per = 0;
   
    printf("소수 판변 프로그램\n");
    printf("Copyright(c)2011 Minchoro123 All rights reserved\n\n");
    while(1)
    {
            printf("정수 입력: ");
            scanf("%d",&opt);
   
            for(count = 2;count < opt;count++)
            {
                      per = opt % count;
                      if(per == 0)
                      {
                             break;
                      }
            }
            if(per == 0)
            {
                      printf("소수가 아닙니다\n");
                      printf("나누어지는 가장 작은 수: %d\n",count);
                      printf("나누어지는 가장 큰 수: %d\n",opt/count);
            }
            if(per != 0)
            {
                      printf("소수입니다\n");
            }
            printf("\n");
    }
    return 0;
}

 

 

서로소 판별

 

#include <stdio.h>

int main(void)
{
    int num1 = 0, num2 = 0, count = 0, per1 = 0, per2 = 0, rela = 0;
   
    printf("서로소 판별 프로그램\n");
    printf("Copyright(c)2011 Minchoro All rights reserved\n\n");
    while(1)
    {
            printf("num1: ");
            scanf("%d",&num1);
            printf("num2: ");
            scanf("%d",&num2);
           
            if(num1 <= num2)
            {
                    for(count = 2;count <= num1; count++)
                    {
                              per1 = num1 % count;
                              per2 = num2 % count;
                              if(per1 == 0 && per2 == 0)
                              {
                                      rela = 1;
                                      break;
                              }
                    }
            }
           
            if(num1 > num2)
            {
                    for(count = 2;count <= num2; count++)
                    {
                              per1 = num1 % count;
                              per2 = num2 % count;
                              if(per1 == 0 && per2 == 0)
                              {
                                      rela = 1;
                                      break;
                              }
                    }
            }
           
            if(rela == 1)
            {
                    printf("두 수는 서로소가 아닙니다\n");
                    printf("두 수가 동시에 나누어지는 가장 작은 수: %d\n",count);
            }
            if(rela == 0)
            {
                    printf("두 수는 서로소입니다\n");
            }
            printf("\n");
    }
    return 0;
}
--------------------------------------------------------------------------------------
뭐 프로그램 사용하셔서 도움되시면 좋겠습니다만 너무 허접해서...

저작자 표시 비영리 동일 조건 변경 허락
신고
2011.04.27 14:52
안녕하십니까?
저번 강좌를 보셨다면 이번이 두변째이겠군요...

이번에는 컴파일러에 대해 알아보도록 하겠습니다.


컴파일러? 그게 뭐야?


우리가 기계어를 쉽게 알 수 없습니다. 기계어는 우리가 사용하는 것과는 다르게 1과 0만으로 연산을 하기 때문에 사람이 이해하기 정말 난해한 언어입니다. 물론 엄청난 노력으로 기계어를 알고 있는 사람도 있습니다. 하지만 그렇게 복잡하고 어렵게 기계어를 배울 필요는 없습니다. 기계어 말고도 컴퓨터와 프로그램을 제어할 수 있는 강력한 프로그래밍 언어들이 많기 때문이지요...

예를 들어 어셈블리어를 볼까요?

0040120C      00            DB 00
0040120D      00            DB 00
0040120E      00            DB 00
0040120F      00            DB 00
00401210   .  48 65 6C 6C 6>ASCII "Hello, World!
",0
0040121F   .  50 41 55 53 4>ASCII "PAUSE",0
00401225      8D76 00       LEA ESI,DWORD PTR DS:[ESI]
00401228  /$  55            PUSH EBP
00401229  |.  89E5          MOV EBP,ESP
0040122B  |.  83EC 08       SUB ESP,8
0040122E  |.  E8 AD000000   CALL test.004012E0
00401233  |.  83C4 F4       ADD ESP,-0C
00401236  |.  68 10124000   PUSH test.00401210                       ; /format = "Hello, World!
"
0040123B  |.  E8 18010000   CALL <JMP.&msvcrt.printf>                ; \printf

어셈블리어도 역시 이해하디 어렵고 굉장히 깁니다.(너무 길어서 일부만 나타내었습니다.)


그런데 C언어는?
#include <stdio.h>

int main(void)
{
 printf("Hello, World!\n");
 system("PAUSE");
 return 0;
}

짧죠?

그래서 사람들이 C언어를 가장 많이 씁니다.
또 접근성이나 이식성도 뛰어나죠..

하지만 컴퓨터는 이 C언어를 알아듣지 못합니다.
그래서 사람과 컴퓨터 사이의 통역사 "컴파일러"가 필요합니다.

유명한 컴파일러에는 dev-cpp나 gcc, vc++ 등이 있습니다만 우리는 그중 dev-cpp를 사용할 예정입니다.
아래를 보고 설치를 해주시기 바랍니다.

설치 과정



제1강: 컴파일러란? 끝

이전 강좌: 도입
다음 강좌: 제2강 화면에 출력하자! 세상에 소리치자! Hello, World!
저작자 표시 비영리 동일 조건 변경 허락
신고