ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:241.07KB ,
资源ID:6241032      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6241032.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(简单图形处理系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

简单图形处理系统.docx

1、简单图形处理系统简单图形处理系统程序设计基础课程设计报告目 录1.课程设计目的 32.课程设计题目描述和要求 32.1课程题目 32.2课程要求 33.课程设计报告内容 33.2 运行结果 114. 课程设计总结 125.参考书目 121.课程设计目的开拓思维,检查和巩固所学的知识,为以后的学习和编程打下基础。2.课程设计题目描述和要求2.1课程题目简单图形处理系统2.2课程要求设某个图形处理程序只考虑点、直线、圆三种基本图形。对于点,给出点的横纵坐标;对于直线,给出直线方程ax+by+c0的三个系数a,b,c;对于圆,给出圆心坐标和半径。(为叙述性文字,告诉我题目要求做些什么)试说明图形的几

2、何形状类型,并编写输入和输出图形数据、求两点距离、求两直线交点、 已知点和半径形成圆、已知两点形成直线等函数。(后面这些为具体的要求)3.课程设计报告内容#include#include#includeusing namespace std;class point public: friend void point_count(point *p);/声明为友员函数,便于引用类的私有数据 friend void build_line(point *p); void set_value() /作用:输入点的坐标 cout请输入点的坐标xy; void show() /作用:输出点的坐标 cout点

3、的坐标是:(x,y)endl; private: float x,y;void point_count(point *p) /作用:计算两点间的距离 cout两点间的距离为:endl; coutsqrt(*p).x-(*(p+1).x)*(*p).x-(*(p+1).x)+(*p).y-(*(p+1).y)*(*p).y-(*(p+1).y)endl;void build_line(point *p) /作用:用两点构造直线 cout两个点的坐标为:(*p).x,(*p).y),(*(p+1).x,(*(p+1).y)endl; cout参数:a=(*p).y-(*(p+1).y,b=(*(p

4、+1).x-(*p).x,c=(*(p+1).y*(*p).x-(*p).y*(*(p+1).xendl; cout直线方程是:(*p).y-(*(p+1).yx+(*(p+1).x-(*p).xy+(*(p+1).y*(*p).x-(*p).y*(*(p+1).x=0endl;class linepublic: friend void line_count(line *p);/声明为友员函数 void set_value() /作用:输入直线的三个参数 cout请输入直线的三个参数abc; void show() /作用:输出直线的方程 if(a=1&b!=1)cout直线的方程为:x+by

5、+c=0endl; else if(a!=1&b=1)cout直线的方程为:ax+y+c=0endl; else if(a=1&b=1)cout直线的方程为:x+y+c=0endl; else cout直线的方程为:ax+by+c=0endl; private: float a,b,c;void line_count(line *p) /作用:计算两直线的交点 if(*p).a/(*(p+1).a=(*p).b/(*(p+1).b)cout两直线平行,没有交点endl; else cout两直线的交点是:endl; cout(*p).b*(*(p+1).c-(*p).c*(*(p+1).b)/

6、(*p).b*(*(p+1).a-(*p).a*(*(p+1).b), (*p).a*(*(p+1).c-(*p).c*(*(p+1).a)/(*p).a*(*(p+1).b-(*p).b*(*(p+1).a)endl; class circlepublic: void set_value() /作用:输入圆心坐标和半径 cout请输入圆的坐标和半径xyr; void show() /作用:输出圆的圆心坐标、半径和方程(构造圆) cout圆心坐标:(x,y),半径:rendl; if(x=0&y=0)cout圆的方程:xx+yy=r*rendl; else if(x=0&y!=0)cout圆的

7、方程:xx+(y-y)(y-y)=r*rendl; else if(y=0&x!=0)cout圆的方程:(x-x)(x-x)+yy=r*rendl; else cout圆的方程:(x-x)(x-x)+(y-y)(y-y)=r*rendl; private: float x,y,r;int main() point poi2; line lin2; circle cir; int i; string choose; /choose 选择是否继续输入 string typ; /typ:图形的形状 / while(1)无限循环,让用户自己选择 for(;) cout请输入图形类型typ; /出现过:

8、cin : ambiguous(不明确的,多定义的) symbol cout图形为:typendl;/处理点的问题 if(typ=point) for(i=0;i+) /注意要让程序跳出 poii.set_value(); cout是否继续输入点的坐标?choose; if(choose=no)break; if(i=0)poi0.show(); else if(i=1) for(i=0;i2;i+) poii.show(); point_count(poi); build_line(poi); else break; /处理直线的问题 else if(typ=line) for(i=0;i+

9、) lini.set_value(); cout是否继续输入直线的参数?choose; if(choose=no)break;/只有选择了不输入时,才能跳出 if(i=0)lin0.show(); else if(i=1) for(i=0;i2;i+) lini.show(); line_count(lin); /处理圆的问题 else if(typ=circle) cir.set_value(); cir.show(); /处理其他图形的问题 else cout图形不在指定的范围内endl; cout是否继续输入图形的类型?choose; if(choose=no)break; /同样只有选

10、择了不输入时,才能跳出 return 0;3.2 运行结果 4. 课程设计总结终于,激动人心的期末考试如期而至,从未感受过的课程设计就在眼前,既有几分新奇,又有几分神秘,但更多的是莫名的担心,既担心自己不会动手去做,又担心自己做的不是很好。终于,在担心与被动中,在考完C+程序设计后,我坐在了电脑前,一点点地构思算法、输入、编译、运行,不懂的就问同学,忘了的就看书。在编程中,慢慢地弄懂了题意,渐渐地就能构思出算法。终于,有了算法,其他过程的设计就显得得心应手了。在编程中,我发现:类和链表有点不同,但也有相通之处,用类做过的题目,用链表再做时,就显得很简单了。在本题中,我建立了对象数组,因为数组的内存本来是连续的,再加上只有两个元素,所以就没有用链表(可以存大量的数据)了。在编完程序后,我觉得:耐心和细心在编程中都显得很重要,稍有不注意,少一个;或是一个都会出来意想不到的错误个数,给调试带来麻烦!所以,编写程序一定要细致小心,认真努力,那么我们就一定能取得最后的成功!5.参考书目1 谭浩强,C+程序设计,北京,清华大学出版社,2007年.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1