c++课程设计汇本之几何体的表面积和体积_第1页
c++课程设计汇本之几何体的表面积和体积_第2页
c++课程设计汇本之几何体的表面积和体积_第3页
免费预览已结束,剩余22页可下载查看

下载本文档

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

文档简介

1、课程设计报告课程设计题目:几何体的外表积与体积学生:徐辉专业:软件工程电商班 级:1421812指导教师:振华学号: 2014201812092015 年 6 月 30 日3 / 22一、引言1二、设计目的与任务1三、设计方案2四、结论10五、致11一、弓I 言通过C+课程设计,使学生能将学到的面向对象的程序设计思想用 到具体的工作和学习中,加深对类与对象的理解,是将计算机课程 与实际问题相联接的关键步骤。通过课程设计,能够提高学生分析 问题、解决问题,从而运用所学知识解决实际问题的能力,并培养 根本的、良好的程序设计技能,因而必须给予足够的重视。二、设计目的与任务定义一个抽象类形状shape

2、,包含输入根本图形的信息函数input()、显示根本图形信息函数 disp()、计算外表积的函数area()、计算体积的函数volume(),它们均为纯虚函数。通过继承形状类派 生出球体类、正方体类、长方体类、圆柱体类。程序需实现以下功能:1、设计菜单实现定义一个抽象类形状shape,包含输入根本图形的信息函功能选择;2、输入各种形状信息;3、显示各种形状信息;4、计算各种形状的外表积;5、计算各种形状的体积;6、输入数据和输出结果用文件的形式实现。三、设计方案1、总体设计该程序主要是在确定物体的形状后,计算物体的外表积和体积,在 输入数据和输出结果时用文件的形式,所以这个程序主要用到的容 是

3、类的继承与派生,另外还涉及文件、指针等容。程序首先建立一 个抽象类shape,作为公共接口;然后建立四个图形类: Ball、Cube Cubiod、Cylinder,公有继承shape类,分别计算各物体的外表积和体积;然后在主函数中定义各对象,调用各类中的成员函数,输出所要结果。2、详细设计In put:数据输入函数,输入所需的半径、边长、高等 数据;Area:计算各物体外表积的函数;Volume:计算各物体体积的函数;Disp:输出计算结果的函数;Run:定义指针,调用抽象类里的每个接口即调用每个函数;Mai nMenu():调用各函数,输出结果。3、程序清单 #in clude<io

4、stream>using n amespace std;const double Pl=3.14;class shapepublic:virtual void in put()=O;virtual void disp()=0;virtual double area()=0;virtual double volume()=0; ;class ball:public shapeprivate:int r;public:ball(double r=O):r(r)void in put()coutvv"输入球体的半径:"<<endl;cin>>r;do

5、uble area()return 4*PI*r*r;double volume()return 4/3*PI*r*r*r;void disp() coutvv"球体的半径:"vvrvvendl;coutvv"球体的面积:"vvarea()vvendl;coutvv"球体的体积:"vvvolume()vvendl;;class square:public shapeprivate:int x;public:square(double x=0):x(x)void in put()coutvv"输入正方体的边长"<

6、;<endl;cin> >x;double area()return 6*x*x;double volume()return x*x*x;void disp()coutvv"正方体的边长:"vvxvvendl;coutvv"正方体的面积:"vvarea()vvendl;coutvv"正方体的体积:"vvvolume()vvendl;class cuboid:public shapeprivate:int l,w,h;public:cuboid(double l=0,double w=0,double h=O):l(l

7、),w(w),h(h)void in put()coutvv"输入长方体的长宽高"<<endl;cin>>l >>w>>h;double area()return 2*(l*w)+2*(w*h)+2*(l*h);double volume()return l*w*h;void disp()coutvv"长方体的长宽高是:"vvlvvwvvhvvendl;coutvv"长方体的面积是:"vvarea()vvendl;coutvv"长方体的体积是:"vvvolume()v

8、vendl;;class cyli nder:public shapeprivate:int r,h;public:cyli nder(double r=0,double h=0):r(r),h(h)8 / 22void inpuo宀couAA->Hmsa回>®M二Acendrcinvvrvvm doub-e aea()宀 recln 2* 卫*h+卫* doub-e vo-ume()宀 recln卫八 void disp()宀couAA.aWHSM-AArAAhAAendr couAdHms回5S -Acareaoccendr couAdHmsss _AAVO-ume(

9、Acendr9 - 22;void use_ball()ball b;b.i nput();b.disp();return ;void use_square()square s;s.i nput(); s.disp(); return ;void use_cuboid() cuboid c;c.i nput();c.disp();return;void use_cyli nder() cyli nder cy;cy.i nput();cy.disp();return;void menu() int i;21 / 22cout<<"*几何体的外表积与体积*n"&#

10、171;e ndl;coutvvH*(0):退出系统*n"<<e ndl;coutvvH*(1):球体*n"v<en dl;coutvvH*(2):正方体*n"vven dl;coutvvH*:长方体*n"vven dl;coutvvH*:圆柱体*n"vven dl;coutvvH*感使用本软件*n"vven dl;coutvv"请输入你的选择项0-4"vvendl;cin> >i;if(iv0|i>4)coutvv"错误,请输入指定数字!"vve ndl;e

11、lseswitch(i)case 0: exit(O);break;case 1: use_ball();break;case 2: use_square( );break;case 3: use_cuboid( );break;case 4: use_cyli nder( );break; return; void mai n()int n;domenu();cin>>n;while( n!=0);4、程序调试与体会在程序的编写过程中遇到很多麻烦,像如何调用成员函数,如何用 文件的形式输入数据和输出结果但最后我们都解决了,这让我 们很有成就感,很自豪,也让我们知道了团结的力量。程

12、序完成后 调试没错误,但却无常运行,通过我的反复思考,程序中的错误得 到顺利解决,让它正常运行,函数功能也得到了进一步的完善。并且在本次课程设计的过程中,让我进一步认识到了团队的力 量,只有团结才能发挥出一个集体的力量。一个人的力量真的好有 限,即使个人能力再强,做一个大点的工程,也会力不从心。只有 分工协作才能将事办得越快越好。通过这次课程设计,会为我们以 后进入社会提供一定的经历。我们相信在今后的学习真的我们会更加努力,积累经历。使自己在编程等各方面得到提高。这次程序设计让我们受益匪浅!5、运行截图主菜单4个具体工程:i ' E:C -+WtDebugV-eKeT° I

13、WM宙*冶*冷*詰*水戋宙水濡窗案(0):退出 系统#帝水*帝水*帝水*才:齐*壽#*.*« . J i-a bb . J fcji bb . J >ia bb «.uj aa b.*j aj I |、 fl"_ «r bAii ihJ Br Bja !Ba>r 片古a l.a ilu aa ar ttJgt Br sAu *a d. c-Tj i«1, J f . j-JjAi .牛>6碍|»7咛档七|0尬<71*7>丐1方"1'6<7|<'171<1尬中&#

14、39;方*京倉常曲*冶*京*戋*京*官(2):正方(本乂常窗宜京京宕常京宜常京宜*當宜启京宕 京京*京*净宜*京宜*(3):长方彳本K*京京*宣采*宜*:x*k: *窃*茅寧*穹* (4):圆柱f本百*宜字*寧宇*寧*:|:比*宜*宜 *當*护*感谢便用本支亍f牛*尙*常*4;字*冑*4; 请输入你的选择项(0-43输入长方体的长宽髙22 5 77 长方体的长宽高是:22577长方体的面积是:4378长方体的体积是:8470ITt-'£rC + 4- 'Debugl. exe1帰柚沁之*制c* 10):退出,系统乞炜NX*之之*之之蚱歸和c *#X*Tj:*宜*京字*

15、 : 1):球 f古*X*宜x*N* 字水斗X*学* f?) :方f才L*穿宜*学比字黑*水宜来*学*学* *宜兰*需*宜* ;3):长方(尢*宜*比*宜*宜*宜* *斗举*芈*堆*筍字* 14):圆柱f本*塔*塔*字*當*水*帛寧*常* *常X*感谢使,用本软|'牛*冷*尙*常* 请输入你的选择项(0-4)4输入圆柱体的底面半径和高5 6底宦半径和高:56圆柱体的面积:26&9圆柱体的体积:471四、结论忙碌了一个多星期,在大家的共同努力下,我们总算将此程序 设计出来。尽管不是自己独立完成,但仍然很快乐,因为在设计的 过程中,让我了解到要设计一个大型程序,查找资料是至关重要

16、的,在他人的根底上,再根据自己所学进展修改与调试,最后设计 出自己想要的程序,这过程艰辛,但只要你持之以恒,成功指日可 待。另外平时扎实的根底也很关键,因为如果你平时学得就不怎么 样,那么你面对这么一个比拟有难度的程序,你可能会望而却步,看 他人的程序都是个难点,更别说让你自己去设计。为了解决此。类问 题,最好就是多向同学,教师请教,不要怕难为情。尤其是教师, 评他们多年的编写程序的经历,要解决我们的问题,对他们来说只 是 small caseo在设计这个程序时,我们刚开场是根据教师给我们提供的资料,用 画图以及循环将框架设计出来,但是接下去便无从下手了,计算是 个关键和难点,我们也查了相应的

17、资料,但是它上面用得是坐标来 做的,所以为了方便设计程序,我们也改为坐标来做的,这样计算 问题解决了。接下去就是按键问题,我们的资料是用鼠标做的,所 以关于按键这个函数就只能我们自己设计,还好手头有类似的资 料,经过自己的反复尝试以及与与同学的讨论,这也不难,最好还 是被我们搞定了。最后就是闪烁,这个设计的方法很死板,都一个 类型,就是算坐标比拟烦琐,要确定好它的位置,但是这些只要你 自己愿意去尝试,问题都可以迎刃而解的。从这一个多星期的设计过程中,我看到了大家的拼搏与努力,也让 我知道团队精神得难能可贵,尽管一年下来大家不怎么有多大接 触,但是彼此之间的友谊已经在我们心里扎根生底,在遇到问题 时,我们会共同进退,每个人都很大方不会因为是通过自己艰辛劳 动设计出来的东西而不准他人剽窃了。总之,这次课程设计让我受益良多,我会好好珍惜像这种难得的 时机。五、致这次的课程设计对我们来说是一次尝试与挑战的过程。在这 里,我们由衷地感帮助、支持和鼓励我们完成课程设计的教师和一 起奋斗过的伙伴。首先我们要感学校给我们提供这样一个一起学习 和研

温馨提示

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

最新文档

评论

0/150

提交评论