复数四则运算课程设计.doc_第1页
复数四则运算课程设计.doc_第2页
复数四则运算课程设计.doc_第3页
复数四则运算课程设计.doc_第4页
复数四则运算课程设计.doc_第5页
免费预览已结束,剩余10页可下载查看

下载本文档

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

文档简介

课程设计(论文)题 目 名 称 复数四则运算 课 程 名 称 面向对象课程设计 学 生 姓 名 刘荣 学 号 1241302031 系 、专 业 信息工程系、计算机科学与技术专业 指 导 教 师 陈智 2014年 11月 9 日目 录1 前言.22 需求分析.2 2.1 任务和要求.2 2.2 运行环境.2 2.3 开发工具.23 分析和设计.2 3.1 系统分析及设计思路.2 3.2 主要类图.5 3.3 函数流程图.64 具体代码实现.8 4.1 具体代码.85 课和设计总结.11 5.1 程序运行结果.11 5.2 设计总结.12参考文献.13致 谢.131 前言编写一个程序来实现复数的类,并实现复数的四则运算。复数的四则运算使用重 载的运算符来实现。分别使用友元和不使用友元的方式实现。在四则运算的基础上,扩展其他对复数的运算。2 需求分析2.1 任务和要求 设计复数类,并实现复数的四则运算。具体要求:(1)复数的四则运算使用重载的运算符实现,例如A、B为复数,则使用表达式A+B就可以计算出其加法运算的结果。(2)分别通过使用友元和不使用友元的方式实现。 (3)在四则运算的基础上,扩展其他对复数的运算。2.2 运行环境(1)WINDOWS2000/XP系统(2)Visual C+ 6.0编译环境或DEV C+ 5.0编译环境2.3 开发工具 C+语言3 分析和设计3.1 系统分析及设计思路定义一个基类complex受保护成员变量: Real 为double型。复数的实部Img 为double型,复数的虑部公有成员方法: 定义一个无参数的构造函数complex 对成员变量grade和Name进行赋值,初始值为0 重载构造函数complex,参数为(double rpart,double ipart) rpart=real Ipart=imag 重载操作符“+”,参数为(comst complex&com) 实现两个复数的相加 重载操作符“”,参数为(const complex&com)实现两个复数的相减重载操作符“x”,参数为(const complex&com)实现两个复数相乘重载操作符“”,参数为(const complex&com) 实现两个复数的想除定义一个无参数无返回值的成员函数 display 输出复数的标准形式:(a+bi)或(a-bi);返回值为整型的主函数 定义四个double型变量a,b,c,d,即复数Aa+bi,复数B=c+di 输入变量a,b,c,d的值 调用两个参数的构造函数 complex,初始化对象n1(a,b),n2(c,d) 输出复数A的值 输出复数B的值 n1+n2=result1 输出两个复数的相加,及结果 n1-n2=result2 输出两个复数的相减,及结果 n1*n2=result3 输出两个复数的相乘,及结果 If 复数n2中c=d=0 给出错误信息,除数不能为0 Else n1/n2=result4 输出两个复数的相除,及结果 返回0值End 3.2 主要类图 图3.3 3.3 函数流程图开始创建类complex 重载构造函数 complex()输入,a,b,c,d输出复数n1,n2复 数 减 法 运 算复数除法运算复 数 乘 法 运 算复 数 加 法 运 算 输出运算结果 结束 图3.4 主函数流程图开始 定义类complex 重载构造函数complex operator输入a,b,c,d yC=d=0?错误,除数不能为0N输出运算结果结束 图3.5除法运算函数流程图4 具体代码实现4.1具体代码#include/头文件class complex /定义了一个complex的类 private: double real; /复数的实部double imag; /复数的虚部public: complex() /定义无参数的构造函数 real=imag=0; complex(double rpart,double ipart) /重载并定义两个参数的构造函数 real=rpart; imag=ipart; complex operator+(const complex &com) /重载操作符“+” complex temp; temp.real=real+com.real; temp.imag=imag+com.imag; return temp; complex operator-(const complex &com) /重载操作符“” complex temp; temp.real=real-com.real; temp.imag=imag-com.imag; return temp; complex operator*(const complex &com) /重载操作符“” complex temp; temp.real=real*com.real-imag*com.imag; temp.imag=real*com.imag+imag*com.real; return temp; complex operator/(const complex &com) /重载操作符“” complex temp; temp.real=(real*com.real+imag*com.imag)/(com.real*com.real+com.imag*com.imag); temp.imag=(imag*com.real-real*com.imag)/(com.real*com.real+com.imag*com.imag); return temp; void display() /定义成员函数display,输出复数的标准形式 if(imag=0) cout(real+imagi); else cout(realimagi); ; int main(void) double a,b,c,d; coutabcd; complex n1(a,b),n2(c,d); cout两个复数值为:; coutA=; /输出复数A的值n1.display(); cout B=; n2.display(); /输出复数B值coutendl;coutendlendl两个复数的加法:endl; complex result1; result1=n1+n2; /实现两个复数的加法运算n1.display(); cout+; n2.display(); cout=; result1.display(); /输出两个复数相加的结果coutendlendl两个复数的减法:endl; complex result2; result2=n1-n2; /实现两个复数的减法运算n1.display(); cout-; n2.display(); cout=; result2.display();/输出两个复数相减的结果coutendlendl两个复数的乘法:endl;complex result3; result3=n1*n2; /实现两个复数的乘法运n1.display(); cout; n2.display(); cout=; result3.display(); /输出两个复数相乘的结coutendlendl两个复数的除法:endl; if(c=0&d=0) /判断除数是否为0,若为0则给出错误信息,不为0则进行相除运算cout不能进行运算,除数不能为0endl; else complex result4; result4=n1/n2; /实现两个复数的除法运算n1.display(); cout; n2.display(); cout=; result4.display(); /输出两个复数相除的结果 coutendl; return 0; 5 课程设计总结 5.1 程序运行结果 5.2 设计结论 课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。 课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程 在此感谢我们的陈智老师.,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次设计的每个实验细节和每个数据,都离不开老师您的细心指导。而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计。 同时感谢小组队友们,谢谢你们对我的帮助和支持,让我感受到同学的友谊。 由于本人的设计能力有限,在设计过程中难免出现错误,恳请老师们多多指教,我十分乐意接受你们的批评与指正,本人将万分感谢。 参考文献1 张福祥. C语言程序设计M. 辽宁大学出版社,2008.12 张福

温馨提示

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

评论

0/150

提交评论