#include #include #include #include void main() { struct time t; /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int midx, midy; static int s1,s2,m1,m2,h1,h2; /* initialize graphics and local variables */ initgraph(&gdriver, &gmode, ""); /* read result of initialization */ errorcode = graphresult(); if (errorcode != grOk) /* an error occurred */ { printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); /* terminate with an error code */ } midx = getmaxx() / 2; midy = getmaxy() / 2; gettime(&t); while(!kbhit()) { setcolor(getmaxcolor()); circle(midx,midy-30,203); circle(midx,midy-30,208); circle(midx,midy-30,2); circle(midx,midy-30,1); // gotoxy(54,4); printf("1"); gotoxy(62,9); printf("2"); gotoxy(64,14); printf("3"); gotoxy(60,20); printf("4"); gotoxy(52,24); printf("5"); gotoxy(40,25); printf("6"); gotoxy(28,24); printf("7"); gotoxy(20,20); printf("8"); gotoxy(17,14); printf("9"); gotoxy(20,9); printf("10"); gotoxy(29,4); printf("11"); gotoxy(40,2); printf("12"); // gotoxy(1,1); printf("Current time is: %2d:%02d:%02d\n",t.ti_hour, t.ti_min, t.ti_sec); gotoxy(5,5); if(t.ti_hour>=12) printf("POST MERIDIEM"); else printf("ANTE MERIDIEM"); switch(t.ti_hour) { case 00: case 12: h1=319; h2=30; break; case 23: case 11: h1=235; h2=70; break; case 22: case 10: h1=175; h2=140; break; case 21: case 9: h1=140; h2=210; break; case 20: case 8: h1=165; h2=305; break; case 19: case 7: h1=230; h2=360; break; case 18: case 6: h1=319; h2=390; break; case 17: case 5: h1=405; h2=355; break; case 16: case 4: h1=465; h2=305; break; case 15: case 3: h1=500; h2=210; break; case 14: case 2: h1=480; h2=140; break; case 13: case 1: h1=425; h2=65; break; } switch(t.ti_min) { case 0: m1=319; m2=40; break; case 59: m1=310; m2=48; break; case 58: m1=296; m2=56; break; case 57: m1=279; m2=64; break; case 56: m1=262; m2=72; break; case 55: m1=245; m2=80; break; case 54: m1=233; m2=89; break; case 53: m1=221; m2=103; break; case 52: m1=209; m2=117; break; case 51: m1=197; m2=131; break; case 50: m1=185; m2=145; break; case 49: m1=180; m2=154; break; case 48: m1=173; m2=168; break; case 47: m1=164; m2=182; break; case 46: m1=157; m2=196; break; case 45: m1=150; m2=210; break; case 44: m1=155; m2=219; break; case 43: m1=160; m2=238; break; case 42: m1=165; m2=257; break; case 41: m1=170; m2=276; break; case 40: m1=175; m2=295; break; case 39: m1=188; m2=306; break; case 38: m1=201; m2=317; break; case 37: m1=214; m2=328; break; case 36: m1=227; m2=339; break; case 35: m1=240; m2=350; break; case 34: m1=247; m2=356; break; case 33: m1=265; m2=362; break; case 32: m1=283; m2=368; break; case 31: m1=301; m2=374; break; case 30: m1=319; m2=380; break; case 29: m1=327; m2=373; break; case 28: m1=344; m2=366; break; case 27: m1=361; m2=359; break; case 26: m1=378; m2=352; break; case 25: m1=395; m2=345; break; case 24: m1=405; m2=335; break; case 23: m1=419; m2=325; break; case 22: m1=431; m2=315; break; case 21: m1=443; m2=305; break; case 20: m1=455; m2=295; break; case 19: m1=462; m2=286; break; case 18: m1=469; m2=267; break; case 17: m1=476; m2=248; break; case 16: m1=483; m2=229; break; case 15: m1=490; m2=210; break; case 14: m1=486; m2=206; break; case 13: m1=482; m2=192; break; case 12: m1=478; m2=178; break; case 11: m1=474; m2=164; break; case 10: m1=470; m2=150; break; case 9: m1=459; m2=135; break; case 8: m1=448; m2=120; break; case 7: m1=437; m2=105; break; case 6: m1=426; m2=90; break; case 5: m1=415; m2=75; break; case 4: m1=403; m2=68; break; case 3: m1=382; m2=61; break; case 2: m1=361; m2=54; break; case 1: m1=340; m2=47; break; } switch(t.ti_sec) { case 0: s1=319; s2=40; break; case 59: s1=310; s2=48; break; case 58: s1=296; s2=56; break; case 57: s1=279; s2=64; break; case 56: s1=262; s2=72; break; case 55: s1=245; s2=80; break; case 54: s1=233; s2=89; break; case 53: s1=221; s2=103; break; case 52: s1=209; s2=117; break; case 51: s1=197; s2=131; break; case 50: s1=185; s2=145; break; case 49: s1=180; s2=154; break; case 48: s1=173; s2=168; break; case 47: s1=164; s2=182; break; case 46: s1=157; s2=196; break; case 45: s1=150; s2=210; break; case 44: s1=155; s2=219; break; case 43: s1=160; s2=238; break; case 42: s1=165; s2=257; break; case 41: s1=170; s2=276; break; case 40: s1=175; s2=295; break; case 39: s1=188; s2=306; break; case 38: s1=201; s2=317; break; case 37: s1=214; s2=328; break; case 36: s1=227; s2=339; break; case 35: s1=240; s2=350; break; case 34: s1=247; s2=356; break; case 33: s1=265; s2=362; break; case 32: s1=283; s2=368; break; case 31: s1=301; s2=374; break; case 30: s1=319; s2=380; break; case 29: s1=327; s2=373; break; case 28: s1=344; s2=366; break; case 27: s1=361; s2=359; break; case 26: s1=378; s2=352; break; case 25: s1=395; s2=345; break; case 24: s1=405; s2=335; break; case 23: s1=419; s2=325; break; case 22: s1=431; s2=315; break; case 21: s1=443; s2=305; break; case 20: s1=455; s2=295; break; case 19: s1=462; s2=286; break; case 18: s1=469; s2=267; break; case 17: s1=476; s2=248; break; case 16: s1=483; s2=229; break; case 15: s1=490; s2=210; break; case 14: s1=486; s2=206; break; case 13: s1=482; s2=192; break; case 12: s1=478; s2=178; break; case 11: s1=474; s2=164; break; case 10: s1=470; s2=150; break; case 9: s1=459; s2=135; break; case 8: s1=448; s2=120; break; case 7: s1=437; s2=105; break; case 6: s1=426; s2=90; break; case 5: s1=415; s2=75; break; case 4: s1=403; s2=68; break; case 3: s1=382; s2=61; break; case 2: s1=361; s2=54; break; case 1: s1=340; s2=47; break; } setcolor(6); setlinestyle(0,0,THICK_WIDTH); circle(h1,h2,1); circle(h1,h2,2); line(midx,midy-30,h1,h2); setcolor(4); setlinestyle(1,0,THICK_WIDTH); circle(m1,m2,1); circle(m1,m2,2); line(midx,midy-30,m1,m2); setcolor(2); setlinestyle(0,0,NORM_WIDTH); circle(s1,s2,1); circle(s1,s2,2); line(midx,midy-30,s1,s2); t.ti_sec++; if(t.ti_sec==60) {t.ti_min++; t.ti_sec=0; } if(t.ti_min==60) {t.ti_hour++; t.ti_min=0; } delay(1000); cleardevice(); } getch(); closegraph(); }