实验报告

题目:复数的四则运算

班级: 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相关推荐

  1. c语言复数的运算实验报告,C语言复数的运算实验报告.doc

    C语言复数的运算实验报告 实验报告 题目:复数的四则运算 班级: 13信管 姓名:白浩然 学号:201340403034 完成日期:2014.05.21 一.需求分析 1.本演示程序中复数由两个相互之 ...

  2. c语言综合合计实验报告,C语言设计实验报告(第一次)

    C程序设计实验报告 实验项目:PPT实验:1.3.2:1.3.3:1.3.4:2.3.1:2.3.2 姓名:  龚政  实验地点:家   实验时间:2020.02.25 一.实验目的与要求 1.实验目 ...

  3. c语言des算法实验报告,c语言实现des算法des加密算法实验报告

    c语言实现des算法des加密算法实验报告 (23页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 xx 工程大学工程大学实验报告实验报告 ...

  4. c语言四则运算报告,C语言四则运算实验报告.doc

    C语言四则运算实验报告C语言四则运算实验报告 得分教师签名批改日期 深 圳 大 学 实 验 报 告 课程名称: C语言实验 实验名称: 100以内的四则运算游戏 学 院: 信息工程学院 指导教师: 张 ...

  5. 用C语言学生成绩数据库排序功能设计,[c语言学生成绩管理系统]C语言学生成绩管理系统实验报告...

    篇一 : C语言学生成绩管理系统实验报告 实 验 四:结构体(6学时) 实验目的: 1.更加灵活的使用数组作为函数参数: 2.初步掌握开发一个小型实用系统的基本方法: 3.初步掌握书写程序设计开发文档 ...

  6. 藏头诗c语言实验报告,c语言程序设计期末实验报告

    c语言程序设计期末实验报告 (23页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.9 积分 实验报告实验项目名称:高级语言编程实验 实验学时:3实验 ...

  7. c语言程序设计实验教程实验报告,C语言程序设计实验报告——实验九.doc

    C语言程序设计实验报告--实验九.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. ...

  8. des实验报告c语言实现,C语言实现DES算法实验报告

    <C语言实现DES算法实验报告>由会员分享,可在线阅读,更多相关<C语言实现DES算法实验报告(29页珍藏版)>请在人人文库网上搜索. 1.xx工程大学实验报告(2015-20 ...

  9. c语言实验七实验报告,C语言实验七 数 实验报告.doc

    C语言实验七 数 实验报告 C语言程序设计 实 验 报 告 实验题目 实验七 函数 实验目的 掌握函数定义的方法: 掌握函数实参与形参的对应关系,以及值传递的方式. 掌握函数的嵌套调用和递归调用的方法 ...

最新文章

  1. 报表模板 — 在项目管理中应用数据报表分析
  2. win7下python的安装与配置_Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程...
  3. Java中super函数的用法
  4. Java04-day04【IDEA(概述、启动配置、项目结构、内容辅助键、快捷键、模块操作)、数组(定义详解、动态初始化、访问)、内存分配、数组内存图】
  5. [蓝桥杯2018初赛]星期一-日期计算
  6. mysql初始化很慢_mysql初始化报错
  7. 计算机电力英语翻译,电力专业英语阅读与翻译..doc
  8. 铃木uy125最高时速_五菱宏光mini EV月销三万辆,铃木是否后悔退出中国?
  9. XML 语法速查笔记
  10. [转]ubuntu server:开机自动登录
  11. bash 别名_Linux的10个方便的Bash别名
  12. bom csv java_Java系列化与反系列化
  13. VC++、MFC Sqlite3数据库的使用
  14. 在 Go 语言中使用 Log 包--转自GCTT
  15. Android源码参考
  16. itil 容量管理流程_ITIL的十个核心管理流程
  17. python基础教程python详细教程
  18. C#winform下获取主机ip及hostname
  19. 4G数传图传一体模块 GSLINK-A2使用手册
  20. win10提示wlan没有有效的ip配置的解决方法

热门文章

  1. try.dot.net 的正确使用姿势
  2. DDD理论学习系列(2)-- 领域
  3. EventBus In eShop -- 解析微软微服务架构eShopOnContainers(四)
  4. Apdex(Application Performance Index)量化应用性能
  5. 2016年10月20日 .NET Core 1.0.2 更新
  6. linux android sdk gengxinman,Android 实现增量更新
  7. 开发composer包
  8. python socket传输图片_python使用socket传输图片视频等文件的实现方式
  9. [转]Spring SpringMVC SpringBoot SpringCloud概念、关系及区别
  10. 真正CSDN博客文章一键转载插件(含源码)