Gettime() - zastosowanie graficzne

0

Witam. Chce zrobic zegar w c++ ale nie moge powiazac funcki godzina(), minuta(), sekunda() z funkcja gettime(). Dokladnie chodzi mi o to, jak przesowac wskazowki zegara zgodnie z czasem systemowym.(Wskazowki juz mam) Jak to powiazac ze soba. Pracuje na kompilatorze Borland C++ 3.1. Wiem ze gettime() inaczej sie stosuje bo ustawia sie strukture time, ale nie mam pojecia jak to odniesc do moich funkcji. Chce zrobic cos w tym stylu:

main()
{
grafika();
tarcza();
do {
      gettime(h,m,s,ss);
      if (s!=zacznij)
         {
          godzina();
          minuta();
          sekunda();
          zacznij=s;
          }
     } while (z!=27);
return 0;
}   

Z gory dzieki za pomoc!</cpp>

0

Juz wiekszosc mi sie udalo tylko nie wiem jak to powiazac dalej:( tu caly kod jest.

#include <graphics.h>
#include <stdlib.h>
#include <iostream.h>
#include <conio.h>
#include <math.h>
#include <dos.h>
#define PATH "c:\\bc\\bgi"
inline int zao(double l)
  { return(l+0.5); }
void grafika();
void tarcza();
void godz();
void min();
void sec();
const double pi=3.14159265;
double godzina,minuta,sekunda;
struct time t;
main()
{
grafika();
tarcza();
do{
godz();
min();
sec();
} while(!kbhit());
getch();
closegraph();
return 0;
}
void grafika()
  {
      int sterownik=DETECT, tryb, error;
	   initgraph(&sterownik, &tryb,PATH);
	   error = graphresult();
	   if (error != grOk)
	      {
		   cout<<"Blad: "<<grapherrormsg(error);
		   getch();
		   exit(1);
	      }
   }
//******
void tarcza()
  {
  int x=getmaxx()/2;
  int y=getmaxy()/2;
  double kat;
 int g,c,x1,y1,x2,y2;
	setcolor(1);
	for (int r=190;r<195;r++)
		circle(x,y,r);
	setcolor(4);
	setfillstyle(9,6);
	circle(x,y,189);
	floodfill(x,y,4);
 for (int i=0;i<61;i++)
    {
	kat=i*(pi/30);
	if (i%5==0)
	  {
		c=183;
		g=200;
		r=7;
	  }
	else
	  {

		c=180;
		g=170;
		r=2;
	  }
	 x1=zao(sin(kat-pi/2)*c)+x;
	 y1=zao(cos(kat-pi/2)*c)+y;
	 x2=zao(sin(kat-pi/2)*g)+x;
	 y2=zao(cos(kat-pi/2)*g)+y;
	 if (i%5==0)
	    {
		 setcolor(7);
		 setfillstyle(1,7);
		 circle(x1,y1,r);
		 floodfill(x1,y1,7);
	    }
	 else
	    {
		 setcolor(15);
		 setlinestyle(0,0,3);
		 line(x1,y1,x2,y2);
	    }
    }
    setlinestyle(0,0,0);
    setfillstyle(1,15);
    setcolor(15);
    circle(x,y,6);
    floodfill(x,y,15);
  }
//*****
void godz()
 {
   int x=getmaxx()/2;
   int y=getmaxy()/2;
   double  godz;
   int x2=zao(cos(godzina-pi/2)*100)+x;
   int y2=zao(sin(godzina-pi/2)*100)+y;
    setcolor(6);
    line(x,y,x2,y2);
    setcolor(15);
    godz=t.ti_hour*(pi/6)+t.ti_min*(pi/360);
    godzina=godz;
    line(x,y,x2,y2);
 }
//***
void min()
  {
   int x=getmaxx()/2;
   int y=getmaxy()/2;
   double min;
   int x2=zao(cos(minuta-pi/2)*165)+x;
   int y2=zao(sin(minuta-pi/2)*165)+y;
   setcolor(6);
   line(x,y,x2,y2);
   setcolor(15);
   min=t.ti_min*(pi/30)+t.ti_sec*(pi/1800);
   minuta=min;
   line(x,y,x2,y2);
  }
void sec()
  {
   int x=getmaxx()/2;
   int y=getmaxy()/2;
   double sec;
   int x2=zao(cos(sekunda-pi/2)*175)+x;
   int y2=zao(sin(sekunda-pi/2)*175)+y;
   setcolor(6);
   line(x,y,x2,y2);
   setcolor(15);
   sec=t.ti_sec*(pi/30);
   sekunda=sec;
   line(x,y,x2,y2);
  }

Prosze o pomoc:(

1 użytkowników online, w tym zalogowanych: 0, gości: 1