Kako napraviti petlju koja radi periodički

poruka: 28
|
čitano: 5.141
|
moderatori: XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
neaktivan
offline
Kako napraviti petlju koja radi periodički

Jel mi moze netko rec kako napraviti periodicni program...tj. da se dogada svake npr. 0.4 sekunde...

C++ jezik

Poruka je uređivana zadnji put sub 3.7.2010 21:24 (calex3).
 
0 0 hvala 0
17 godina
protjeran
offline
RE: Kako napraviti petlju koja radi periodički

Primjer?

15 godina
protjeran
offline
Kako napraviti petlju koja radi periodički

Koristi timer.

We come to love not by finding a perfect person, but by learning to see an imperfect person perfectly.
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički

Da naprimjer ispisuje brojeve od 1-10 na ekranu i da svakog iduceg ispise nakon 1 sekunde...

15 godina
offline
Kako napraviti petlju koja radi periodički

Koji jezik?

Ako slučajno pomognem molimo pritisnite gumb hvala.
 
0 0 hvala 0
15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički

C++

...

ako moze primjer ako neko zna...

15 godina
protjeran
offline
Kako napraviti petlju koja radi periodički
calex3 kaže...

Da naprimjer ispisuje brojeve od 1-10 na ekranu i da svakog iduceg ispise nakon 1 sekunde...

Luka P. kaže...

Koristi timer.

 

EDIT: Postavi timer sa intervalom od 1 sekunde i onda na tick event stavi da ispiše broj neki... I opet postavi timer

We come to love not by finding a perfect person, but by learning to see an imperfect person perfectly.
Poruka je uređivana zadnji put sub 3.7.2010 21:25 (Luka P.).
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički

Ako moze primjer .... novi sam u c++ ....ne znam kako koristiti timer...

15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički

Evo source: 

 

 

#include<cstdlib>

#include<cstdio>

#include<ctime>

using namespace std;

 

int main(){

   int a=time(0);

   for (int i=1; i<11;){

     int b=time(0);

     if (b-a==1) { a=b; printf("%d\n", i++);}

   }

 

   return 0;

}

 

Poruka je uređivana zadnji put sub 3.7.2010 21:39 (ja čovjek).
15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički

Okej Hvala ja čovjek to je to ;)

15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički

Drago mi je da mogu pomoć.

15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički

Ehh okej je ovo ali sad mi treba za svake 0.4 sekunde...proba sam stavit float ili doubl umjesto integet i stavit razliku na 0.4 ali ne radi...

Moze pomoc???

15 godina
protjeran
offline
RE: Kako napraviti petlju koja radi periodički
calex3 kaže...

Ehh okej je ovo ali sad mi treba za svake 0.4 sekunde...proba sam stavit float ili doubl umjesto integet i stavit razliku na 0.4 ali ne radi...

Moze pomoc???

Postavi timer xD

http://msdn.microsoft.com/en-us/library/system.timers.timer%28VS.71%29.aspx

We come to love not by finding a perfect person, but by learning to see an imperfect person perfectly.
15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički

Jel mi mozes ubacit ovo u program da svake 0.2 radi....

Evo source od programa...

 

#include <cstdlib>
#include <iostream>
#include <winbgim.h>
#include <time.h>

using namespace std;

int main()
{
    int gdriver = 9, gmode = 2, x=320, y=240, ox[1], op[1];
    op[0]=0;
    ox[0]=16;
    initgraph(&gdriver, &gmode, "");
   
    setbkcolor(COLOR(255,255,255));
    setcolor(COLOR(0,0,0));

    cleardevice();

    while(!kbhit())
    {
        //OVDJE BI TREBA DOC TIMER DA MI PONAVLJA OVO SVAKIH 0.2 sec        
       int a=time(0);
       int b=time(0);
       if (b-a==1)
       {
           a=b;
           //Circle moving//
           if(op[0]==0)
           {
                setcolor(COLOR(255,255,255));
                ox[0]+=5;
                if(ox[0]==624) op[0]=1;
                circle(ox[0]-5,150,15);
                setcolor(COLOR(0,0,0));
           }
           else
           {
              setcolor(COLOR(255,255,255));
                ox[0]-=5;
                if(ox[0]==16) op[0]=0;
                circle(ox[0]+5,150,15);
                setcolor(COLOR(0,0,0));
           }
           circle(ox[0],150,15);
           //End of circle creating//
       }
    }

    closegraph();
    return 0;
}

Poruka je uređivana zadnji put sub 3.7.2010 22:08 (calex3).
15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički

#include<cstdlib>

#include<cstdio>

#include<ctime>

using namespace std;

 

int main(){

   int a=clock();

   for (int i=1; i<11;){

     int b=clock();

     if (b-a>=400000) { a=b; printf("%d\n", i++);}

   }

   return 0;

}

U jednoj sekundi se desi 10^6 clockova. To ti daje malo vise mjesta.

15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički

 

#include <cstdlib>

#include <iostream>

#include <winbgim.h>

#include <time.h>

 

using namespace std;

 

int main()

{

   int gdriver = 9, gmode = 2, x=320, y=240, ox[1], op[1];

   op[0]=0;

   ox[0]=16;

   initgraph(&gdriver, &gmode, "");

 

   setbkcolor(COLOR(255,255,255));

   setcolor(COLOR(0,0,0));

 

   cleardevice();

   int a=clock();

   while(!kbhit())

   {

      int b=clock();

     if (b-a>=200000) { a=b; 

     //OVDJE BI TREBA DOC TIMER DA MI PONAVLJA OVO SVAKIH 0.2 sec     

     int a=time(0);

     int b=time(0);

     if (b-a==1)

     {

       a=b;

       //Circle moving//

       if(op[0]==0)

       {

         setcolor(COLOR(255,255,255));

         ox[0]+=5;

         if(ox[0]==624) op[0]=1;

         circle(ox[0]-5,150,15);

         setcolor(COLOR(0,0,0));

       }

       else

       {

        setcolor(COLOR(255,255,255));

         ox[0]-=5;

         if(ox[0]==16) op[0]=0;

         circle(ox[0]+5,150,15);

         setcolor(COLOR(0,0,0));

       }

       circle(ox[0],150,15);

       //End of circle creating//

     }

   }}

 

   closegraph();

   return 0;

}

 

 

 

 

 

 

Sad se taj dio radi svake 0.2 sekunde. Nisam kompajlirao jer imas neke win library-e koji kod mene na linuxu ne postoje.

 

Poruka je uređivana zadnji put sub 3.7.2010 22:13 (ja čovjek).
15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički

Ne radi mi ne znam zasto :/

15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički

Jel se compile-ira?

15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički

Naravno :)

15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički

I dokle dode?

15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički

Dode do kraja...Program ne radi....uzeja sam onaj tvoj primjer

#include<cstdlib>
#include<cstdio>
#include<ctime>

using namespace std;

int main(){

   int a=clock();
   for (int i=1; i<11;){
     int b=clock();
     if (b-a>=400000) { a=b; printf("%d\n", i++);}
   }
   return 0;
}

15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički

Jel to radi?

 

15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički

Ne .... :/

15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički

daj mi svoj msn ili gmail acc, nesto za IM.

15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički

crazy.calex@hotmail.com ...

15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički

Ulogiraj se na taj msn.

15 godina
neaktivan
offline
Kako napraviti petlju koja radi periodički

Stvar riješena preko team viewera. Problem je bio u razlici vrijednosti CLOCKS_PER_SEC.

 
0 0 hvala 1
15 godina
neaktivan
offline
RE: Kako napraviti petlju koja radi periodički
ja čovjek kaže...

Stvar riješena preko team viewera. Problem je bio u razlici vrijednosti CLOCKS_PER_SEC.

Da HVALA ;)

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice