C++课程设计复数计算器.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
姓名 合作者  学号 学号 C++课程设计实验报告 班级 班级 任课教师 教师指定题目 实验报告成绩  复数计算器  时间  评定难易级别 A 级 复数计算器 程序功能设计 1.  程序功能的总体结构 复数计算器的程序总体功能可设计成如图1所示,可以看出,复数计 算器的各种功能都用菜单选项列出,用户可以根据需要选择相应的菜 单项,从而执行不同的子程序以完成相应的功能。 2.课程设计要求 一开始运行程序,要有详细的菜单选项界面,用户不选择退出就可以 反复运算。 可以进行多个操作数的复数运算,输入 0+0*i 时为止。 编写可以对输入的复数求模的成员函数。 编写具有测试功能的函数,即计算机能够自动出题,并要求用户计算, 同时计算机判断用户计算的对错并打分,要求十题为一个单元,每题 一个运算符,运算符包括+,-,*三种,参与加减运算实部虚部为 一位数。 (5) 重载输入输出运算符,对复数的输入既可采用实部虚部分开提示输入, 也可直接输入诸如a+i*b或a+ib这种形式,对复数的输出要 考虑实部虚部的正负号,通过判断给出的输出结果。 输出菜单及提示信 输出菜单 及提示信 输入选择 开始 加法子程序 结束 减法子程序 测试子程序 息 是否做加法  N Y  是否做减法 N Y  是否进行测试 N Add() . . . . . . …… Y 是否退出 N Y 2.  程序设计思想 1)类的封装 程序中将复数形式的数据定义成一个复数类 CComplex,重载了加法及减 法等运算符,使函数的加减等运算像一般数据一样方便.每个运算符重载都用 一个函数去实现。参考类的定义如下: class CComplex{ private: double Real,Image; public: CComplex(double real=0,double image=0) //构造函数 {Real=real;Image=image;} friend istreamoperator(istreamis,CComplexcom); //重载输入 friend ostreamoperator(ostreamos,CComplexcom); //重载输 出 CComplex operator+(CComplexcom); CComplex operator-(CComplexcom); //减法重载 CComplex operator*(CComplexcom); //乘法重载 CComplex operator/(CComplexcom); //除法重载 int operator==(CComplexcom); int operator!=(CComplexcom); int operator(CComplexcom); int operator(CComplexcom); float Module(void); //复数求模 }; (2)设计的任务要求 1 在实际应用中,输入复数可能为 a+bi, a, bi, -a, -bi, +i. –i. I 等形式。重 载输入运算符应该能识别这样形式多样的复数。所以在重载输入函数时要 综合考虑上述各种输入形式。可行的处理方式是:在重载输入函数中,设 计用 (3)设计的任务要求 2 在程序中设计一个复数运算的测试函数 Test(),其功能是让计算机 随机出 10 道运算题,用户给出答案,同时计算机实时判断对错并可 以打分。这个函数的关键是让计算机随机产生复数对象和运算符, 计算机内部有一个随机数发生器,可以产生一个固定顺序的整型随 机数序列,调用语句为“int a = rand();”这时,a 就是该随机数 发生器产生的随机数。 由于产生的随机书数在整数范围内,为测试方便,按程序设计要 求,产生的随机复数对象实部和虚部在 100 以内,运算符只有加减 两种。因此,需要对产生的随机数进行进一步的处理,用随机数模 除以除以 100,产生出 100 以内的随机整数;同样,用随机数模除 以 3,可以产生出 0、  1、3 三个随机数据,定义 0 为加法,1 为减 法,2 为乘法,这样就可以产生出随机的复数对象的加减乘运算了。 可以参见图 2 测试子程序 Test()结构框图。 设置循环次数为 10前两个随机数 初始复数对 设置循环次数为 10 前两个随机数 初始复数对象 1 后两个随机数 初始复数对象 2 用两个随机数 初始复数对象 3 最后两个随机数 初始复数对象 4 两对象相乘 输出总分 结束 产生 8 个 100 以内的随机数 产生 2 以内的 随机数 op 两对象相加 用户输入结果 总分加 10 两对象相减 用户输入结果 输出出错信息 总分加 10 输出出错信息 用户输入结果 总分加 10 输出

文档评论(0)

xiaoluping2000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档