⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jianxie.cpp

📁 C写的小程序
💻 CPP
字号:
#include "graphics.h"
#include "stdio.h"
#include "math.h"
#include "conio.h"
#include "dos.h"
const PI=3.1415926;
void spring(int x0,int y0,int x,int y,double r,int n)
   {
   int i,k=1;
   double dx=((double)x-(double)x0)/2.0/n, dy=((double)y0-(double)y)/2.0/n;
   double a=atan2((double)(y0-y),(double)(x-x0));
   double dxr=r*cos(a+1.570796327), dyr=r*sin(a+1.570796327);
   double X[20],Y[20];
   for(i=0;i<n;i++){
      X[i]=x0+(2*i+1)*dx+k*dxr;
      Y[i]=y0-(2*i+1)*dy-k*dyr;
      k=-k;
   };
   moveto(x0,y0);
   for(i=0;i<n;i++)
   lineto((int)X[i],(int)Y[i]);
   lineto(x,y);
   }
void arrow(int x,int y,double r,double a)
{
	double x1,y1,x2,x3,y3,y2,b,L;
	a=a*3.141592655/180.0;
	b=0.197395559;
	L=10.19803903;
	x1=x+r*cos(a);
	y1=y-r*sin(a);
	x2=x1-L*cos(b-a);
	y2=y1-L*sin(b-a);
	x3=x1-L*cos(b+a);
	y3=y1+L*sin(b+a);
	line(x,y,(int)x1,(int)y1);
	if(r<11.0)return;
	moveto((int)x1,(int)y1);
	lineto((int)x2,(int)y2);
	lineto((int)x3,(int)y3);
	lineto((int)x1,(int)y1);
}

void main(void)
{
  int gdriver=DETECT,gmode;
  initgraph(&gdriver,&gmode,"");
  int i,j,pi;
  float CTa,x,y,X,Y,py,Y1,Y2;
  setbkcolor(8);
  setfillstyle(1,1);
  setcolor(4);
  circle(400,240,100);
  fillellipse(400,240,2,2);
  bar(100,10,200,60);
  setcolor(2);
  arrow(250,150,150,90.00);
  arrow(230,75,400,0.00);
  arrow(250,480,140,90.00);
  arrow(230,410,400,0.00);
  setcolor(9);
  outtextxy(250,0,"Ep");
  outtextxy(250,340,"Ek");
  outtextxy(630,75,"t");
  outtextxy(630,410,"t");
  outtextxy(20,390,"Jian Xie Zhen Dong De");
  outtextxy(70,410,"Shu Xue Biao Shu");
  outtextxy(50,430,"to quit,");
  outtextxy(70,450,"press Ctrl + Break");
  outtextxy(50,470,"Copyright(R) by CeKong 0102");
  setcolor(3);
  outtextxy(270,470," ShiShiqiang");
  for(i=1;i<=360*80;i++)
  {
	CTa=i*PI/180.0;
	Y=240.0+100.0*cos(CTa);
	setcolor(9);
	arrow(400,240,100,i);
	Y1=75.0-50.0*sin(4.0*i*PI/180.0+PI/2);
	Y2=410.0+50.0*sin(4.0*i*PI/180.0);
	putpixel(i+245,Y1,14);
	putpixel(i+250,Y2,7);
	if(i>=2)
	{
		setcolor(8);
		arrow(400,240,100,pi);
		circle(150,py,50);
		spring(150,60,150,py-50,50,15);
	}
	pi=i;py=Y;
	setcolor(11);
	spring(150,60,150,Y-50,50,15);
	setcolor(4);
	circle(150,Y,50);
	fillellipse(400,240,2,2);
	circle(400,240,100);
	delay(5);
    }
  getch();
  closegraph();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -