Anda di halaman 1dari 4

using using using using

System; System.Collections.Generic; System.Linq; System.Text;

namespace ConsoleApplication1 { class ComplexNumber { float re, im; public ComplexNumber() { re = im = 0.0f; } public ComplexNumber(float a) { re = im = a; } public ComplexNumber(float x, float y) { re = x; im = y; } public static ComplexNumber operator +(ComplexNumber a, ComplexNumber { ComplexNumber temp; temp = new ComplexNumber(a.re + b.re, a.im + b.im); return temp; } public static ComplexNumber operator -(ComplexNumber a, ComplexNumber { ComplexNumber temp; temp = new ComplexNumber(a.re - b.re, a.im - b.im); return temp; } public static ComplexNumber operator *(ComplexNumber a, ComplexNumber { ComplexNumber temp; temp = new ComplexNumber(a.re * b.re - a.im * b.im, a.im * b.re + im * a.re); return temp; } public static ComplexNumber operator /(ComplexNumber a, ComplexNumber { ComplexNumber temp; if (b.re == 0 && b.im == 0) return null; float deno = b.re * b.re + b.im * b.im; temp = a * new ComplexNumber(b.re, -b.im); temp.re /= deno; temp.im /= deno; return temp; } public static ComplexNumber operator -(ComplexNumber a) { return new ComplexNumber(-a.re, -a.im); } public static ComplexNumber operator ++(ComplexNumber a) { a.re++; a.im++; return a;

b)

b)

b) b.

b)

} public static ComplexNumber operator --(ComplexNumber a) { a.re--; a.im--; return a; } public static bool operator <=(ComplexNumber a, ComplexNumber b) { return (a.re <= b.re && a.im <= b.im); } public static bool operator >=(ComplexNumber a, ComplexNumber b) { return (a.re >= b.re && a.im >= b.im); } public static bool operator <(ComplexNumber a, ComplexNumber b) { return (a.re < b.re && a.im < b.im); } public static bool operator >(ComplexNumber a, ComplexNumber b) { return (a.re > b.re && a.im > b.im); } public static bool operator ==(ComplexNumber a, ComplexNumber b) { return (a.re == b.re && a.im == b.im); } public static bool operator !=(ComplexNumber a, ComplexNumber b) { return (a.re != b.re || a.im != b.im); } public static implicit operator String(ComplexNumber a) { String res=" "+a.re; if(a.im >= 0 ) res = res + " +"+a.im+"i "; else res = res +" "+ a.im+"i "; return res; } } class Program { static void Main(string[] args) { int ch=2; float re,im; ComplexNumber a,b,result; Console.Write("Enter the real and imaginary parts of I complex numbe r:"); re=float.Parse(Console.ReadLine()); im=float.Parse(Console.ReadLine()); a=new ComplexNumber(re,im); Console.Write("Enter the real and imaginary parts of II complex numb er:"); re=float.Parse(Console.ReadLine()); im=float.Parse(Console.ReadLine()); b=new ComplexNumber(re,im); do { Console.Write("\nMenu\n1.Add\t\t2.Subtract\t\t3.Multiply\t4.Divi de\n5.Increment\t6.Decrement\t\t7.Negate\t8.Display"+ "\n9.>= comparison\t10.<= comparison\t11.< comparison\t12.>

comparison\n13.Equals\t14.Not equals\t\t15.Change input"+ "\t16.Exit\nEnter your choice:" ); ch = int.Parse(Console.ReadLine()); switch (ch) { case 1: result = a + b; Console.WriteLine("Result of " + a + " + " + b + " = " + res ult); break; case 2: result = a - b; Console.WriteLine("Result of " + a + " - " + b + " = " + res ult); break; case 3: result = a * b; Console.WriteLine("Result of " + a + " * " + b + " = " + res ult); break; case 4: result = a / b; Console.WriteLine("Result of " + a + " / " + b + " = " + res ult); break; case 5:Console.Write("Result of " + a + " ++ = "); Console.WriteLine(a++); Console.Write("Result of " + b + " ++ = " ); Console.WriteLine(b++); break; case 6:Console.Write("Result of " + a + " -- = "); Console.WriteLine(a--); Console.Write("Result of " + b + " -- = "); Console.WriteLine(b--); break; case 7: result = -a; Console.WriteLine("Result of - " + a + " = " + result); result = -b; Console.WriteLine("Result of - " + b + " = " + result); break; case 8: Console.WriteLine("I complex number is :" + a); Console.WriteLine("II complex number is :" + b); break; case 9: Console.WriteLine(a + " >= " + b + " is " + (a >= b)); break; case 10: Console.WriteLine(a + " <= " + b + " is " + (a <= b)); break; case 11: Console.WriteLine(a + " < " + b + " is " + (a < b)); break; case 12: Console.WriteLine(a + " > " + b + " is " + (a > b)); break; case 13: Console.WriteLine(a + " == " + b + " is " + (a == b)); break; case 14: Console.WriteLine(a + " != " + b + " is " + (a != b)); break; case 15: Console.Write("Enter the real and imaginary parts of I complex number:"); re = float.Parse(Console.ReadLine()); im = float.Parse(Console.ReadLine()); a = new ComplexNumber(re, im); Console.Write("Enter the real and imaginary parts of II comp lex number:"); re = float.Parse(Console.ReadLine());

im = float.Parse(Console.ReadLine()); b = new ComplexNumber(re, im); break; case 16: Console.WriteLine("Exiting..."); break; default: Console.WriteLine("Invalid choice!"); break; } }while(ch!=16); } } }

Anda mungkin juga menyukai