资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
第9页 / 共34页
第10页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
C课程设计复数计算器22020年4月19日文档仅供参考C+课程设计实验报告姓名 学号 班级 合作者 学号 班级 任课教师 时间 教师指定题目 复数计算器 评定难易级别 A级 实验报告成绩 复数计算器程序功能设计1 程序功能的总体结构复数计算器的程序总体功能可设计成如图所示,能够看出,复数计算器的各种功能都用菜单选项列出,用户能够根据需要选择相应的菜单项,从而执行不同的子程序以完成相应的功能。2课程设计要求(1) 一开始运行程序,要有详细的菜单选项界面,用户不选择退出就能够重复运算。(2) 能够进行多个操作数的复数运算,输入00i时为止。(3) 编写能够对输入的复数求模的成员函数。(4) 编写具有测试功能的函数,即计算机能够自动出题,并要求用户计算,同时计算机判断用户计算的对错并打分,要求十题为一个单元,每题一个运算符,运算符包括,三种,参与加减运算实部虚部为一位数。(5) 重载输入输出运算符,对复数的输入既可采用实部虚部分开提示输入,也可直接输入诸如或这种形式,对复数的输出要考虑实部虚部的正负号,经过判断给出的输出结果。开始输出菜单及提示信息输入选择是否做加法 N是否做减法 N Y是否进行测试 N加法子程序Add() Y . . . . . . 减法子程序 Y测试子程序是否退出 N Y结束 2 程序设计思想1)类的封装程序中将复数形式的数据定义成一个复数类CComplex,重载了加法及减法等运算符,使函数的加减等运算像一般数据一样方便.每个运算符重载都用一个函数去实现。参考类的定义如下:class CComplexprivate:double Real,Image;public:CComplex(double real=0,double image=0) /构造函数Real=real;Image=image;friend istream&operator(istream&is,CComplex&com); /重载输入friend ostream&operator(CComplex&com);int operator运算符,其功能是让用户能够直接输入a+bi,a+b*i两种形式的复数,其结构框图如图3所示。 以字符串的形式接受复数对象求字符串长度初试化当前数值n=0,字符变量 sign=1字符串是否存在非法字符 Y输出错误信息,函数返回是否判别完字符串中所有字符 N Y最后一个字符不是i且n!=0当前字符为+、号,同时n!=0 N复数对象只有实部,前面取出的数值赋给实部 N前面取出的数值赋给实部,n=0 N结束当前字符是否是+ NSign=1,k+当前字符是否是 NSign=1,k+当前字符是否是为i i是否是最后一个字符 N YYN输出错误信息,函数返回 当前字符是否是数字字符NN将字符转变为数值NY3 程序界面开始界面运行结果界面4程序源代码及详细注解:# include# include# include# include#define Z 1e-6class CComplexprivate:double Real,Image;public:CComplex(double real=0,double image=0) /构造函数Real=real;Image=image;friend istream&operator(istream&is,CComplex&com); /重载输入friend ostream&operator(ostream&os,CComplex&com); /重载输出CComplex operator+(CComplex&com); CComplex operator-(CComplex&com); /减法重载CComplex operator*(CComplex&com); /乘法重载CComplex operator/(CComplex&com);
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号