预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共27页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

沈阳理工大学课程设计专用纸No 沈阳理工大学 目录 TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc294607950"1题目内容及设计要求 PAGEREF_Toc294607950\h1 HYPERLINK\l"_Toc294607951"2总体设计 PAGEREF_Toc294607951\h1 HYPERLINK\l"_Toc294607952"2.1总体功能框图 PAGEREF_Toc294607952\h1 HYPERLINK\l"_Toc294607953"2.2类的设计说明 PAGEREF_Toc294607953\h1 HYPERLINK\l"_Toc294607954"2.3主要算法流程图 PAGEREF_Toc294607954\h1 HYPERLINK\l"_Toc294607955"3 程序清单及注释 PAGEREF_Toc294607955\h1 HYPERLINK\l"_Toc294607956"4 运行结果与分析 PAGEREF_Toc294607956\h1 HYPERLINK\l"_Toc294607957"5 总结 PAGEREF_Toc294607957\h2 HYPERLINK\l"_Toc294607958"6 参考文献 PAGEREF_Toc294607958\h2 1题目内容及设计要求 题目17复数计算器 内容及要求: (1)所设计的复数计算器可以进行+-*+=-=*=++-->=<===!=运算符,其中 >=<=是针对复数的模进行运算。 (2)设计输入重载函数,要求能接收从键盘输入a+bi形式的复数,在程序中可以识别 出实部虚部并正确赋值。 (3)设计计算器测试程序,对加减法进行测试,要求在两位数以内进行,对乘法进行测 试,乘法要求为一位数的运算。 (4)设计记录功能,可以记录下不同用户使用计算器的情况,记录以文件的形式保存在 计算机内,开机时要求用户输入用户名,显示该名户以前的记录。用户记录用包括:做了多 少次加减法、乘法、进行测试的次数,后3次的测试平均分等,在退出计算器程序时用心的 用户记录代替原有的记录。 总体设计 2.1总体功能框图 根据题中任务的功能,首先要搞清复数的运算法则, 并使用c++语言表达。复数包含实部与虚部,如何将这两部分表达出来也使关键 定义一个复数类complex。 声明所需成员函数和友元函数对各运算符进行重载。 定义各成员函数。 定义主函数,实现对整个程序的控制。 编译、运行并调试 类的设计说明 classCComplex//定义命名空间NameCComplex { private: doubleReal,Image; public: CComplex(doublereal=0,doubleimage=0)//构造函数 { Real=real;Image=image; } friendistream&operator>>(istream&is,CComplex&com);//重载输入 friendostream&operator<<(ostream&os,CComplex&com);//重载输出 CComplexoperator+(CComplex&com);//加法重载 CComplexoperator-(CComplex&com);//减法重载 CComplexoperator*(CComplex&com);//乘法重载 CComplexoperator+=(CComplex&com);//加法赋值重载 CComplexoperator-=(CComplex&com);//减法赋值重载 CComplexoperator*=(CComplex&com);//乘法赋值重载 CComplexoperator++();//自加 CComplexoperator--();//自减 doublemod(void);//求复数的模 intoperator>(CComplex&com); intoperator<(CComplex&com); intoperator!=(CComplex&com); intoperator==(CComplex&com); }; 主要算法流程图 开始 声明一个complex类,并定义double,real,image; 声明类的函数,构造函数,加减乘除和取模运算 c.real=real+c2.real;c.imag=imag+c2.imag; c.real=real-c2.real;c.imag=imag-c2.imag; c.real=(real*c2.real+