《象素图形》利用TC图形处理功能,在屏幕上模拟时钟(用C语言编完整程序)
发布网友
发布时间:2022-05-13 11:41
我来回答
共2个回答
热心网友
时间:2023-10-09 06:52
/*开发环境:turbo c 2.0模拟时钟转动程序代码*/
#include"graphics.h"
#include"math.h"
#include"dos.h"
#define pi 3.1415926
#define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300
#define Y(a,b,c) y=a*sin(b*c*pi/180-pi/2)+240
#define d(a,b,c) X(a,b,c);Y(a,b,c);line(300,240,x,y)
void init() /*划时钟边框函数*/
{
int i,l,x1,x2,y1,y2;
setbkcolor(1);
circle(300,240,200);
circle(300,240,205);
circle(300,240,5);
for(i=0;i<60;i++) /*划钟点上的短线*/
{
if(i%5==0)
l=15;
else
l=5;
x1=200*sin(i*6*pi/180)+300;
y1=200*cos(i*6*pi/180)+240;
x2=(200-l)*sin(i*6*pi/180)+300;
y2=(200-l)*cos(i*6*pi/180)+240;
line(x1,y1,x2,y2);
}
}
main()
{
int x,y,i,k=1;
int gdriver=9,gmode=2;
unsigned char h,m,s;
int o,p,q;
float n;
struct time t[1];
struct date d[1];
initgraph(&gdriver,&gmode,"c:\\tc");
initgraph(&gdriver,&gmode,"c:\\tc");
for(i=0;i<=6;i++)
{
settextstyle(TRIPLEX_FONT,HORIZ_DIR,i); /*控制输出字符的字体,方向,大小*/
cleardevice();
settextjustify(1,1); /*在指定坐标上输出字符串*/
outtextxy(300,80,"12") ;
outtextxy(300,390,"6");
outtextxy(140,230,"9");
outtextxy(460,230,"3");
outtextxy(380,100,"1");
outtextxy(220,100,"11");
outtextxy(430,160,"2");
outtextxy(430,310,"4");
outtextxy(380,370,"5");
outtextxy(220,370,"7");
outtextxy(160,160,"10");
outtextxy(160,310,"8");
}
init();
setwritemode(1); /*设置画线的输出模式*/
if(k!=0)
{
getdate(d); /*获得系统日期函数*/
o=d[0].da_year;
p=d[0].da_mon;
q=d[0].da_day;
gettime(t); /*获得系统时间函数*/
h=t[0].ti_hour;
m=t[0].ti_min;
s=t[0].ti_sec;
}
setcolor(7); /*设置时针颜色*/
n=(float)h+(float)m/60;
d(150,n,30); /*画出时针*/
setcolor(14); /*设置分针颜色*/
d(170,m,6); /*画出分针*/
setcolor(4); /*设置秒针颜色*/
d(190,s,6); /*画出秒针*/
while(!kbhit()) /*控制程序按下任意键退出*/
{
while(t[0].ti_sec==s)
gettime(t);
gotoxy(44,18); /*使光标移动到指定坐标*/
printf("\b\b\b\b\b\b\b\b\b"); /*退格,使表示时间的字符串不断变化*/
sound(400); /*按给定的频率打开PC扬声器*/
delay(70); /*中断程序的执行,时间为70毫秒*/
sound(200);
delay(30);
nosound(); /*按给定的频率关闭PC扬声器*/
setcolor(4);
d(190,s,6);
s=t[0].ti_sec;
d(190,s,6);
if(t[0].ti_min!=m)
{
setcolor(14);
d(170,m,6);
m=t[0].ti_min;
d(170,m,6);
}
if(t[0].ti_hour!=h)
{
setcolor(7);
d(150,h,30);
h=t[0].ti_hour;
d(150,h,30);
sound(1000);
delay(240);
nosound();
delay(140);
sound(2000);
delay(240);
nosound();
}
if(s<10) /*用字符的形式输出时间*/
{ if(m<10)
printf("%u:0%u:0%u",h,m,s);
else
printf("%u:%u:0%u",h,m,s);
}
else
{ if(m<10)
printf("%u:0%u:%u",h,m,s);
else
printf("%u:%u:%u",h,m,s);
}
gotoxy(34,19); /*在指定坐标上输出日期*/
printf("%d年%d月%d日",o,p,q);
printf("\b\b\b\b\b\b\b\b\b");
}
getch();
closegraph();
}
热心网友
时间:2023-10-09 06:52
好。必须用graphics.h了!
如何用c语言编写图形操作的软件呢??
return -1; // 结束程序 } if (CreateWindowGL(&window) == TRUE) // 创建窗口是否成功 { if (Initialize(&window, &keys) == FALSE) // 初始化OpenGL绘制程序 { PostMessage(window.hWnd, WM_QUIT, 0, 0); // 抛出消息WM_QUIT } } else { return 0; // 退出程序 } while ((bRet = Get...
...JPEG标准(MPEG-1标准、MPEG-2标准、MPEG-4标准),MPEG-4标准有独特...
两者的区别有:(1)H.263的运动补偿使用半象素精度,而H.261则用全象素精度和循环滤波;(2)数据流层次结构的某些部分在H.263中是可选的,使得编解码可以配置成更低的数据率或更好的纠错能力;(3)H.263包含四个可协商的选项以改善性能;(4)H.263采用无限制的运动向量以及基于...
、编写Applet程序,在屏幕上画一组同心圆(至少20个),相邻两圆的直径相差...
int minDimension; // 如果背景区域不是正方形的话,保证时钟在中间显示 int originX; // 时钟图形所在正方形区域的左上角X坐标 int originY; // 时钟图形所在正方形区域的左上角Y坐标 double tzDifference=0; //时区间的差,向西为负数,向东为正数 boolean localOnly=false; //是否只使用本地时间,如果为FAL...
什么是GUI
GUI本身对色彩的处理也不同,而且使用不同数目的位来表示色彩,这样就决定了色彩的精确程序。(4)文本表示在图形方式下和字符方式下有很大差异在GUI环境中,文本以图形方式来处理,而且有很大的选择范围。这些参数包括色彩、字符大小、字体和风格。 参考文献 黎鹰,李亮.图形用户界面的发展与分类.工程地质计算机应用.2006,4...
急~急~急~
照明模型(Lighting Model) :一种图形处理公式,用于模拟灯光照射到物件表面的效果。三元荧(Phosphor triad) :构成一个像素的三个荧光体,分别能发出红光、绿光或蓝光。像素(Pixel) :Picture Element(图形元素)的简称,屏幕颜色与强度的一个单位。像素其实是能够定址和分配颜色值的最小单位。光栅(Raster) :由像素构成...
电脑显卡级别怎么分的?
功耗要更低些。例如GT940M功耗36W大于GT940MX功耗为23W。3、从名字区分,对于同芯片厂家的,如A卡或N卡,其本上用名字数字越大越高。对于A卡或N卡,显卡第一个数字最大就表示推出时间越后,第二个数字越大,性能就越高,如7900与8600,虽然8600是后期推出的,但性能上7900比8600更强。
显卡的作用是什么
OpenGL是OpenGraphicsLib的缩写,是一套三维图形处理库,也是该领域的工业标准。计算机三维图形是指将用数据描述的三维空间通过计算转换成二维图像并显示或打印出来的技术。OpenGL就是支持这种转换的程序库,它源于SGI公司为其图形工作站开发的IRIS GL,在跨平台移植过程中发展成为OpenGL。SGI在1992年7月发布1....
PSP有什么功能?
处理器性能 PSP CPU(工作频率1-333MHz) 内存性能 64MB 图形处理器 FPU, VFPU (每秒2千6百万浮点运算) 3D图形扩展运算 1.2V MIPS R4000 32-bit核心 128-bit总线 2MB eDRAM缓存 90纳米CMOS制造工艺 1.2V 游戏载体 播放专用UMD驱动器;格式:PSP Game、UMD Audio、UMD Video UMD (Universal Media Disc) 60mm直...
高分找专家帮忙推荐购机
MPx200采用德州仪器的OMAP710处理器,并内置了32M的RAM和32M的ROM,而在这个平台上面运行Smartphone 2002系统则依旧缺乏一定的流畅速度,运行个别程序的时候有明显的迟滞感。摩托罗拉 MPX200 基本参数表 体积:89×48×27mm 重量:118g 屏幕:65536色TFT主屏�� 单色外屏分辨率:176×220像素��� 96×64像素 ...