2015-01-22 2 views
-3

저는 학생이며 인터넷에서이 코드를 발견했습니다. 아무도 여기에 사용 된 algorythm을 설명 할 수 있습니까?오래된 C 코드를 이해하도록 도와주세요.

#include<stdio.h> 
#include<dos.h> 
#include<conio.h> 
#include<stdlib.h> 

void main() 
{ 
    int count=50; 
    clrscr(); 
    while(count--) 
    { 
     sound(10*random(100)); 
     delay(75); 
     nosound(); 
     textattr(random(16)+'a'+BLINK); 
     cprintf("*"); 
    } 
} 
+0

소리() 란 무엇입니까? 지연 기능은 무엇을합니까, ms 또는 초 또는 초 동안 지연합니까? nosound 무엇입니까? –

+0

나는 실제로는 모르겠다. 나는 터보 C로 튜닝하고 놀랐다. 다성 음악 톤이 나왔다 ... – Dev

+0

http://eforengineers.blogspot.in/2013_08_13_archive.html – Dev

답변

0

터보 C 코드와 비슷합니다. sound은 주어진 주파수를 재생하는 "PC 신호음"을 설정하므로 코드는 루프에서 50 개의 랜덤 톤을 생성합니다. 또한 textattr을 사용하여 임의의 색상을 선택합니다 (가장 일반적인 텍스트 모드는 16 가지 고정 색상을 가지므로, 그 이유는 random(16)입니다). blink 속성이 설정되고 별표가 소리와 함께 50 번 인쇄됩니다. 이것은 실제로 점멸하는 문자를 지원하는 실제 DOS 텍스트 모드를 필요로 할 것이며, 현대 콘솔 창에서는 깜박 거리지 않을 것입니다.

또한 include 파일과 라이브러리는 표준 C 라이브러리가 아니므로 기본적으로 코드는 Turbo C가 수정없이 작동해야합니다. 이 코드는 응용 프로그램이 스스로 컴퓨터 전체를 사용하고 종종 텍스트 모드를 사용하는보다 간단한 PC 소프트웨어 시대에서 나온 것입니다.

+0

흠 ... 네, 고마워요.하지만 .. (예 : == 5와 같은) 또는 while (어떤 종류의 관계)하지만 "while (count--)"이 어떻게 작동 하는지를 압니다. – Dev

+1

아. 음, 꽤 기본적인 C입니다 ... 먼저'count'의 현재 값을 사용하고,'post-decrements *'count'를 사용합니다. 여기서 value는 조건에 사용되며 0은 거짓이고 다른 모든 값은 true입니다. – hyde

관련 문제