请教,用C#写一个复数类!

问题描述

写一个复数类,实现(1)构造函数重载(三种:缺省,实部+虚部,幅角+模)(2)实现+,-,×,/运算,尤其是注意/运算分母不等于零,包含和整数,和浮点数,和复数相乘的情况。(3)定义>,<,==,!=等(4)实现实数到复数的转换(显式,隐式),实现复数到实数的转换(显式,隐式),如果可以的话,如果不可以请显示错误信息。请各位大侠,帮帮忙!!!

解决方案

解决方案二:
精华区有一个
解决方案三:
谢谢过楼上的了,去看了一下,不过都是用VB编的,我以前没有学过VB,不知道用C#怎么编写?
解决方案四:
publicstructComplex{publicintreal;publicintimaginary;publicComplex(intreal,intimaginary)//constructor{this.real=real;this.imaginary=imaginary;}//Declarewhichoperatortooverload(+),//thetypesthatcanbeadded(twoComplexobjects),//andthereturntype(Complex):publicstaticComplexoperator+(Complexc1,Complexc2){returnnewComplex(c1.real+c2.real,c1.imaginary+c2.imaginary);}//OverridetheToString()methodtodisplayacomplexnumberinthetraditionalformat:publicoverridestringToString(){return(System.String.Format("{0}+{1}i",real,imaginary));}}classTestComplex{staticvoidMain(){Complexnum1=newComplex(2,3);Complexnum2=newComplex(3,4);//AddtwoComplexobjectsthroughtheoverloadedplusoperator:Complexsum=num1+num2;//PrintthenumbersandthesumusingtheoverridenToStringmethod:System.Console.WriteLine("Firstcomplexnumber:{0}",num1);System.Console.WriteLine("Secondcomplexnumber:{0}",num2);System.Console.WriteLine("Thesumofthetwonumbers:{0}",sum);}}//一个简单的复数类。。
解决方案五:
帮顶一下,这个应该不难,不过得花点时间,我现在做项目遇到问题了暂时没空.如果问题解决了帮你写出来
解决方案六:
学习
解决方案七:
(4)实现实数到复数的转换(显式,隐式),实现复数到实数的转换(显式,隐式),如果可以的话,如果不可以请显示错误信息。这一步怎么实现呢?还是不会啊
解决方案八:
好贴支持ing....
解决方案九:
还有大侠在指点一下吗?
解决方案十:
usingSystem;usingSystem.Collections.Generic;usingSystem.Windows.Forms;namespace复数{publicstructComplex{publicdoublereal;publicdoubleimaginary;publicComplex(doublereal,doubleimaginary){this.real=real;this.imaginary=imaginary;}publicstaticComplexoperator+(Complexc1,Complexc2)//重载"+"运算符{returnnewComplex(c1.real+c2.real,c1.imaginary+c2.imaginary);}publicstaticComplexoperator-(Complexc1,Complexc2)//重载"-"运算符{returnnewComplex(c1.real-c2.real,c1.imaginary-c2.imaginary);}publicstaticComplexoperator*(Complexc1,Complexc2)//重载"*"运算符{returnnewComplex((c1.real*c2.real-c1.imaginary*c2.imaginary),(c1.real*c2.imaginary+c2.real*c1.imaginary));}publicstaticComplexoperator/(Complexc1,Complexc2)//重载"/"运算符{returnnewComplex((c1.real*c2.real+c1.imaginary*c2.imaginary)/(c2.real*c2.real+c2.imaginary*c2.imaginary),(c2.real*c1.imaginary-c1.real*c2.imaginary)/(c2.real*c2.real+c2.imaginary*c2.imaginary));}publicstaticbooloperator>(Complexc1,Complexc2)//重载">"运算符{if(c1.real>c2.real)returntrue;elsereturnfalse;}publicstaticbooloperator<(Complexc1,Complexc2){if(c1.real<c2.real)returntrue;elsereturnfalse;}publicstaticbooloperator==(Complexc1,Complexc2)//重载"<"运算符{if((c1.real==c2.real)&&(c1.imaginary==c2.imaginary))returntrue;elsereturnfalse;}publicstaticbooloperator!=(Complexc1,Complexc2){if((c1.real==c2.real)&&(c1.imaginary==c2.imaginary))returnfalse;elsereturntrue;}publicoverridestringToString(){return(String.Format("{0}+{1}I",real,imaginary));}///<summary>///应用程序的主入口点。///</summary>publicstaticvoidMain(){Complexvalue1=newComplex(4,3);Complexvalue2=newComplex(5,4);Complexsum=value1+value2;Console.WriteLine("第一个复数是:{0}",value1);Console.WriteLine("第二个复数是:{0}",value2);Console.WriteLine("两个复数的和是:{0}",sum);}}}这是自己编的,怎么也运行不出来,不知道问题出在哪里??????????
解决方案十一:
publicstructComplex{publicintreal;publicintimaginary;publicComplex(intreal,intimaginary)//constructor{this.real=real;this.imaginary=imaginary;}publicstaticComplexoperator+(Complexc1,Complexc2){returnnewComplex(c1.real+c2.real,c1.imaginary+c2.imaginary);}//OverridetheToString()methodtodisplayacomplexnumberinthetraditionalformat:publicoverridestringToString(){return(System.String.Format("{0}+{1}i",real,imaginary));}}classTestComplex{staticvoidMain(){Complexnum1=newComplex(2,3);Complexnum2=newComplex(3,4);//AddtwoComplexobjectsthroughtheoverloadedplusoperator:Complexsum=num1+num2;//PrintthenumbersandthesumusingtheoverridenToStringmethod:System.Console.WriteLine("Firstcomplexnumber:{0}",num1);System.Console.WriteLine("Secondcomplexnumber:{0}",num2);System.Console.WriteLine("Thesumofthetwonumbers:{0}",sum);}}
解决方案十二:
实现实数到复数的转换(显式,隐式),实现复数到实数的转换(显式,隐式),如果可以的话,如果不可以请显示错误信息。这一步怎么实现呢?

时间: 2024-09-24 14:58:00

请教,用C#写一个复数类!的相关文章

c#-返回值是一个复数类的,有虚部和实部,

问题描述 返回值是一个复数类的,有虚部和实部, 返回值是一个复数类的,有虚部和实部,代码的返回那块应该怎么写呢? 解决方案 public struct Complex { public int real; public int imaginary; // Constructor. public Complex(int real, int imaginary) { this.real = real; this.imaginary = imaginary; } // Specify which op

对象-java自己写一个按钮类问题

问题描述 java自己写一个按钮类问题 在一个java程序中,按钮有设置边框,透明,加图片,设置字体,设置背景颜色等行为,有多个按钮,如何写个按钮方法把这些行为写进去,调用的时候只要创建一个按钮对象就能将这么多行为包含进去 解决方案 直接用Java的awt库函数啊,用不着自己写,只要了解Java的按钮JButton,绑定事件处理函数. 解决方案二: 我觉得界面复制就好 不需要那么麻烦吧 解决方案三: 你可以写一个类继承java自己的JButton按钮,然后你把你想要的效果设为类的属性,你创建一个

初学者写一个数据库类,请大家提提意见

问题描述 usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Data;usingSystem.Data.Sql;usingSystem.Data.SqlClient;namespaceFsVbBoyLinkDataBaseLibrary{publicclassLinkClass:Attribute{privateDataTableNewTable;privateDataSetNewDataSet;pr

class-编写一个使用类模板对数组进行排序、查找和求元素和的程序。

问题描述 编写一个使用类模板对数组进行排序.查找和求元素和的程序. 设计一个类模板templateclass Array,用于对T类型的数组进行排序.查找和求元素和,然后由此产生模板类Array和Array. 解决方案 http://www.warting.com/program/201109/33601.html 第四题 解决方案二: 编写一个使用类模板对数组进行排序,查找和求元素和的程序.

帮忙写一个LessonFlash类,

问题描述 类名称:LessonFlash类存在文件名:LessonFlash.cs类说明:课件中用到的Flash对象的模版,包含了Flash流数据类图:类名:LessonFlash公开成员Byte[]flashData存放Flash的流数据公开方法VoidLoadFromFile(stringfilename)将磁盘上的Flash文件(*.swf)的原始数据加载到flashData成员中,filename为原始flash文件的路径和文件名 解决方案 解决方案二:该回复于2008-05-28 09

c#中一个复数求模程序的异常处理的疑问

问题描述 c#中一个复数求模程序的异常处理的疑问 最近在用c#写一个复数类,其中要用到一个复数求模的运算.在网上找到了一些示例代码,但是不知道为什么要这么写.我自己的代码和示例代码都贴出来: public double Abs2() { double result = Math.Sqrt(this.real * this.real + this.imag * this.imag); return result; } public double Abs() { double x = Math.Ab

也写一个Ajax.Request类附代码_AJAX相关

目的:因为blog程序里的某些模块需要用到ajax,直接使用prototype.js体积比较大(40多k),而且仅仅用到其中的ajax功能,因此为了减轻下载的负担,又不能改动已经在prototype.js框架下写好的代码,只能是按照prototype的风格,自己写一个ajax类,达到零成本移植框架. 新的ajax类如下: var Ajax = {xmlhttp:function(){ try{ return new ActiveXObject('Msxml2.XMLHTTP'); }catch(

用PHP的Socket写的POP3类

[摘 要] 查看 POP3/SMTP 协议的时候想尝试一下自己写一个操作类,核心没啥,就是使用 fsockopen ,然后写入/接收数据,只实现了最核心的部分功能,当作是学习 Socket 操作的练手. 查看 POP3/SMTP 协议的时候想尝试一下自己写一个操作类,核心没啥,就是使用 fsockopen ,然后写入/接收数据,只实现了最核心的部分功能,当作是学习 Socket 操作的练手.其中参考了 RFC 2449和一个国外的简单Web邮件系统 Uebimiau 的部分代码,不过绝对没有抄他

使用PHP的Socket写的POP3类

查看 POP3/SMTP 协议的时候想尝试一下自己写一个操作类,核心没啥,就是使用 fsockopen ,然后写入/接收数据,只实现了最核心的部分功能,当作是学习 Socket 操作的练手.其中参考了 RFC 2449和一个国外的简单Web邮件系统 Uebimiau 的部分代码,不过绝对没有抄他滴,HOHO,绝对原创.如果你喜欢,请收藏,随便修改,嗯,但是记得不要删除偶类里的声名,毕竟偶也是辛辛苦苦写了好几天呐.另外,欢迎自由发挥,改善或者修正这个类,希望能够为你所用.代码没有认真仔细的调试,发