Ceas

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Ceas as PDF for free.

More details

  • Words: 369
  • Pages: 4
#include #include #include #include<stdlib.h> #include<dos.h> #include<math.h> int a,b,x,y,R=195,r=R+20,r1=r+20,r_sec=R-5,r_min=R-20,r_ora=R-40; // R=raza cercului cu galben // r=distanta fata de centru la care scriu orele si minutele // r1=raza cercului cu albastru // r_sec=raza secundarului // r_min=raza minutarului // r_ora=raza orarului // culculez abscisa void abscisa( double i, int raza) { x=a+raza*cos(i*M_PI/30-M_PI/2); } // calculez ordonata void ordonata( double i, int raza) { y=b+raza*sin(i*M_PI/30-M_PI/2); } // afisez orele si minutele void ore() { int i; char s[3]; setfillstyle(1,LIGHTGREEN); settextstyle(3,0,3); for(i=1;i<=60;i++) { abscisa(i,r); ordonata(i,r); if(i%5==0) { itoa(i/5,s,10); settextjustify(1,1); outtextxy(x,y,s); } else fillellipse(x,y,2,2); } } // calculez panta unei drepte double panta( double x) { if(x!=15 && x!=30 && x!=45 && x!=60) return -1/tan(x*M_PI/30-M_PI/2); else return 0; } // formez vectorul cu coordonatele void formare_vector( int v[10], double k, int raza, int d) { // k=secunda/minut/ora +...

double difx,dify; abscisa(k,raza); ordonata(k,raza); if(k==15 || k==45) { v[0]=a; v[1]=b-d; v[2]=a; v[3]=b+d; } else if(k==30 || k==60) { v[0]=a+d; v[1]=b; v[2]=a-d; v[3]=b; } else { difx=d/sqrt(panta(k)*panta(k)+1); dify=panta(k)*d/sqrt(panta(k)*panta(k)+1); v[0]=a+difx; v[1]=b+dify; v[2]=a-difx; v[3]=b-dify; } v[4]=x; v[5]=y; } // desenez secundarul void ac_secundar( int secunda) { int v[10],d=10; formare_vector(v,secunda,r_sec,d); setcolor(MAGENTA); setfillstyle(1,MAGENTA); fillpoly(3,v); setcolor(DARKGRAY); setfillstyle(1,LIGHTCYAN); fillellipse(a,b,10,10); delay(1000); setcolor(YELLOW); setfillstyle(1,YELLOW); fillpoly(3,v); } // desenez minutarul void ac_minutar( int minut, int secunda, int ok) { int v[10],d=15; if(ok==1) { formare_vector(v,minut+(double)secunda/60,r_min,d); setcolor(GREEN); setfillstyle(1,GREEN); fillpoly(3,v); } else

{ formare_vector(v,minut+(double)secunda/60,r_min,d); setcolor(YELLOW); setfillstyle(1,YELLOW); fillpoly(3,v); } } // desenez orarul void ac_orar( int ora, int minut, int secunda, int ok) { int v[10],d=23; if(ok==1) { formare_vector(v,ora*5+(double)minut/12+(double)secunda/720,r_ora,d); setcolor(BROWN); setfillstyle(1,BROWN); fillpoly(3,v); } else { formare_vector(v,ora*5+(double)minut/12+(double)secunda/720,r_ora,d); setcolor(YELLOW); setfillstyle(1,YELLOW); fillpoly(3,v); } } // data sistem void get_data() { int an,luna,zi; struct date data; getdate(&data); an=data.da_year; luna=data.da_mon; zi=data.da_day; char s_an[6],s_zi[5]; char a[13][20]={ "","ianuarie","februarie", "martie","aprilie","mai","iunie", "iulie","august","septembrie", "octombrie","noiembrie","decembrie"}; itoa(an,s_an,10); itoa(zi,s_zi,10); setfillstyle(1,WHITE); bar(10,20,175,40); settextstyle(0,0,1); settextjustify(1,1); setcolor(DARKGRAY); outtextxy(25,30,s_zi); outtextxy(83,30,a[luna]); outtextxy(152,30,s_an); } // ora sistem void get_timp( int &ora, int &minut, int &secunda) { struct time timp; gettime(&timp); ora=(double)timp.ti_hour;

if(ora>12) ora=ora-12; minut=(double)timp.ti_min; secunda=(double)timp.ti_sec; } // cercurile galben si albasttru void cercuri() { setcolor(WHITE); setfillstyle(1,BLUE); fillellipse(a,b,r1,r1); setfillstyle(1,YELLOW); fillellipse(a,b,R,R); } void my_name() { setcolor(WHITE); settextstyle(2,0,2); settextjustify(1,1); outtextxy(590,440,"petronela danila"); outtextxy(590,450,"XI C"); outtextxy(590,460,"ianuarie 2007"); } void main() { int gd=DETECT,gm,secunda,minut,ora; initgraph(&gd,&gm,"F:\\tclite\\bgi"); setbkcolor(RED); a=getmaxx()/2; b=getmaxy()/2; my_name(); cercuri(); ore(); get_timp(ora,minut,secunda); for( ;ora<=13;ora++) { get_data(); for( ;minut<=60;minut++) { for( ;secunda<=60;secunda++) { ac_orar(ora,minut,secunda,1); ac_minutar(minut,secunda,1); ac_secundar(secunda); ac_minutar(minut,secunda,0); ac_orar(ora,minut,secunda,0); } secunda=1; } minut=1; if(ora==13) ora=1; } closegraph(); }

Related Documents

Ceas
November 2019 6
Din Ceas Dedus.doc
April 2020 6
Do Direito Adquirido Ao Ceas
November 2019 14