⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 complex.h

📁 用结构体实现复数数据类型定义并实现复数运算
💻 H
字号:
#include "iostream"
using namespace std;

struct complex {
	int real;
	int imag;
};

void input(complex& complex1, complex& complex2) {
	cout << "Please input the 1st complex's real: " << endl;
	cout << "a = ";
	cin >> complex1.real;
	cout << endl <<"1st complex's imag:" << endl;
	cout << "b = ";
	cin >> complex1.imag;
	if (!complex1.real && complex1.imag) {
		cout << endl << "1st complex: u = " << complex1.imag << "i" << endl << endl; 
	}
	else if (complex1.real && !complex1.imag) {
		cout << endl << "1st complex: u = " << complex1.real << endl << endl;	
	}
	else if (!complex1.real && !complex1.imag) {
		cout << endl << "1st complex: u = 0" << endl << endl;
	}
	else if (complex1.real && complex1.imag > 0) {
		if (complex1.imag == 1) {
			cout << endl << "1st complex: u = " << complex1.real << " + i" << endl << endl; 
		}
		else {
			cout << endl << "1st complex: u = " << complex1.real << " + " << complex1.imag << "i" << endl << endl;
		}
	}
	else if (complex1.real && complex1.imag < 0) {
		if (complex1.imag == -1) {
			cout << endl << "1st complex: u = " << complex1.real << " - i" << endl << endl;
		}
		else { 
			cout << endl << "1st complex: u = " << complex1.real << complex1.imag << "i" << endl << endl;
		}
	}

	cout << "Please input the 2nd complex's real: " << endl;
	cout << "c = ";
	cin >> complex2.real;
	cout << endl <<"2nd complex's imag:" << endl;
	cout << "d = ";
	cin >> complex2.imag;
	if (!complex2.real && complex2.imag) {
		cout << endl << "2nd complex: v = " << complex2.imag << "i" << endl << endl; 
	}
	else if (complex2.real && !complex2.imag) {
		cout << endl << "2nd complex: v = " << complex2.real << endl << endl;	
	}
	else if (!complex2.real && !complex2.imag) {
		cout << endl << "2nd complex: v = 0" << endl << endl;
	}
	else if (complex2.real && complex2.imag > 0) {
		if (complex2.imag == 1) {
			cout << endl << "2nd complex: v = " << complex2.real << " + i" << endl << endl; 
		}
		else {
			cout << endl << "2nd complex: v = " << complex2.real << " + " << complex2.imag << "i" << endl << endl;
		}
	}
	else if (complex2.real && complex2.imag < 0) {
		if (complex2.imag == -1) {
			cout << endl << "2nd complex: v = " << complex2.real << " - i" << endl << endl;
		}
		else { 
			cout << endl << "2nd complex: v = " << complex2.real << complex2.imag << "i" << endl << endl;
		}
	}	
}

void output(complex& complex) {
	if (!complex.real && complex.imag) {
		cout << endl << "complex: z = " << complex.imag << "i" << endl << endl; 
	}
	else if (complex.real && !complex.imag) {
		cout << endl << "complex: z = " << complex.real << endl << endl;	
	}
	else if (!complex.real && !complex.imag) {
		cout << endl << "complex: z = 0" << endl << endl;
	}
	else if (complex.real && complex.imag > 0) {
		if (complex.imag == 1) {
			cout << endl << "complex: z = " << complex.real << " + i" << endl << endl; 
		}
		else {
			cout << endl << "complex: z = " << complex.real << " + " << complex.imag << "i" << endl << endl;
		}
	}
	else if (complex.real && complex.imag < 0) {
		if (complex.imag == -1) {
			cout << endl << "complex: z = " << complex.real << " - i" << endl << endl;
		}
		else { 
			cout << endl << "complex: z = " << complex.real << complex.imag << "i" << endl << endl;
		}
	}
}

complex add(complex& complex1, complex& complex2) {
	struct complex complex;
	complex.real = complex1.real + complex2.real;
	complex.imag = complex1.imag + complex2.imag;
	return complex;
}

complex sub(complex& complex1, complex& complex2) {
	struct complex complex;
	complex.real = complex1.real - complex2.real;
	complex.imag = complex1.imag - complex2.imag;
	return complex;
}

complex multiplication(complex& complex1, complex& complex2) {
	struct complex complex;
	complex.real = complex1.real * complex2.real - complex1.imag * complex2.imag;
	complex.imag = complex1.imag * complex2.real + complex1.real * complex2.imag;
	return complex;
}

complex division(complex& complex1, complex& complex2) {
	struct complex complex;
	complex.real = (complex1.real * complex2.real + complex1.imag * complex2.imag) / (complex2.real * complex2.real + complex2.imag * complex2.imag);
	complex.imag = (complex1.imag * complex2.real - complex1.real * complex2.imag) / (complex2.real * complex2.real + complex2.imag * complex2.imag);
	return complex;
}

complex reverse_complex(complex& complex1) {
	struct complex complex;
	complex.real = -complex1.real;
	complex.imag = -complex1.imag;
	return complex;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -