'timer'에 해당되는 글 2건

  1. 2012.05.31 C++ - rand, srand(난수발생), sleep(지연)
  2. 2010.07.20 C#(윈도모바일) - GPS_timer


콘솔 좌표이동, 색상변경함수(http://topnanis.tistory.com/173)와 함께 자주 사용됩니다.


다음은 0.1초마다 두 자릿수의 랜덤값을 출력하는 소스입니다. rand 혹은 rand 함수는 많은 헤더에 포함되어 있으나 기본은 <stdlib.h> 입니다.


 #include <iostream>         //rand

 #include <time.h> //time

 #include <Windows.h> //sleep, rand

//#include <stdlib.h>          //rand


using namespace std;


int main()

{

srand(time(NULL));

while(true)

{

Sleep(100); //Milliseconds


cout<<rand()%100<<" "; //less 100

}

return 0;

}



* Rand

참고로 rand는 같은 패턴의 난수를 발생시키므로 변경되는 seed값이 들어있는  srand(time(NULL));를 한 줄 위에 포함시켜 주면 패턴이 눈에 띄지 않습니다. 하지만 time(NULL)이라는 것이 작은 수의 일정한 증가이므로 좌표에 찍다보면 만족스럽지 못한 결과값이 출력 되기도 합니다. 그럴 때 저는 랜덤을 곱(rand()*rand()*n 이런식)하거나  millisecond단위의 seed를 썼던것 같은데.. C에서는 별도로 만들어야 되나봐요. 



* Sleep

sleep을 다른 곳에서는 단위가 second라고도 하는데.. 저는 Milliseconds여서 1000이 일초가 나왔어요. for문을 천번이니 만번이니 돌리는 것보다야 정확하겠지만 실제로 시계프로그램을 만들정도로 신뢰 할만한 수준은 나오지 않지요, CPU 사용량에 따라서도 조금씩 오차가 생기기도 하니까.

절대적인 시간까지는 아니더라도 그럴때는 date를 연결하는 편이 좋습니다. if(현재시간 - 전시간 == 10초) 이런 식으로 말이죠.





신고
Posted by 준환이형님

댓글을 달아 주세요

모두들 안드로이드 플래폼을 배운다고 분주한 이때.. 저는 어느덧 사양언어가 되어버린 윈모를 혼자서 만들고 있답니다.. 쓸쓸..-_-..

어린이 보호 LBS(위치기반) 어플을 만드는 것이 목적. LBS의 특성상 모바일 배터리 소모가 중요한 문제가 되었고.. 사전작업으로 저는 지금 윈모폰으로 일정한 시간 간격으로 GPS값을 받아오는 더미프로그램을 만들고 있어요..

아.. 3G나 와이파이가 없이도 내 위치가 표시되는 건 신기하군요. 위성들도 날 보고 있겠죠 :D

당분간 C#코드와 소스파일을 업뎃하려고 합니다_ 윈모사랑하시는 분 .. 없나요? ㅠㅠㅠ

참, 윈모폰(터치다이아몬드)는 친구 주재님께서 온갖생색다내면서 무료로 주셨습니다/ 고마워친구야♥
저작자 표시
신고
Posted by 준환이형님

댓글을 달아 주세요