《计算机C++课程设计复数计算器》由会员分享,可在线阅读,更多相关《计算机C++课程设计复数计算器(20页珍藏版)》请在金锄头文库上搜索。
1、C+课程设计实验报告姓名 学号 班级 合作者 学号 班级 任课教师 时间 教师指定题目 复数计算器 评定难易级别 A级 实验报告成绩 复数计算器程序功能设计1 程序功能的总体结构复数计算器的程序总体功能可设计成如图所示,可以看出,复数计算器的各种功能都用菜单选项列出,用户可以根据需要选择相应的菜单项,从而执行不同的子程序以完成相应的功能。2课程设计要求(1) 一开始运行程序,要有详细的菜单选项界面,用户不选择退出就可以反复运算。(2) 可以进行多个操作数的复数运算,输入00i时为止。(3) 编写可以对输入的复数求模的成员函数。(4) 编写具有测试功能的函数,即计算机能够自动出题,并要求用户计算
2、,同时计算机判断用户计算的对错并打分,要求十题为一个单元,每题一个运算符,运算符包括,三种,参与加减运算实部虚部为一位数。(5) 重载输入输出运算符,对复数的输入既可采用实部虚部分开提示输入,也可直接输入诸如或这种形式,对复数的输出要考虑实部虚部的正负号,通过判断给出的输出结果。开始输出菜单及提示信息输入选择是否做加法 N是否做减法 N Y是否进行测试 N加法子程序Add() Y . . . . . . 减法子程序 Y测试子程序是否退出 N Y结束 2 程序设计思想1)类的封装程序中将复数形式的数据定义成一个复数类CComplex,重载了加法及减法等运算符,使函数的加减等运算像一般数据一样方便
3、.每个运算符重载都用一个函数去实现。参考类的定义如下: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所示。 以字符串的形式接
4、受复数对象求字符串长度初试化当前数值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#
5、 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); /除法重载 int operator=(CComplex&com); in