c语言复数的运算实验报告,C语言复数的运算(实验报告).doc
实验报告
题目:复数的四则运算
班级: 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.h"
struct complex{
float 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+%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. 定义结构体时,最后一个“}”后忘记加“;”,导致程序出现错误,以后应多加注意。
展开阅读全文
c语言复数的运算实验报告,C语言复数的运算(实验报告).doc相关推荐
- c语言复数的运算实验报告,C语言复数的运算实验报告.doc
C语言复数的运算实验报告 实验报告 题目:复数的四则运算 班级: 13信管 姓名:白浩然 学号:201340403034 完成日期:2014.05.21 一.需求分析 1.本演示程序中复数由两个相互之 ...
- c语言综合合计实验报告,C语言设计实验报告(第一次)
C程序设计实验报告 实验项目:PPT实验:1.3.2:1.3.3:1.3.4:2.3.1:2.3.2 姓名: 龚政 实验地点:家 实验时间:2020.02.25 一.实验目的与要求 1.实验目 ...
- c语言des算法实验报告,c语言实现des算法des加密算法实验报告
c语言实现des算法des加密算法实验报告 (23页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 xx 工程大学工程大学实验报告实验报告 ...
- c语言四则运算报告,C语言四则运算实验报告.doc
C语言四则运算实验报告C语言四则运算实验报告 得分教师签名批改日期 深 圳 大 学 实 验 报 告 课程名称: C语言实验 实验名称: 100以内的四则运算游戏 学 院: 信息工程学院 指导教师: 张 ...
- 用C语言学生成绩数据库排序功能设计,[c语言学生成绩管理系统]C语言学生成绩管理系统实验报告...
篇一 : C语言学生成绩管理系统实验报告 实 验 四:结构体(6学时) 实验目的: 1.更加灵活的使用数组作为函数参数: 2.初步掌握开发一个小型实用系统的基本方法: 3.初步掌握书写程序设计开发文档 ...
- 藏头诗c语言实验报告,c语言程序设计期末实验报告
c语言程序设计期末实验报告 (23页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 实验报告实验项目名称:高级语言编程实验 实验学时:3实验 ...
- c语言程序设计实验教程实验报告,C语言程序设计实验报告——实验九.doc
C语言程序设计实验报告--实验九.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. ...
- des实验报告c语言实现,C语言实现DES算法实验报告
<C语言实现DES算法实验报告>由会员分享,可在线阅读,更多相关<C语言实现DES算法实验报告(29页珍藏版)>请在人人文库网上搜索. 1.xx工程大学实验报告(2015-20 ...
- c语言实验七实验报告,C语言实验七 数 实验报告.doc
C语言实验七 数 实验报告 C语言程序设计 实 验 报 告 实验题目 实验七 函数 实验目的 掌握函数定义的方法: 掌握函数实参与形参的对应关系,以及值传递的方式. 掌握函数的嵌套调用和递归调用的方法 ...
最新文章
- 报表模板 — 在项目管理中应用数据报表分析
- win7下python的安装与配置_Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程...
- Java中super函数的用法
- Java04-day04【IDEA(概述、启动配置、项目结构、内容辅助键、快捷键、模块操作)、数组(定义详解、动态初始化、访问)、内存分配、数组内存图】
- [蓝桥杯2018初赛]星期一-日期计算
- mysql初始化很慢_mysql初始化报错
- 计算机电力英语翻译,电力专业英语阅读与翻译..doc
- 铃木uy125最高时速_五菱宏光mini EV月销三万辆,铃木是否后悔退出中国?
- XML 语法速查笔记
- [转]ubuntu server:开机自动登录
- bash 别名_Linux的10个方便的Bash别名
- bom csv java_Java系列化与反系列化
- VC++、MFC Sqlite3数据库的使用
- 在 Go 语言中使用 Log 包--转自GCTT
- Android源码参考
- itil 容量管理流程_ITIL的十个核心管理流程
- python基础教程python详细教程
- C#winform下获取主机ip及hostname
- 4G数传图传一体模块 GSLINK-A2使用手册
- win10提示wlan没有有效的ip配置的解决方法
热门文章
- try.dot.net 的正确使用姿势
- DDD理论学习系列(2)-- 领域
- EventBus In eShop -- 解析微软微服务架构eShopOnContainers(四)
- Apdex(Application Performance Index)量化应用性能
- 2016年10月20日 .NET Core 1.0.2 更新
- linux android sdk gengxinman,Android 实现增量更新
- 开发composer包
- python socket传输图片_python使用socket传输图片视频等文件的实现方式
- [转]Spring SpringMVC SpringBoot SpringCloud概念、关系及区别
- 真正CSDN博客文章一键转载插件(含源码)