《c++程序设计课程设计——复数类》

《c++程序设计课程设计——复数类》

ID:9416025

大小:49.00 KB

页数:7页

时间:2018-04-30

《c++程序设计课程设计——复数类》_第1页
《c++程序设计课程设计——复数类》_第2页
《c++程序设计课程设计——复数类》_第3页
《c++程序设计课程设计——复数类》_第4页
《c++程序设计课程设计——复数类》_第5页
资源描述:

《《c++程序设计课程设计——复数类》》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、一、前言经过一年的C++程序语言的学习,我充分培养了我在这门课上的学习兴趣。上学期由于条件限制,这门课的学习学习较为落后,以至于考试成绩很不理想。这学期有了电脑,学习起来轻松多了,因为这门课有个最大的特点那就是:如果你有不懂的,不用问老师,问计算机就行了。一个多月前,《C++程序设计课程设计》学习任务的下达让我有喜有忧。喜的是我可以较为全面的考察一下我的学习知识的情况,忧的是我觉得太有挑战,不觉得自己有能力独立完成。经过深思熟虑,我选择了第14道题——《复数类》。此题较为全面的考察了类和运算符重载以及许多C++基础知识。通过长达8个

2、小时的编写、运行、调试、测试,最终完成!二、需求分析1.根据题目要求,大可分题目目标两个:(1)建立复数类Complex以及复数类的信息初始化和输出;(2)实现复数的基础数学运算。2.分析解决问题所需的元素:(1)建立复数类protected元素的数据类型应为double型;(2)public中的函数的返回值应为复数类,所以函数的类型应该是Complex类,且应该有14个;(3)在进行构造自加、自减、乘方运算的函数时不可能带参数,故应使用*this(this指针);(4)我编写此程序应该是中学教师办公或者学生学习所用,所以在之后的代

3、码部分我有较为详细的注释。三、概要设计1.列出我的程序流程简图(如下):创建复数类Complex,完善所有元素(包括Public中的13个函数)通过测试,输出测试结果。读入两个复数类c1,c2用main函数中的对象调用类中的,实现它的数学基础运算。2.代码大体格式:#includeclassComplex{doublereal,image;public:...14个函数...};intmain(){Complexc1(1,2),c2(3,4),c3,...;调用前面的函数,实现数学基本运算的要求...retu

4、rn0;}四、详细设计(代码):#includeclassComplex{protected:doublereal,image;public:Complex(doubler=0,doublei=0):real(r),image(i){}//复数类的数据初始化。doubleReal(){returnreal;}doubleImage(){returnimage;}ComplexJueduizhi();//各种运算函数。Complexoperator+(Complex&);Complexoperator+(dou

5、ble);Complexoperator-(Complex&);Complexoperator-(double);Complexoperator*(Complex&);Complexoperator/(Complex&);Complexoperator++();Complexoperator--();ComplexChengfang(int);Complexoperator=(Complex);};ComplexComplex::Jueduizhi(){Complextemp;temp.real=(real>=0)?real:-re

6、al;temp.image=(image>=0)?image:-image;returntemp;}ComplexComplex::operator+(Complex&c){Complextemp;temp.real=real+c.real;temp.image=image+c.image;returntemp;}ComplexComplex::operator+(doubled){Complextemp;temp.real=real+d;temp.image=image;returntemp;}ComplexComplex::op

7、erator-(Complex&c){Complextemp;temp.real=real-c.real;temp.image=image-c.image;returntemp;}ComplexComplex::operator-(doubled){Complextemp;temp.real=real-d;temp.image=image;returntemp;}ComplexComplex::operator*(Complex&c){Complextemp;if(c.real!=0&&c.image!=0){temp.real=r

8、eal*c.real-image*c.image;temp.image=real*c.image+image*c.real;}returntemp;}ComplexComplex::operator/(Complex&c){Compl

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。