1、沈 阳 航 空 工 业 学 院课 程 设 计学 号 _200604021119_班 级 _6402104_ 姓 名 _李百川_指导教师 _刘成_2007 年 月 日课 程 设 计 任 务 书院系:电子工程系 专业:电子信息工程 班级:6402104学号:200604021119题目:正弦函数的图形表示一、课程设计时间2007 年 9 月 10 日至 2007 年 9 月 14 日,共计 1 周,20 学时。二、课程设计内容用 C 语言编写软件完成以下任务:在图形模式下,绘制正弦函数 sin(x)在 x1x2 之间的图形。注意:此程序必须用 TC2.0 编写。三、课程设计要求1. 程序质量: 贯
2、彻结构化的程序设计思想。 用户界面友好,功能明确,操作方便。 用户界面中的菜单至少应包括“输入 x 的区间” 、 “开始绘制” 、 “退出”3 项。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。2. 课程设计说明书:课程结束后,上交课程设计说明书和源程序。课程设计说明书的格式和内容参见提供的模板。四、指导教师和学生签字指导教师:_刘成_ 学生签名:_李百川_五、成绩:六、教师评语:沈 阳 航 院 设 计 用 纸I目录一、需求分析 .二、程序流程图 .三、核心技术的实现说明及相应程序段 .四、个人总结 .五、参考文献 .六、源程序 .沈 阳 航 院 设 计 用 纸I一、需求分析经过对程
3、序设计题目的分析可知,整个程序的设计实现大致分为三大模块,其中他们的功能分别是:绘制图象(Strat Up) 、函数参数的设定(Settings) 、退出(Quit) 。在这些函数当中,绘制图象(Strat Up)又包括菜单栏的绘制,函数图形及坐标轴的绘制和函数的缩放与移动;函数参数的设定(Settings)包括函数Y=ASin(Bx)+C 的参数 A、B、C 及 X 的区间MinXMaxX.沈 阳 航 院 设 计 用 纸II二、程序流程图整体框架图 Y=ASin(Bx)+C开 始输入目录选项Start Now(绘图) Settings (参数设定)Quit(退出)0.Set A (参数 A
4、的设定)1.Set B (参数 B 的设定)2.Set C (参数 C 的设定)3.Set MinX (X 的最小值)4.Set MaxX (X 的最大值)5.Back (返回)沈 阳 航 院 设 计 用 纸III绘制函数图象及功能模块图输入函数 Y=ASin(Bx)+C 的各项参数 A、B、C及 X 的区间范围 MinXMaxX 的值void StartUp() Initialize(); Start(); Draw();Pause();void Initialize()int GD=VGA; int GM=VGAHI; int ErrorC;clrscr();initgraph( Erro
5、rC=graphresult();if (ErrorC!=0)printf(“Graphics System ERROR“);exit(1);cleardevice();void Start()setcolor(RED);settextstyle(TRIPLEX_FONT,0,9);outtextxy(120,180,“Welcome“);setcolor(YELLOW);settextstyle(0,0,1);outtextxy(6,470,“Press Any Key.“);getch();cleardevice();setfillstyle(SOLID_FILL,7);setlinest
6、yle(0,0,1);bar(0,0,639,479);setfillstyle(SOLID_FILL,BLUE);bar(1,1,638,12);Title(“Function Graphics V0.1“);DrawRect(3,465,636,476);DrawMenuBar();Inform(“Ready!“);/*/int ScreenX(double x)/*数学座标转换为屏幕坐标*/return (316+ZOOM*x+RX*ZOOM);int ScreenY(double y)return (211-ZOOM*y+RY*ZOOM);沈 阳 航 院 设 计 用 纸IVvoid D
7、rawAxis(int maxx,int maxy,int minx,int miny)int i; setcolor(GREEN);line(ScreenX(minx),ScreenY(0),ScreenX(maxx),ScreenY(0);line(ScreenX(0),ScreenY(miny),ScreenX(0),ScreenY(maxy);for(i=minx;i=1.5) ZOOM/=1.5; Draw(); Inform(“ZoomOut“);void MoveUp() if(RY-1=-15) RY-=1; Draw(); Inform(“MoveUp“);void MoveDown() if(RY+1=-15) RX-=1; Draw(); Inform(“MoveLeft“);void MoveRight() if(RX+1=15) RX+=1; Draw(); Inform(“MoveRight“);沈 阳 航 院 设 计 用 纸VI(1)菜单界面(2)函数参数设置沈 阳 航 院 设 计 用 纸VII(3)函数区间设置(4)欢迎屏幕