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

📄 第2题_屏保程序.txt

📁 C语言课程设计:案例精选与编程指导(东南大学出版社
💻 TXT
字号:

#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <graphics.h>
#include <math.h>
#include <bios.h>
#include<stdlib.h>
void Clock_f()
{
   int gd=DETECT,gm,no,rad=210;
   struct  time t;
   float theta,x,y,x1,y1,theta1,theta2;
   char des[40],ch;
   initgraph(&gd,&gm,"");
   setcolor(14);
   circle(320,240,180);
   circle(320,240,15);
   setcolor(BLACK);
   circle(320,240,170);
   circle(320,240,165);
   circle(320,240,158);
   circle(320,240,16);
   setcolor(11);
   for(theta=0.0,no=0;no<60;no++,theta+=.1047)
   {
	if(no%5==0)
	{
	   x=320+158*cos(theta);
	   y=240+158*sin(theta);
	}
	else
	{
	   x=320+165*cos(theta);
	   y=240+165*sin(theta);
	}
	   x1=320+170*cos(theta);
	   y1=240+170*sin(theta);
	   line(x,y,x1,y1);
   }
   settextjustify(CENTER_TEXT,CENTER_TEXT);
   setcolor(YELLOW);
   for(no=1,theta=5.236;no<=12;no++,theta+=.524)
   {
	x=320+rad*cos(theta);
	y=240+rad*sin(theta);
	settextstyle(GOTHIC_FONT,HORIZ_DIR,5);
	sprintf(des,"%d",no);
	outtextxy(x,y,des);
   }
   gettime(&t);
   theta1=(.0175*6*t.ti_min)-1.5708;
   theta2=(.0175*30*(t.ti_hour%12+t.ti_min/60.0))-1.5708;
   while(bioskey(1)==0)
   {
	gettime(&t);
	theta=(.0175*6*t.ti_sec)-1.5708;
	x=320+15*cos(theta);
	y=240+15*sin(theta);
	x1=320+150*cos(theta);
	y1=240+150*sin(theta);
	setcolor(11);
	setlinestyle(SOLID_LINE,1,1);
	line(x,y,x1,y1);
	sound(7000);
	delay(100);
	nosound();
	delay(900);
	setcolor(BLACK);
	line(x,y,x1,y1);
	setlinestyle(SOLID_LINE,1,3);
	x=320+15*cos(theta1);
	y=240+15*sin(theta1);
	x1=320+150*cos(theta1);
	y1=240+150*sin(theta1);
	line(x,y,x1,y1);
	x=320+15*cos(theta2);
	y=240+15*sin(theta2);
	x1=320+100*cos(theta2);
	y1=240+100*sin(theta2);
	line(x,y,x1,y1);
	theta1=(.0175*6*(t.ti_min+t.ti_sec/60.0))-1.5708;
	x=320+15*cos(theta1);
	y=240+15*sin(theta1);
	x1=320+150*cos(theta1);
	y1=240+150*sin(theta1);
	setcolor(14);
	line(x,y,x1,y1);
	circle(320,240,15);
	theta2=(.0175*30*(t.ti_hour%12+t.ti_min/60.0))-1.5708;
	x=320+15*cos(theta2);
	y=240+15*sin(theta2);
	x1=320+100*cos(theta2);
	y1=240+100*sin(theta2);
	line(x,y,x1,y1);
   }
   getch();
   closegraph();
}

void Boom_f(void)
{
   int gd=DETECT, gm;
   int maxx=0, maxy=0, midx=0, midy=0, a=0, b=0, x=0, y=0, k=0;
   initgraph(&gd, &gm, "");
   maxx=getmaxx(), maxy=getmaxy(), midx=maxx/2, midy=maxy/2;
   randomize();
   while(bioskey(1)==0)
  {
     x=60;
     y=50;
     for(b=-100;b<=100;b+=10)
     {
	k=random(15);
	if(k==0)k=1;
	for(a=0;a<=50;a++)
	{
	   {
		putpixel((midx+a)+b, (midy+a)+b, k);
		putpixel((midx+a)+b, (midy-a)+b, k);
		putpixel((midx-a)+b, (midy+a)+b, k);
		putpixel((midx-a)+b, (midy-a)+b, k);}
		putpixel((midx)+b, (midy+a)+b, k+8);
		putpixel((midx)+b, (midy-a)+b, k+8);
		putpixel((midx+a)+b, (midy)+b, k+8);
		putpixel((midx-a)+b, (midy)+b, k+8);

		putpixel((midx+a)+b+x, (midy+a)+b+y, k);
		putpixel((midx+a)+b+x, (midy-a)+b+y, k);
		putpixel((midx-a)+b+x, (midy+a)+b+y, k);
		putpixel((midx-a)+b+x, (midy-a)+b+y, k);
		putpixel((midx)+b+x, (midy+a)+b+y, k+8);
		putpixel((midx)+b+x, (midy-a)+b+y, k+8);
		putpixel((midx+a)+b+x, (midy)+b+y, k+8);
		putpixel((midx-a)+b+x, (midy)+b+y, k+8);

		putpixel((midx+a)+b-x, (midy+a)+b-y, k);
		putpixel((midx+a)+b-x, (midy-a)+b-y, k);
		putpixel((midx-a)+b-x, (midy+a)+b-y, k);
		putpixel((midx-a)+b-x, (midy-a)+b-y, k);
		putpixel((midx)+b-x, (midy+a)+b-y, k+8);
		putpixel((midx)+b-x, (midy-a)+b-y, k+8);
		putpixel((midx+a)+b-x, (midy)+b-y, k+8);
		putpixel((midx-a)+b-x, (midy)+b-y, k+8);

		putpixel((midx+a)+b+x, (midy+a)+b-y, k);
		putpixel((midx+a)+b+x, (midy-a)+b-y, k);
		putpixel((midx-a)+b+x, (midy+a)+b-y, k);
		putpixel((midx-a)+b+x, (midy-a)+b-y, k);
		putpixel((midx)+b+x, (midy+a)+b-y, k+8);
		putpixel((midx)+b+x, (midy-a)+b-y, k+8);
		putpixel((midx+a)+b+x, (midy)+b-y, k+8);
		putpixel((midx-a)+b+x, (midy)+b-y, k+8);

		putpixel((midx+a)+b-x, (midy+a)+b+y, k);
		putpixel((midx+a)+b-x, (midy-a)+b+y, k);
		putpixel((midx-a)+b-x, (midy+a)+b+y, k);
		putpixel((midx-a)+b-x, (midy-a)+b+y, k);
		putpixel((midx)+b-x, (midy+a)+b+y, k+8);
		putpixel((midx)+b-x, (midy-a)+b+y, k+8);
		putpixel((midx+a)+b-x, (midy)+b+y, k+8);
		putpixel((midx-a)+b-x, (midy)+b+y, k+8);
		/*beginning if(a<36)*/

		circle((midx+a)+b, (midy+a)+b, k);
		circle((midx+a)+b, (midy-a)+b, k);
		circle((midx-a)+b, (midy+a)+b, k);
		circle((midx-a)+b, (midy-a)+b, k);
		circle((midx)+b, (midy+a)+b, k+8);
		circle((midx)+b, (midy-a)+b, k+8);
		circle((midx+a)+b, (midy)+b, k+8);
		circle((midx-a)+b, (midy)+b, k+8);

		circle((midx+a)+b+x, (midy+a)+b+y, k);
		circle((midx+a)+b+x, (midy-a)+b+y, k);
		circle((midx-a)+b+x, (midy+a)+b+y, k);
		circle((midx-a)+b+x, (midy-a)+b+y, k);
		circle((midx)+b+x, (midy+a)+b+y, k+8);
		circle((midx)+b+x, (midy-a)+b+y, k+8);
		circle((midx+a)+b+x, (midy)+b+y, k+8);
		circle((midx-a)+b+x, (midy)+b+y, k+8);

		circle((midx+a)+b-x, (midy+a)+b-y, k);
		circle((midx+a)+b-x, (midy-a)+b-y, k);
		circle((midx-a)+b-x, (midy+a)+b-y, k);
		circle((midx-a)+b-x, (midy-a)+b-y, k);
		circle((midx)+b-x, (midy+a)+b-y, k+8);
		circle((midx)+b-x, (midy-a)+b-y, k+8);
		circle((midx+a)+b-x, (midy)+b-y, k+8);
		circle((midx-a)+b-x, (midy)+b-y, k+8);

		circle((midx+a)+b+x, (midy+a)+b-y, k);
		circle((midx+a)+b+x, (midy-a)+b-y, k);
		circle((midx-a)+b+x, (midy+a)+b-y, k);
		circle((midx-a)+b+x, (midy-a)+b-y, k);
		circle((midx)+b+x, (midy+a)+b-y, k+8);
		circle((midx)+b+x, (midy-a)+b-y, k+8);
		circle((midx+a)+b+x, (midy)+b-y, k+8);
		circle((midx-a)+b+x, (midy)+b-y, k+8);

		circle((midx+a)+b-x, (midy+a)+b+y, k);
		circle((midx+a)+b-x, (midy-a)+b+y, k);
		circle((midx-a)+b-x, (midy+a)+b+y, k);
		circle((midx-a)+b-x, (midy-a)+b+y, k);
		circle((midx)+b-x, (midy+a)+b+y, k+8);
		circle((midx)+b-x, (midy-a)+b+y, k+8);
		circle((midx+a)+b-x, (midy)+b+y, k+8);
		circle((midx-a)+b-x, (midy)+b+y, k+8);
		delay(25);
		cleardevice();
	   }
	}
     }
     closegraph();
}
void main(void)
{
    int nChoice;
    do
    {
	printf("\n\t1. CLOCK\n");
	printf("\t2. BOOM\n");
	printf("\t3. EXIT\n");
	scanf("%d",&nChoice);
	switch(nChoice)
	{
	   case 1:
	     Clock_f();
	     break;
	   case 2:
	     Boom_f();
	     break;
	   case 3:
	     break;
	   default:
	     printf("input again\n");
	}
    }while(nChoice!=3);
}
  

⌨️ 快捷键说明

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