C语言程序设计报告——虚拟示波器_第1页
C语言程序设计报告——虚拟示波器_第2页
C语言程序设计报告——虚拟示波器_第3页
C语言程序设计报告——虚拟示波器_第4页
C语言程序设计报告——虚拟示波器_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言课程设计报告 虚拟示波器华中科技大学(因为分享,所以快乐)目录:一基本介绍31.任务背景及需求分析32.编写目的及软件介绍3二功能及操作界面介绍 4界面1欢迎界面以及制作人员简介 4界面2功能实现界面 4界面3退出界面 4三系统设计分析 5:程序流程图 5:程序模块分析 6:重要数据说明 8:核心算法分析 9:程序制作分析10:程序测试分析10四编程分工11五程序设计心得 11六主要参考资料 12七程序源代码 12一基本介绍1任务背景及需求分析在电子测量、测试仪器中,示波器的使用范围是很广泛的,随着高新技术的发展,对示波器性能的要求也日益提高。传统的示波器虽然其频带较宽、价格便宜,但其测量精度不高,功能比较单一。随着虚拟仪器高速发展,虚拟示波器得到广泛应用,虚拟示波器是通过设计软件使用图形用户界面来模拟示波器的操作面板,对信号完成测量、存储、分析等工作的系统。虚拟仪器技术就是用户自定义的基于PC技术的测试和测量解决方案,其4大优势在于:性能高、扩展性强、开发时间少,以及出色的集成功能。虚拟示波器因具有波形触发、存储、显示、测量、波形数据分析处理等独特优点,其使用日益普及。它的出现不仅解决了传统示波器在数据处理分析以及波形显示与存储等房间的问题,而且其有利于用户对其进行维护和个性化界面设计的全部功能。未来随着科技、计算机的发展,虚拟示波器将得到更好的运用和发展,为人们的生活学习提供便利。 2编写目的及软件介绍编写目的:由于本次C语言课程设计是本专业的第一次课程设计,因而具有重要的意义,通过上个学期对C语言的学习,对C语言编程有了初步的了解,获得了一定的基础但是非常缺乏实际的编程经验,无法从质上对自己的编程技巧有一个很大的提高,这次的课程设计给我们提供了一个非常好的锻炼机会。通过二个人的分工合作,在实际中运用和训练程序设计的模块化和工程化思想和技术,努力掌握C语言精髓,同时提高自己的交流与团队合作的能力.为以后的更专业更复杂的课程设计和实践活动打好基础,这也是本次课程设计的最重要的目的。 软件介绍:(1)目标:.本软件旨在能发生主要波形如正弦,方波,以及李萨如图等并显示,具有信号幅度、扫描时间等调整功能。.通过软件的开发过程,了解掌握软件开发的基本流程,培养团队合作的能力。(2)软件性能概述:.友好的人机交互:本应用程序是基于BORLANDC+3.1开发的,适用于dos和windows操作系统,并支持鼠标和键盘输入操作,因此操作过程方便,人机交互性良好。.方便的输入输出:本软件通过键盘输入信号的各种参数,在面板上显示其波形,并可通过鼠标的点击进行各种参数的调节。.有效的故障处理:出现图形无法显示或图形显示效果差处理办法:检查显示卡驱动是否正常;参数输入的不合法处理办法:提示出错,并要求重新输入;出现内存分配失败处理办法:显示错误原因并退出程序。二功能及操作介绍界面1欢迎界面以及制作人员简介 说明:按任意键或点击鼠标右键继进入功能实现界面。点击“帮助”进入操作说明,介绍内容的汉字显示是通过调用16*16点阵的汉字库用汉字输出函数实现的。界面2功能实现界面说明:本界面支持鼠标和键盘输入操作,首先在信号发生器处选择输入方式,然后再相应地方点击鼠标左键输入各种参数,点击“启动”后,即可显示波形,通过操作面板上的各个按钮可调节参数及波形,点击左上方的菜单选择退出即可进入退出界面。界面3退出界面说明:在此界面中按任意键或点击鼠标右键,即可完全退出系统结束程序。三 系统设计分析:程序流程图程 序 开 始功 能 界 面CH1Y正 弦退 出CH1Y方 波CH1CH2李萨如图点 击 鼠 标 左 键结束画面退出程序退 出开始界面及制作简介人员调节水平位移调节竖直位移调节信号幅度调节输入参数调节扫描时间调节扫描电压选 项帮 助退 出选项输 入 参 数:程序模块分析 本程序主要由四个模块组成:主函数模块、操作面板模块、正弦波形模块、李萨如图模块、方波模块。基本介绍如下:1. 主函数模块void main() init_tuxing(); /*图形初始化*/welcome(); /*开始界面*/ main_tu(); /*画主界面面板*/ int mx=320,my=200,butt=0; mouse_cursor(mx,my); /*画初始时的鼠标光标*/ while(1) int tab=0; mouse_new(&mx,&my,&butt);/*鼠标光标显示处理*/ if(panduan_mouse(mx,my,15,5,73,30)&(butt=1) caidan(); /*菜单选项,用于退出并结束程序*/ if(panduan_mouse(mx,my,137,331,147,341)&(butt=1) tab=1; if(panduan_mouse(mx,my,137,373,147,383)&(butt=1) tab=2; if(panduan_mouse(mx,my,137,415,147,425)&(butt=1) tab=3; if(tab!=0) use_in(&tab); /*进入各种信号输入模式并进行操作*/ 说明:主函数main()中主要调用了welcome()函数来显示欢迎界面以及帮助说明,函数main_tu()用来画操作面板,在while(1)循环中通过鼠标点击来选择信号的输入形式进入use_in(&tab)函数中。2. 操作面板模块有函数void main_tu()完成,其调用的主要子函数如下:波形显示的坐标:void zuobiao()信号发生器面板:void xinhaotu()调节信号面板:void tiao_y()、void tiao_x()扫描调节面板:void saomiao_tu()参数输入面板:void CH1_2(int x)3. 正弦波形模块由函数void page1(int *ptab)调用一下主要的子函数完成: 正弦参数(信号幅值、频率、初相)输入函数:int page_ch12(float *vpp,float *hz,float *xwei,int x,int *ptab);调用的子函数是指定位置输入参数:void canshu_shuru(float *szx,int x,int y,int mx,int my),输入参数正确性判断:void shuru_error();正弦波形显示函数:void sin_tu(float x0,float y0,float vpp,float zeny,float hz,float xwei,float xhz,float xvpp );正弦波形调节函数:void ch1_tiaojie(void *buffer,int *x0,int *y0,float *vpp,float *zeny,float *hz,float *xwei,float *xhz,float *xvpp,int *ptab);其中 ch1_tiaojie调用的子函数依次是:扫描时间与电压调节:void saomiao_button(int mx,int my,float *xhz,int x); 信号幅度与波形位置调节:void xy_button(int mx,int my, int *xy,float *v,int x);输入参数调节:void ch12_button(int mx,int my,float*vpp, float*hz,float *xwei,int x); 4. 李萨如图模块由函数void page2(int *ptab)调用一下主要的子函数完成:李萨如图参数输入函数,(X方向信号幅值、频率、初相):int page_ch12(float *vpp,float *hz,float*xwei,int x,int*ptab);(X方向信号幅值、频率、初相):int page_ch2(float *pxvpp,float *pxhz,float *pxxwei,int *ptab);李萨如图波形显示函数:void lsr_tu(float x0,float y0,float xvpp,float zenx,float xhz,float xxwei,float yvpp, float zeny,float yhz,float yxwei);信号幅度与波形位置波形调节函数:void ch1ch2_tiaojie(void *buffer,int *x0,int *y0,float *pxvpp,float *pzenx,float *pxhz,float *pxxwei,float *pyvpp,float *pzeny,float *pyhz,float *pyxwei,int *ptab);调用的子函数为 信号幅度与波形位置调节:void xy_button(int mx,int my, int *xy,float *v,int x);输入参数调节:void ch12_button(int mx,int my,float*vpp, float*hz,float *xwei,int x); 5. 方波模块由函数void page3(int *ptab)调用一下主要的子函数完成:方波参数(信号幅值、频率、初相)输入函数:int page_ch12(float *vpp,float *hz,float *xwei,int x,int *ptab);方波波形显示函数: void fangbo(float x0,float y0,float vpp,float zeny,float hz,float xwei,float xhz,float xvpp);方波信号幅度、位置、扫描频率、扫描电压调节函数:void fangbo_tiaojie(void *buffer,int *x0,int *y0,float *vpp,float *zeny,float *hz,float *xwei,float *xhz,float *xvpp,int *ptab);:重要数据说明输入信号幅值:float vpp输入信号频率:float hz输入信号初相:float xwei扫描电压频率:float xhz扫描电压大小:float xvpp调节信号幅度:float zeny,float zenx保存波形显示区域:void *buffer;:核心算法分析 I.波形的显示:以正弦波形为例来说明,我们是用函数void sin_tu(float x0,float y0,float vpp,float zeny,float hz,float xwei,float xhz,float xvpp )完成正弦波的显示,由于实际示波器在显示波形时扫描电压是不停的,因而波形会一直运动,但在C语言不能做到,因为C语言是顺序运行的,波形一直动就无法执行其他操作,所以在程序中,我们只扫描了八个周期,由以下语句完成: for(n=0;n=8;n+) for(t=n/xhz;t=30&x=60&y=300) putpixel(x,y,BLUE); 这样既可显示绝大部分波形,也保证了显示波形时可以进行其他如调节波形的一系列操作。II.波形的调节: 波形的调节过程中,需要移动和改变波形,因此我们写了用函数void *buff(void *buffer0)先保存了坐标区域,以后每次调用调节函数void ch1_tiaojie(void *buffer,int *x0,int *y0,float *vpp,float *zeny,float *hz,float *xwei,float *xhz,float *xvpp,int *ptab);或void ch1ch2_tiaojie(void *buffer,int *x0,int *y0,float *pxvpp,float *pzenx,float *pxhz,float *pxxwei,float *pyvpp,float *pzeny,float *pyhz,float *pyxwei,int *ptab)改变参数时,就可先将坐标粘贴在波形显示区域,再画波形,一直重复这个过程。:程序制作分析 鼠标显示问题:鼠标显示我们是用异或的方式来实现的,鼠标一直是整个程序中最不好处理的地方,特别是当程序从一个函数跳到另一个函数中去时,鼠标有时总擦不掉,导致在填涂某块区域时有时会出现全屏被涂盖的问题,这个问题在很多地方出现过,最后只得通过重画要填涂的区域在用floodfill,这样基本上解决了这一问题。 各个模块的切换:在整个程序中通过参数tab在三个主要模块正弦波形模块、李萨如图模块、方波模块间切换,通过鼠标点击信号发生器处三种输入模式中的一种,用指针int *ptab改变tab的值,从而循环执行void page1(int *ptab)、void page2(int *ptab)、void page3(int *ptab)基本达到可在任意时刻改变输入输入模式,因而人机交互性比较好,使整个程序变得更加灵活,基本可模拟真实示波器的部分功能。:程序测试分析程序测试是为了发现错误而执行程序的过程,是程序设计中的一个非常重要的环节,虽然我们在整个编写程序的过程当中都伴随着对程序的调试并不断发现改正错误,但是我们依然不可能考虑到所有方面,因此程序中必然会一些虽不是很严重但依然存在的问题,所以,我们对程序做了大量的测试,我们的测试分为两类测试:静态测试、动态测试;单元测试、集成测试。静态测试: 静态测试主要是为了发现程序中的逻辑错误和编码错误,在这个过程中我们进行了变量、命名和类型检查,程序逻辑与语法检查,程序结构检查。动态测试: 动态测试中我们是通过输入预先设计好的一些可能会出错的参数,运行程序,发现程序与预期的结果是否有不同之处,若程序出现问题便进行调试更改。单元测试: 单元测试是对程序的模块进行正确性的测试,在各个模块编制过程中,对模块自身进行测试,使问题能够及时地被发现。而且一旦发现问题,也能将问题出现的范围锁定在较小的程序段,这样将大大降低测试的难度,更容易保证编码的正确性,因而在测试中我们对各个模块进行了单独测试。集成测试: 集成测试主要是测试程序的模块之间接口是否存在问题,是程序设计中不可缺少的一部分,因为即使程序的各个模块单独运行没有问题,合在一起也可能由于接口为未设计好而错误百出,这个时候我们需要对程序进行集成测试,在集成测试中发现问题后,我们要想办法确定它是出在哪个模块,或者说是哪几个模块之间的接口,然后对该模块进行调试和排错,最终使程序达到预先要求的目的。四 编程分工 本程序一共有约1600行,其中欢迎界面、帮助界面、操作面板、结束界面等由组员B完成,一共约700行;正弦波、李萨如图、方波等有组员A完成,一共约900行五 程序设计心得通过这近10周的课程设计,个人的主要体会如下:组员A:尽管上学期学习了一些基本的C语言知识,但对于第一次做这样在我们看来的大型程序,一开始依然无从下手,很多东西都得查阅资料,但“知识是永远也学不完的”,可在此次课设中我们不仅仅是为了学到更多的C语言方面的知识,更多的是学到一种解决问题的能力,特别是对于一些比较复杂的问题,我们该从何入手,怎么解决, 我想这一点是最重要的。组员B: 上学期是第一次接触计算机编程语言,很不习惯,除了每周的机房上机练习之外,几乎没怎么上机,学得很不扎实。然后一个暑假一直在外面玩,本来学的东西就不多,玩了一个暑假之后几乎什么都不知道了。所以,这次课设之前,把以前的东西复习了一下,还是很很凌乱。还好我的好搭档,组员A同学,对我是不抛弃不放弃,一直耐心的教导我一些问题,然后C的水平有一定的提高,基本上可以编写一些界面了。编程这个过程,虽然持续时间很长,同时也很艰苦,但是最后看着自己和组员A的作品,心里还是很欣慰的。在这个过程中,我明白了,一个问题不管看起来有多么复杂,只要自己着手去做,最后就一定可以解决。六 主要参考资料王士元. C高级实用程序设计. 北京: 清华大学出版社. 1996年6月第一版周纯杰、刘正林等. 标准C语言程序及应用. 武汉: 华中科技大学出版社. 2005年3月第一版 七 程序源代码 #include#include#include#include#include#include#include#include#include#include#define PI 3.#define ENTER 0x0dvoid init_tuxing(); /*初始化图形系统*/void welcome();void main_tu();void read_mouse(int *mx,int *my,int *mbutt); /*获取鼠标信息*/void mouse_new(int *mx,int *my,int *mbutt); /*鼠标新位置的显示*/void mouse_cursor(int x,int y); /*鼠标形状*/int panduan_mouse(int mx ,int my,int x1, int y1, int x2, int y2); /*判断鼠标位置*/void caidan();/*菜单选项用于退出*/void use_in(int *ptab);#include.shiboqilibhead.hvoid main() init_tuxing(); welcome(); main_tu(); int mx=320,my=200,butt=0; mouse_cursor(mx,my); while(1) int tab=0; mouse_new(&mx,&my,&butt); if(panduan_mouse(mx,my,15,5,73,30)&(butt=1) caidan(); if(panduan_mouse(mx,my,137,331,147,341)&(butt=1) tab=1; if(panduan_mouse(mx,my,137,373,147,383)&(butt=1) tab=2; if(panduan_mouse(mx,my,137,415,147,425)&(butt=1) tab=3; if(tab!=0) use_in(&tab); #include#include#include#include#include#include#include#include#include#include#define PI 3.void welcome(); /*初始界面操作*/void wel_jm();/*初始界面*/void init_tuxing(); /*初始化图形系统*/void lsr_tu0(float x0,float y0,float xvpp,float xhz,float xxwei,float yvpp,float yhz,float yxwei); /*初始界面的李萨如图*/void showhanzi(int x,int y,char * s,int xl,float fx,float fy,int color); /*汉字显示*/void read_mouse(int *mx,int *my,int *mbutt); /*获取鼠标信息*/void mouse_new(int *mx,int *my,int *mbutt); /*鼠标新位置的显示*/void mouse_cursor(int x,int y); /*鼠标形状*/int panduan_mouse(int mx ,int my,int x1, int y1, int x2, int y2); /*判断鼠标位置*/void help(int *butt);void endpage(); /*结束画面*/void mainform(); /*操作外框*/void zuobiao(); /*画波形显示的坐标*/void xinhaotu(); void tiaojm();void tiao_y(); /*y调节面板*/void tiao_x(); /*x调节面板*/void saomiao_tu(); /*扫描时间调节面板*/void CH1_2(int x); /*ch1-ch2调节面板*/void main_tu(); /*主界面函数*/void fillblank(); void circle1();/*选择输入类型*/void circle2();void circle3();void showhanzi(int x,int y,char * s,int xl,float fx,float fy,int color); /*汉字显示*/void *buff(void *buffer0);/*坐标区域获取*/void caidan();void use_in(int *tab);void page1(int *ptab);void page2(int *ptab);void page3(int *ptab);#include.shiboqijiemianhead1.hvoid read_mouse(int*mx,int*my,int*mbutt)/* 读鼠标的位置和按钮状态函数*/ union REGS regs; int x0=*mx,y0=*my;/留旧位置 int xnew,ynew; regs.x.ax=7; /*ax=7,设置水平最大位置。CX最小,DX最大坐标。*/ regs.x.cx=0; regs.x.dx=639; int86(51,®s,®s); regs.x.ax=8; /*设置垂直最大位置,CX最小,DX最大坐标*/ regs.x.cx=0; regs.x.dx=479; int86(51,®s,®s); do regs.x.ax=3;/*3号功能,读取鼠标位置*/ int86(51,®s,®s); xnew=regs.x.cx; ynew=regs.x.dx; *mbutt=regs.x.bx; while(xnew=x0&ynew=y0&*mbutt=0); *mx=xnew; /*返回记录的新位置*/ *my=ynew;void mouse_cursor(int x,int y) /*异或形式画线做出鼠标箭头*/ setwritemode(XOR_PUT); setlinestyle(SOLID_LINE,0,1); setcolor(YELLOW); line(x,y,x,y+18); line(x,y,x+12,y+12); line(x,y+18,x+4,y+14); line(x+4,y+14,x+6,y+20); line(x+6,y+20,x+10,y+18); line(x+10,y+18,x+8,y+12); line(x+8,y+12,x+12,y+12); setwritemode(0);void mouse_new(int *mx,int *my,int *mbutt)/* 是否有按钮按下,若按下,在新位置画十字 */ int x0=*mx,y0=*my; int xnow,ynow; setwritemode(XOR_PUT); read_mouse(&xnow,&ynow,mbutt); /读取鼠标新位置 mouse_cursor(x0,y0); /覆盖,再画出 mouse_cursor(xnow,ynow); *mx=xnow; *my=ynow;int panduan_mouse(int mx,int my,int x1,int y1,int x2,int y2) if(mx=x1&mx=y1&my=y2) return 1; else return 0;#include.shiboqijiemianhead1.hvoid wel_jm() int i; init_tuxing(); setbkcolor(GREEN); lsr_tu0(320,240,300,900,30,220,800,30+PI/2); showhanzi(180,130,欢迎使用虚拟示波器,0,2,2,MAGENTA); setcolor(RED); settextstyle(2,0,6); outtextxy(230,250,Press any key into.); for(i=0;i=30&mx=420&my=30&mx=420&my=450)&(butt=1)&(!panduan_mouse(mx,my,0,0,80,100)&(butt=1)|bioskey(1) return; void help(int *butt) int i; int mx=60,my=47; init_tuxing(); cleardevice(); setbkcolor(CYAN); setcolor(RED); settextstyle(2,0,6); outtextxy(45,100,1:); outtextxy(45,140,2:); outtextxy(45,180,3:); outtextxy(45,220,4:); outtextxy(45,260,5:); showhanzi(25,35,帮助,10,2,2,MAGENTA); showhanzi(60,100+3,在信号发生器处选择信号输入形式,0,1,1,MAGENTA); showhanzi(60,140+3,输入各参数的值,0,1,1,MAGENTA); showhanzi(60,180+3,点击启动显示波形,0,1,1,MAGENTA); showhanzi(60,220+3,点击各按钮调节波形,0,1,1,MAGENTA); showhanzi(60,260+3,点击选项菜单选择退出结束程序,0,1,1,MAGENTA); showhanzi(150,300+3,单击鼠标右键返回欢迎界面,10,1,1,MAGENTA); showhanzi(540,40,退出,6,1,1,MAGENTA); mouse_cursor(mx,my); for(i=0;i16;i+) mouse_new(&mx,&my,butt); showhanzi(150,300+3,单击鼠标右键返回欢迎界面,10,1,1,i); if(i=15) i=0; if(*butt=2) return; if(panduan_mouse(mx,my,540,35,580,60)&(*butt=1) endpage(); void endpage() int i; int mx,my,butt=0; cleardevice(); setbkcolor(GREEN); mouse_cursor(mx,my); lsr_tu0(320,240,300,81,0,220,80,0+PI/2); showhanzi(220,280,单击鼠标左键结束程序,10,1,1,MAGENTA); for(i=0;i16;i+) mouse_new(&mx,&my,&butt); setcolor(i); settextstyle(2,0,6); outtextxy(300,350,press any key to EXIT.); delay(100); setcolor(MAGENTA); settextstyle(0,0,3); outtextxy(100,200,THANKYOU FOR USE!); if(i=15) i=0; if(bioskey(1)|butt=1) exit(0); #include.shiboqijiemianhead1.hvoid init_tuxing() char pathMAXPATH; getcwd(path, MAXPATH); strcat(path,libBGI); int gd=VGA,gm=VGAHI,errorcode; initgraph(&gd,&gm,path); errorcode=graphresult(); if(errorcode!=grOk) printf(Graphis error:%sn,grapherrormsg(errorcode); printf(Press any key to halt.); getch(); exit(1); void xinhaotu() showhanzi(220,9,虚拟示波器,32,1,1,WHITE); showhanzi(25,10,选择,10,1,1,RED); showhanzi(38,370,信号发生器,2,1,1,RED); setcolor(BLUE); setfillstyle(1,WHITE); circle(142,336,5); floodfill(142,336,BLUE); circle(142,378,5); floodfill(142,378,BLUE); circle(142,420,5); floodfill(142,420,BLUE); setfillstyle(1,GREEN); rectangle(155,326,195,346); rectangle(155,368,195,388); rectangle(155,410,195,430); line(155,336,195,336); float i; for(i=0;i=30;i+=0.05) putpixel(160+i,336+9*sin(PI/15*i),LIGHTRED); line(155,378,195,378); for(i=0;i=30;i+=0.05) putpixel(160+i,378+9*sin(PI/15*i),LIGHTRED); line(155,420,195,420); setcolor(LIGHTRED); line(160,412,175,412); line(175,412,175,428); line(175,428,190,428); setcolor(BLUE); settextstyle(0,0,2); outtextxy(200,329,CH1-Y); outtextxy(200,371,CH1-CH2); outtextxy(200,413,CH1-Y); setcolor(WHITE); rectangle(350,65,610,445); rectangle(35,315,325,445);void tiaojm() setcolor(WHITE); line(350,215,610,215); line(350,295,610,295); line(480,65,480,215); line(480,295,480,445);void tiao_y() setcolor(WHITE); setfillstyle(SOLID_FILL,BLUE); bar(355,95,475,125); rectangle(355,95,385,125); rectangle(385,95,445,125); rectangle(445,95,475,125); bar(355,155,475,185); rectangle(355,155,385,185); rectangle(385,155,445,185); rectangle(445,155,475,185); settextstyle(0,0,2); setcolor(BLUE); outtextxy(390,74,Y); setcolor(MAGENTA); showhanzi(365,103,上,0,1,1,MAGENTA); showhanzi(453,103,下,0,1,1,MAGENTA); outtextxy(390,103,Y); showhanzi(408,103,移位,0,1,1,RED); showhanzi(408,73,移位,0,1,1,BLUE); outtextxy(365,163,-); outtextxy(390,164,Y); outtextxy(453,163,+); showhanzi(408,162,增益,0,1,1,RED);void tiao_x() setcolor(WHITE); setfillstyle(SOLID_FILL,BLUE); bar(485,95,605,125); rectangle(485,95,515,125); rectangle(515,95,575,125); rectangle(575,95,605,125); bar(485,155,605,185); rectangle(485,155,515,185); rectangle(515,155,575,185); rectangle(575,155,605,185); settextstyle(0,0,2); setcolor(BLUE); outtextxy(520,74,X); setcolor(MAGENTA); showhanzi(495,103,左,0,1,1,MAGENTA); showhanzi(584,103,右,0,1,1,MAGENTA); outtextxy(520,103,X); showhanzi(537,103,移位,0,1,1,RED); showhanzi(537,73,移位,0,1,1,BLUE); outtextxy(495,163,-); outtextxy(520,164,X); outtextxy(584,163,+); showhanzi(537,162,增益,0,1,1,RED);void saomiao_tu() setcolor(WHITE); rectangle(360,225,410,290); showhanzi(365,230,扫描,10,1,1,BLUE); showhanzi(365,250,时间,10,1,1,BLUE); showhanzi(365,270,调节,10,1,1,BLUE); setfillstyle(SOLID_FILL,WHITE); setcolor(GREEN); rectangle(460,237,550,277); floodfill(470,240,GREEN); setcolor(BLUE); rectangle(520,237,550,277); setfillstyle(SOLID_FILL,BLUE); bar(420,237,460,277); bar(550,237,590,277); setcolor(WHITE); rectangle(420,237,460,277); rectangle(550,237,590,277); line(420,257,460,257); line(540,257,590,257); set

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论