Digital Clock Using C++


SUBMITTED BY: Hemraj4545

DATE: May 27, 2017, 3:42 p.m.

FORMAT: Text only

SIZE: 3.5 kB

HITS: 478

  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<graphics.h>
  4. #include<math.h>
  5. #include<stdlib.h>
  6. #include<dos.h>
  7. #define PI 3.141593
  8. #define R 170
  9. #define sc setcolor
  10. char *month[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
  11. void Box(int x,int y,int x1,int y1,int width,int color,int color1)
  12. {int i;
  13. for(i=0;i<width;i++)
  14. {sc(color);line(x+i,y+i,x+i,y1-i);line(x+i,y+i,x1-i,y+i);
  15. sc(color1);line(x+i,y1-i,x1-i,y1-i);line(x1-i,y+i,x1-i,y1-i);}
  16. }
  17. void main(){int gd=DETECT,gm,midx,midy,i;
  18. initgraph(&gd,&gm,"C:\\TC\\BGI");
  19. midx=getmaxx()/2;
  20. midy=getmaxy()/2;
  21. setbkcolor(0); sc(15);
  22. setfillstyle(1,10); fillellipse( midx , midy , 207 , 207 );
  23. setfillstyle(1,7); fillellipse( midx , midy , 200 , 200 );
  24. for(i=0;i<12;i++) pieslice( midx , midy , i*30 , (i+1)*30 , 200 );
  25. sc(7); fillellipse( midx , midy , 185 , 185 );
  26. settextstyle( TRIPLEX_FONT , HORIZ_DIR , 1 );
  27. char ss[90];int P,Q;
  28. for(i=1;i<=12;i++){ sc(1); sprintf(ss,"%d",i);
  29. if(i==5) { P=10 ; Q=-10; }
  30. else if(i==6){ P=20 ; Q=-5; }
  31. else if(i==4) Q=-10;
  32. else if(i==7){ P=7 ; Q=5; }
  33. else { P=0 ; Q=0; }//show number
  34. outtextxy( midx+185*sin(PI*30*i/180)+Q , midy-P-185*cos(PI*30*i/180) , ss);}
  35. while(!kbhit()){
  36. settextstyle( TRIPLEX_FONT , HORIZ_DIR , 1 );
  37. sc( 9 );outtextxy( midx-52 , midy-132 , "IECH SETHA" );
  38. struct dosdate_t date; _dos_getdate(&date);
  39. sprintf( ss , "%d" , date.year );
  40. sc(15); outtextxy( midx-20 , 5 , ss );//show year
  41. settextstyle( 0 , 0 , 1 ); sc( 4 );
  42. sprintf( ss , "%d %s" ,date.day,month[date.month-1] );
  43. outtextxy( 297 , midy-150 , ss );//show date
  44. sc(12); outtextxy( midx-15 , midy+150 , "RUPP" );
  45. Box( midx-26 , midy-156 , midx+26 , midy-140 , 1 , 8 , 15 );
  46. //box of date
  47. struct dostime_t t; _dos_gettime(&t);
  48. if(t.hour>12)t.hour=t.hour-12;
  49. sprintf( ss,"%02d:%02d:%02d",t.hour,t.minute,t.second );
  50. setfillstyle(1,7);bar( midx+160 , midy-9 , midx+177 , midy+9 );
  51. if(t.minute==0&&t.hour==0&&t.second==0) bar(midx-26,midy-156,midx+126,midy-140);
  52. if(t.second==0) bar( midx+135 , midy-9 , midx+150 , midy+9 );
  53. if(t.second==0&&t.minute==0)bar( midx+112 , midy-9 , midx+128 , midy+9 );
  54. sc(4); outtextxy( midx+112 , midy-2 , ss );
  55. Box( midx+108 , midy-10 , midx+178 , midy+10 , 1 , 8 , 15 );
  56. //box of time
  57. sc(7);line( midx ,midy , midx+sin(PI*6*(t.second-1)/180)*R , midy-cos(PI*6*(t.second-1)/180)*R );
  58. if(t.second%10==0)for(i=-3;i<=3;i++)
  59. line( midx+i , midy+i , midx+sin(PI*(6*t.minute+(t.second-10)/10)/180)*(R-20) , midy-cos(PI*(6*t.minute+(t.second-10)/10)/180)*(R-20) );
  60. if(t.second==0)for(i=-4;i<5;i++)
  61. line( midx+i , midy+i , midx+sin(PI*(30*t.hour+(t.minute-2)/2)/180)*(R-70) , midy-cos(PI*(30*t.hour+(t.minute-2)/2)/180)*(R-70) );
  62. //line of second
  63. sc(0);line( midx , midy , midx+sin(PI*6*t.second/180)*R , midy-cos(PI*6*t.second/180)*R );
  64. for(i=-3;i<=3;i++)//line of minute
  65. line( midx+i , midy+i , midx+sin(PI*(6*t.minute+t.second/10)/180)*(R-20) , midy-cos(PI*(6*t.minute+t.second/10)/180)*(R-20) );
  66. for(i=-4;i<5;i++)//line of hour
  67. line( midx+i , midy+i , midx+sin(PI*(30*t.hour+t.minute/2)/180)*(R-70) , midy-cos(PI*(30*t.hour+t.minute/2)/180)*(R-70));
  68. if(t.minute==0&&t.second<=15)sound(600*(t.second+5)/5);
  69. else nosound();
  70. setfillstyle(1,4);fillellipse( midx , midy , 5 , 5 );
  71. delay(100);}//end while
  72. closegraph();
  73. }

comments powered by Disqus