C语言复数的运算(实验报告).doc

上传人:jian****018 文档编号:9607507 上传时间:2020-04-06 格式:DOC 页数:7 大小:238.50KB
返回 下载 相关 举报
C语言复数的运算(实验报告).doc_第1页
第1页 / 共7页
C语言复数的运算(实验报告).doc_第2页
第2页 / 共7页
C语言复数的运算(实验报告).doc_第3页
第3页 / 共7页
点击查看更多>>
资源描述
实验报告题目:复数的四则运算班级: 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 complexfloat real;/实部float imag;/虚部;/构造复数void InitComplex(complex &c,float r1,float r2)c.real=r1;/r1为实部c.imag=r2;/r2为虚部/复数求和void AddComplex(complex &c,complex c1,complex c2)c.real=c1.real+c2.real;/实部相加c.imag=c1.imag+c2.imag;/虚部相加/复数求差void SubComplex(complex &c,complex c1,complex c2)c.real=c1.real-c2.real;/实部相减c.imag=c1.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)r=c.real;/分离虚部void ImagComplex(complex c,float &r)r=c.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+%fin,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+%fin,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+%fin,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+%fin,c.real,c.imag);break;case 5:printf(输入复数的实部和虚部:n);scanf(%f %f,&r1,&r2);InitComplex(c,r1,r2);RealComplex(c,r);printf(实部为:%fn,r);break;case 6:printf(输入复数的实部和虚部:n);scanf(%f %f,&r1,&r2);InitComplex(c,r1,r2);ImagComplex(c,r);printf(虚部为:%fn,r);break;default:printf(结束);scanf(%d,node);3、 调试分析1. 开始时文件后缀写成了“.c”,导致调试多次无法运行,后来改为“.cpp”;2. 多处“%f”写成了“%d”,导致程序不能正常运行;3. 定义结构体时,最后一个“”后忘记加“;”,导致程序出现错误,以后应多加注意。
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!