C语言课设 图形仿真系统文档格式.docx
- 文档编号:7195389
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:47
- 大小:55.69KB
C语言课设 图形仿真系统文档格式.docx
《C语言课设 图形仿真系统文档格式.docx》由会员分享,可在线阅读,更多相关《C语言课设 图形仿真系统文档格式.docx(47页珍藏版)》请在冰点文库上搜索。
1.3.4自动控温模块
①自动控温下的界面,水,天然气,火焰,温度计的动态显示
②温度的输入与数字显示
③结束控温
1.3.5手动控温模块
①手动控温下的界面,水,天然气,火焰,温度计的图形显示
②按键情况与温度调节
③结束控温
1.4程序流程图
第二部分程序清单
#include<
stdio.h>
math.h>
graphics.h>
conio.h>
alloc.h>
#include<
dos.h>
#defineKEY_ENTER0x1c0d
#defineKEY_UP0x4800
#defineKEY_DOWN0x5000
#defineKEY_10x0231
#defineKEY_20x0332
#defineKEY_70x0837
#defineKEY_80x0938
#defineKEY_90x0a39
#defineKEY_40x0534
#defineKEY_50x0635
#defineKEY_60x0736
#defineKEY_30x0433
#defineKEY_00x0b30
void*undermouse;
baibai()
{
inti;
cleardevice();
setbkcolor(CYAN);
show_hanzi(230,150,200,"
手工控温图形仿真系统"
100);
show_hanzi(290,170,200,"
感谢您"
for(i=150;
i<
=500;
i=i+10)
setfillstyle(SOLID_FILL,CYAN);
bar(50,200,600,450);
setcolor(YELLOW);
outtextxy(i,250,"
bye"
);
outtextxy(640-i,300,"
delay(200);
}
closegraph();
}
FILE*hzk_p;
voidopen_chinese()
hzk_p=fopen("
Hzk16"
"
rb"
if(!
hzk_p){
printf("
ThefileHZK16notexist!
Entertosystem\n"
getch();
exit
(1);
voidfind_chinese(char*incode,char*bytes)
unsignedcharqu_num,wei_num;
unsignedlongoffset;
qu_num=incode[0]-0xa0;
/*得到区号*/
wei_num=incode[1]-0xa0;
/*得到位号*/
offset=(94*(qu_num-1)+(wei_num-1))*32L;
/*得到偏移位置*/
fseek(hzk_p,offset,0);
/*移文件指针到要读取的汉字字模处*/
fread(bytes,32,1,hzk_p);
show_hanzi(intx1,inty1,intlength,char*s,intcolor)
unsignedcharmask[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
charhanzi[32],word[2];
inti,j,x,y,z;
z=x1;
open_chinese();
while(*s!
='
\0'
)
{
if((int)(*s)>
=0&
&
(int)(*s)<
128)/*输出可打印字符*/
{settextstyle(0,0,2);
settextjustify(0,2);
setcolor(color);
word[0]=*s;
outtextxy(x1,y1,word);
s+=1;
x1+=16;
else
find_chinese(s,hanzi);
for(y=y1,i=0;
16;
i++,y++)
for(x=x1,j=0;
j<
j++,x++)
if(mask[j%8]&
hanzi[2*i+j/8])
putpixel(x,y,color);
s=s+2;
x1+=18;
if((x1-z)>
=(length-16))
{y1+=18;
x1=z;
fclose(hzk_p);
voidwelcome1()/*欢迎界面,画面逐步展开*/
setbkcolor(LIGHTBLUE);
show_hanzi(280,250,200,"
欢迎您"
getch();
for(i=0;
=639;
i++)
setfillstyle(1,LIGHTGREEN);
bar(0,0,i,479);
setbkcolor(LIGHTCYAN);
voidwelcome2()/*温度计横放*/
setcolor(YELLOW);
setlinestyle(0,0,1);
rectangle(110,225,530,375);
rectangle(120,275,520,325);
=400;
i=i+4)
line(120+i,325,120+i,327);
i=i+20)
line(120+i,325,120+i,329);
i=i+40)
line(120+i,325,120+i,331);
line(120+i,275,120+i,273);
line(120+i,275,120+i,271);
line(120+i,275,120+i,269);
setcolor(BLUE);
settextstyle(0,0,1);
outtextxy(115,332,"
0"
outtextxy(153,332,"
10"
outtextxy(193,332,"
20"
outtextxy(233,332,"
30"
outtextxy(273,332,"
40"
outtextxy(313,332,"
50"
outtextxy(353,332,"
60"
outtextxy(393,332,"
70"
outtextxy(433,332,"
80"
outtextxy(473,332,"
90"
outtextxy(507,332,"
100"
outtextxy(115,262,"
outtextxy(153,262,"
outtextxy(193,262,"
outtextxy(233,262,"
outtextxy(273,262,"
outtextxy(313,262,"
outtextxy(353,262,"
outtextxy(393,262,"
outtextxy(433,262,"
outtextxy(473,262,"
outtextxy(507,262,"
setfillstyle(1,RED);
bar(120,275,120+i,325);
voidhello()/*hello界面*/
setbkcolor(GREEN);
bar(170,190,187,290);
bar(187,230,203,250);
bar(203,190,220,290);
bar(230,190,245,290);
bar(245,190,280,210);
bar(245,230,280,250);
bar(245,270,280,290);
bar(290,190,305,290);
bar(305,270,340,290);
bar(350,190,365,290);
bar(365,270,400,290);
bar(410,190,425,290);
bar(425,190,470,210);
bar(455,210,470,290);
bar(425,270,455,290);
voidmain()
intdriver=DETECT;
intmode;
initgraph(&
driver,&
mode,"
"
welcome1();
welcome2();
hello();
mouse();
wenduji()
setbkcolor(BROWN);
setfillstyle(SOLID_FILL,WHITE);
bar(100,80,220,81);
bar(100,110,190,111);
bar(189,110,190,160);
bar(219,80,220,160);
bar(100,160,250,161);
bar(100,160,101,380);
bar(249,160,250,380);
bar(100,379,250,380);
bar(120,180,230,181);
bar(120,180,121,290);
bar(229,180,230,290);
bar(120,289,230,290);
bar(120,310,230,311);
bar(120,310,121,360);
bar(229,310,230,360);
bar(120,359,230,360);
bar(100,400,190,401);
bar(100,429,220,430);
bar(189,380,190,400);
bar(219,380,220,430);
setcolor(RED);
circle(375,367.5,6);
bar(250,364,368,365);
bar(250,370,368,371);
line(372.5,355,372.5,363);
line(377.5,355,377.5,363);
line(300,40,300,355);
line(300,40,450,40);
line(300,355,450,355);
line(450,40,450,355);
line(360,40,360,355);
line(390,40,390,355);
for(i=50;
=350;
i=i+3)
line(340,i,360,i);
line(390,i,410,i);
line(320,50,340,50);
line(320,80,340,80);
line(320,110,340,110);
line(320,140,340,140);
line(320,170,340,170);
line(320,200,340,200);
line(320,230,340,230);
line(320,260,340,260);
line(320,290,340,290);
line(320,320,340,320);
line(320,350,340,350);
i=i+30)
line(410,i,430,i);
biaowendu()
outtextxy(270,45,"
outtextxy(275,75,"
outtextxy(275,105,"
outtextxy(275,135,"
outtextxy(275,165,"
outtextxy(275,195,"
outtextxy(275,225,"
outtextxy(275,255,"
outtextxy(275,285,"
outtextxy(275,315,"
outtextxy(275,345,"
outtextxy(455,45,"
outtextxy(455,75,"
outtextxy(455,105,"
outtextxy(455,135,"
outtextxy(455,165,"
outtextxy(455,195,"
outtextxy(455,225,"
outtextxy(455,255,"
outtextxy(455,285,"
outtextxy(455,315,"
outtextxy(455,345,"
shuziwater()
inti,j;
setcolor(WHITE);
for(i=406;
=424;
i=i+6)
for(j=106;
=214;
j=j+6)
circle(j,i,2);
for(i=196;
for(j=387;
=399;
circle(i,j,2);
setfillstyle(SOLID_FILL,BLUE);
bar(122,182,228,288);
bar(101,82,218,109);
bar(191,109,218,159);
setcolor(GREEN);
setfillstyle(SOLID_FILL,GREEN);
bar(170,40,190,50);
bar(175,50,185,80);
bar(175,430,185,460);
bar(170,460,190,470);
arc(175,315,180,0,40);
arc(155,315,180,0,20);
arc(195,315,180,0,20);
setfillstyle(SOLID_FILL,YELLOW);
floodfill(175,330,YELLOW);
show_hanzi(500,150,200,"
现在温度"
setfillstyle(SOLID_FILL,RED);
bar(361,290,389,355);
tiaojie1()
intj;
setfillstyle(SOLID_FILL,BROWN);
bar(133,313,217,357);
floodfill(175,330,RED);
for(j=145;
=205;
j=j+30)
circle(j,214,11);
circle(j,262,5);
circle(j,250,7);
circle(j,234,9);
shoudong()
inti,j,key,flag=1;
char*p[100];
i=20;
while(flag==1)
while(!
kbhit())/*当不敲击键盘时执行下面循环*/
while(kbhit())/*当敲击键盘时*/
key=bioskey(0);
/*将键值赋给key*/
bar(470,176,640,280);
switch(key)/*对key进行switch循环*/
caseKEY_UP:
i++;
if(i<
=90)
tiaojie1();
bar(361,350-3*i,389,355);
bar(565,140,600,160);
sprintf(p[i],"
%d"
i);
outtextxy(568,150,p[i]);
if(i>
90)
i--;
setcolor(BROWN);
show_hanzi(480,180,200,"
温度过高,请往下调"
break;
caseKEY_DOWN:
20)
温度过低,请往上调"
=20)
bar(361,350-3*(i+1),389,350-3*i);
caseKEY_ENTER:
flag=0;
se
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言课设 图形仿真系统 语言 图形 仿真 系统