| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 490 人关注过本帖
标题:[求助]关于指针转动的实现
只看楼主 加入收藏
Shelli
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-3-30
收藏
 问题点数:0 回复次数:0 
[求助]关于指针转动的实现
各位大虾们好,我想要知道怎样能够实现汽车表盘的模拟。关键是按“↑”键的时候表盘的指针会转动。松开指针会自己回到0刻度。想了好久也没什么头绪。如果是存图取图的话怎么才能实现指针的转动呢。还有就是按键时间的问题。新手求教。正在学习中呢。谢谢大家。谢谢。
我自己写了一段代码,不知道问题出在哪里。希望各位能指点指点。谢谢。
#include<graphics.h>
#include<math.h>
#define PI 3.1415926
#define mid_x 320
#define mid_y 240
int main()
{
 int i,l,j,x1,x2,y1,y2,x3,y3;
 char ch;
 int driver=DETECT,mode;
 initgraph(&driver,&mode," ");
 setbkcolor(BLACK);
 while(!kbhit('q'))
{
  setcolor(WHITE);
  cleardevice();
  setfillstyle(1,4);
  pieslice(mid_x,mid_y,0,60,180);
  setfillstyle(1,0);
  pieslice(mid_x,mid_y,0,60,145);
  setfillstyle(1,0);
  pieslice(320,240,0,180,145);
  arc(mid_x,mid_y,0,180,180);
  circle(mid_x,mid_y,2);
  line(500,240,140,240);
  for(i=15;i<45;i++)
 {
   if(i%5==0)
   l=20;
   else
   l=10;
   x1=180*sin(i*6*PI/180)+320;
   y1=180*cos(i*6*PI/180)+240;
   x2=(180-l)*sin(i*6*PI/180)+320;
   y2=(180-l)*cos(i*6*PI/180)+240;
   line(x1,y1,x2,y2);
 }
  settextjustify(1,1);
  outtextxy(320,80,"45");
  outtextxy(160,230,"0");
  outtextxy(480,230,"90");
  outtextxy(400,100,"60");
  outtextxy(240,100,"30");
  outtextxy(450,160,"75");
  outtextxy(180,160,"15");
  x3=160*sin(j*6*PI/180)+320;
  y3=160*cos(j*6*PI/180)+240;
  j=45;
  15<=j<=45;
  ch=getch();
  switch(ch)
 {
   case '\025':j=j+1;break;
   case '\024':j=j-1;break;
 }
  setcolor(RED);
  line(x3,y3,mid_x,mid_y);
  getch();
 }
 return 0;
 }
搜索更多相关主题的帖子: 指针 int define 表盘 include 
2008-03-30 18:53
快速回复:[求助]关于指针转动的实现
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025459 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved