做网站中心,做钓鱼网站教程,该模板尚未授权此网站,石家庄房产网上备案查询实验报告题目#xff1a;复数的四则运算班级#xff1a; 13信管 姓名#xff1a;白浩然 学号#xff1a;201340403034 完成日期#xff1a;2014.05.21一、需求分析1#xff0e;本演示程序中复数由两个相互之间存在次序关系的实数构成。2#xff0e;演示程序以用户和计算…实验报告题目复数的四则运算班级 13信管 姓名白浩然 学号201340403034 完成日期2014.05.21一、需求分析1本演示程序中复数由两个相互之间存在次序关系的实数构成。2演示程序以用户和计算机的对话方式执行即在计算机终端上显示“提示信息”之后由用户在键盘上输入演示程序中规定的运算命令相应的输入数据和运算结果显示在其后。3程序执行的命令包括1)由输入的实部和虚部生成一个复数2)两个复数求和3)两个复数求差4)两个复数求积5)从已知复数中分离出实部6)从已知复数中分离出虚部。4.测试数据1)构造复数2) 复数求和3) 复数求差4) 复数求积5) 提取实部6) 提取虚部2、 编码实现#include stdio.h#include stdlib.hstruct complex{float real;//实部float imag;//虚部};//构造复数void InitComplex(complex c,float r1,float r2){c.realr1;//r1为实部c.imagr2;//r2为虚部}//复数求和void AddComplex(complex c,complex c1,complex c2){c.realc1.realc2.real;//实部相加c.imagc1.imagc2.imag;//虚部相加}//复数求差void SubComplex(complex c,complex c1,complex c2){c.realc1.real-c2.real;//实部相减c.imagc1.imag-c2.imag;//虚部相减}//复数求积void MulComplex(complex c,complex c1,complex c2){c.real(c1.real*c2.real)-(c1.imag*c2.imag);c.imag(c1.real*c2.imag)(c2.real*c1.imag);}//分离实部void RealComplex(complex c,float r){rc.real;}//分离虚部void ImagComplex(complex c,float r){rc.imag;}//主程序void main(){complex c,c1,c2;float r,r1,r2,r11,r22,r12,r21;int node;printf(请输入要操作的序号\n);printf(1.构造一个复数 2.两个复数求和 3.两个复数求差\n);printf(4.两个复数求积 5.分离出实部 6.分离出虚部\n);scanf(%d,node);while(node!0){switch(node){case 1:printf(输入复数的实部和虚部\n);scanf(%f %f,r1,r2);InitComplex(c,r1,r2);printf(构造的复数为%f%fi\n,c.real,c.imag);break;case 2:printf(输入c1的实部和虚部\n);scanf(%f %f,r11,r12);InitComplex(c1,r11,r12);printf(输入c2的实部和虚部\n);scanf(%f %f,r21,r22);InitComplex(c2,r21,r22);AddComplex(c,c1,c2);printf(结果为%f%fi\n,c.real,c.imag);break;case 3:printf(输入c1的实部和虚部\n);scanf(%f %f,r11,r12);InitComplex(c1,r11,r12);printf(输入c2的实部和虚部\n);scanf(%f %f,r21,r22);InitComplex(c2,r21,r22);SubComplex(c,c1,c2);printf(结果为%f%fi\n,c.real,c.imag);break;case 4:printf(输入c1的实部和虚部\n);scanf(%f %f,r11,r12);InitComplex(c1,r11,r12);printf(输入c2的实部和虚部\n);scanf(%f %f,r21,r22);InitComplex(c2,r21,r22);MulComplex(c,c1,c2);printf(结果为%f%fi\n,c.real,c.imag);break;case 5:printf(输入复数的实部和虚部\n);scanf(%f %f,r1,r2);InitComplex(c,r1,r2);RealComplex(c,r);printf(实部为%f\n,r);break;case 6:printf(输入复数的实部和虚部\n);scanf(%f %f,r1,r2);InitComplex(c,r1,r2);ImagComplex(c,r);printf(虚部为%f\n,r);break;default:printf(结束);}scanf(%d,node);}}3、 调试分析1. 开始时文件后缀写成了“.c”导致调试多次无法运行后来改为“.cpp”2. 多处“%f”写成了“%d”导致程序不能正常运行3. 定义结构体时最后一个“}”后忘记加“”导致程序出现错误以后应多加注意。展开阅读全文