




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
设计题目:绘制椭圆并使其旋转。计算机程序训练题目及要求 目录一训练目的2二设计要求2三训练题目2四具体内容2 一训练目的:计算机程序设计训练是学习完计算机程序设计课程后进行的一次全面的综合性上机实验。其目的在于为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。二设计要求:1. 按照给定题目独立设计程序,上机调试通过 。2. 写出设计报告提交报告的内容如下:1)题目内容的描述 2)应用程序功能的详细说明 3)输入数据类型、格式和内容限制; 4)主要模块的算法描述 以程序流程图的方式给出 简要的语言描述 5)结束语 6)程序的源代码清单 7)报告的字数,不算源代码清单不少于4页按规定的模板封面输出,不准自定义封面格式提交报告的格式如下:1)正文宋体小四号字 2)每个自然段开始空两格. 3)文中英文用新罗马(time new roman),四号 4)源程序清单用英文新罗马五号5)提交报告封面使用沈阳理工大学课程设计(论文)专用封面注:对于程序中未能实现的部分需要加以说明。对于程序中所参考的部分代码需要加以声明,并说明出处。三训练题目:绘制椭圆并使其旋转要求:在屏幕上画一个椭圆,要求每按一次键盘,该椭圆转动30度。椭圆显示的位置、大小和转动的方向由键盘输入,并将输入的数据送文件保存。按回车键程序结束。(功能延伸:改变数据文件的内容后,再根据数据文件里的数据绘制椭圆)四具体内容:程序功能说明应用数据类型:#include / 标准输入输出函数 / #include / 标准库函数 /#include /图形函数/#include /数学函数/exit()函数 该函数的作用是关闭所有文件,终止正在执行的程序,待用户检查错误修改后再运行。fopen函数 文件的打开fopen( )用来打开文件。fp=fopen(d:ellipse.txt,r) 的意义是打开d磁盘目录中的文fscanf ( )函数 其调用的一般形式为:fscanf (文件指针变量,格式控制字符,变量地址列表 )。该函数的功能是以格式控制字符串中所指定格式将数据从文件指针所指向的文件中读取出来,然后分别送给所指定的变量。conio.h不是C标准库中的头文件。 conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等五数据流程图开始(fp=fopen(d:ellipse.txt,r)=NULLc=i|c=Iintdriver=VGA,mode=VGAHI,angle=0;printf(input x0,y0,a,b,direction:n)(fp=fopen(d:ellipse.txt,w)=NULLprintf(cannot open the file! n);fscanf(fp,%d%d%d%d%d,&x0,&y0,&a,&b,&direction);printf(cannot open the file! n);fprintf(fp,%d %d %d %d %d,x0,y0,a,b,direction);initgraph(&driver,&mode,);ch!=0x1c0dcleardevice();closegraph();结束六程序源代码#include #include #include #include #include #define RADIAN(angle) 3.14159*angle/180 /*定义宏实现角度转换成弧度*/int direction;void rotate(int x0,int y0,int *x,int *y,double angle) /*点(X,Y)绕(X0,Y0)点旋转angle弧度*/ double r=sqrt(*y-y0)*(*y-y0)+(*x-x0)*(*x-x0),a0=atan2(*x-x0,*y-y0); if(direction) *x=x0+r*cos(a0+angle); *y=y0+r*sin(a0+angle); else *x=x0+r*cos(a0-angle); *y=y0+r*sin(a0-angle); void myellipse(int x0,int y0,int a,int b,int angle0) /*画以(X0,Y0)为中心a为实半轴长,b 为虚半轴长,angle为旋转的角度*/ int x,y;double r=0.0,end=RADIAN(360),angle=RADIAN(angle0); x=x0+a;y=y0; rotate(x0,y0,&x,&y,angle); moveto(x,y); for(r=0.0;r=end;r+=0.01) x=x0+a*cos(r);y=y0+b*sin(r); rotate(x0,y0,&x,&y,angle); lineto(x,y); main() int driver=VGA,mode=VGAHI,angle=0; int ch,x0,y0,a,b; char c; FILE *fp; printf(if you want input,please press I or i,if you want to call saved file,press anykeyn); scanf(%c,&c); if(c=i|c=I) printf(input x0,y0,a,b,direction:n); scanf(%d%d%d%d%d,&x0,&y0,&a,&b,&direction); if(fp=fopen(d:ellipse.txt,w)=NULL) printf(cannot open the file! n); exit(0); fprintf(fp,%d %d %d %d %d,x0,y0,a,b,direction); fclose(fp); else if(fp=fopen(d:ellipse.txt,r)=NULL) printf(cannot open the file! n); exit(0); fscanf(fp,%d%d%d%d%d,&x0,&y0,&a,&b,&direction); fclose(fp); initgraph(&driver,&mode,); while(ch!=0x1c0d) cleardevice(); myellipse(x0,y0,a,b,angle); ch=bioskey(0); an
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旧村改造项目可行性研究报告
- 机器设备购销合同
- 环保清洁能源供需分析
- 北京市农作物种子买卖合同BF2篇
- 部队司机安全培训内容课件
- 期中专题复习-词汇句型训练-2025-2026学年 译林版2024 英语七年级上册 解析卷
- 河南省三门峡市2024-2025学年高二上学期期末调研考试地理试卷(含答案)
- 2026届湖南省洪江市部分学校高三理科班9月份物理摸底考试试题(含解析)
- 20xx建行演讲稿(4篇)
- 多源文献融合与考证-洞察及研究
- 数字谜02-三上08-乘除法填空格
- 七块红烧肉阅读题目和答案-七块红烧肉初中语文课外阅读专练-记叙文阅读及答案
- 托班育儿知识讲座
- 流体力学在化工中的应用
- 配件紧急供货应急方案
- JJG 443-2023燃油加油机(试行)
- 安全生产责任保险事故预防技术服务方案
- IPv6技术与应用(华三版)电子教案项目1-15教学设计
- 古代汉语教程张世禄简体字版
- 高中英语-单词3500分类记忆
- JGJT294-2013 高强混凝土强度检测技术规程
评论
0/150
提交评论