cpp复数计算程序

该程序用cpp实现了一种简单的复数计算,能进行加减乘除,没有保存功能
说是cpp,实则没有类和类方法,哈哈

//函数部分
void assign(complex* c, double r, double i)//创建复数
{
	c->real = r;
	c->imag = i;
}

void display(const complex* c)//显示复数
{
	cout << c->real << "+" << c->imag << "i" << endl;
}

void add(const complex* c1, const complex* c2, complex* result)//复数相加
{
	result->real = c1->real + c2->real;
	result->imag = c1->imag + c2->imag;
}

void subtract(const complex* c1, const complex* c2, complex* result)//复数相减
{
	result->real = c1->real - c2->real;
	result->imag = c1->imag - c2->imag;
}

void multiply(const complex* c1, const complex* c2, complex* result)//复数相乘
{
	result->real = c1->real * c2->real - c1->imag * c2->imag;
	result->imag = c1->real * c2->imag + c1->imag * c2->real;
}

void divide(const complex* c1, const complex* c2, complex* result)//复数相除
{
	double denominator = c2->real * c2->real + c2->imag * c2->imag;
	result->real = (c1->real * c2->real + c1->imag * c2->imag) / denominator;
	result->imag = (c1->imag * c2->real - c1->real * c2->imag) / denominator;
}

void enterComplex(complex* c)//用户输入复数,一次性输入两个,实部虚部分开输入
{
	double r = 0, i = 0;
	cout << "Enter the real part: ";
	cin >> r;
	cout << "Enter the imaginary part: ";
	cin >> i;
	assign(c, r, i);
}

void menu()//功能菜单
{
	cout << "1. Add" << endl;
	cout << "2. Subtract" << endl;
	cout << "3. Multiply" << endl;
	cout << "4. Divide" << endl;
	cout << "0. Exit" << endl;
}

//结构体的创建和主程序
struct complex//结构体,用来表示复数
{
	double real;
	double imag;
};

//主程序
#include<iostream>
using namespace std;
int main()
{
	complex c1{}, c2{}, result{};//用于存放复数
	cout << "This program performs operations on complex numbers." << endl;
	cout << "Enter the first complex number:" << endl;

	enterComplex(&c1);//用户输入第一个复数

	cout << "Enter the second complex number:" << endl;
	enterComplex(&c2);//用户输入第二个
	
	while (1)//不退出程序就一直进行
	{
		cout << "\nChoose the operation to perform:" << endl;
		menu();//显示菜单
		int choice = 0;//选择变量存放
		cin >> choice;
		switch (choice)//选择
		{
		case 1://加法
			add(&c1, &c2, &result);
			cout << "Result of addition: ";
			display(&result);
			break;
		case 2://相减
			subtract(&c1, &c2, &result);
			cout << "Result of subtraction: ";
			display(&result);
			break;
		case 3://相乘
			multiply(&c1, &c2, &result);
			cout << "Result of multiplication: ";
			display(&result);
			break;
		case 4://相除
			divide(&c1, &c2, &result);
			cout << "Result of multiplication: ";
			display(&result);
			break;
		case 0://退出程序
			cout << "Exiting the program." << endl;
			return 0;
		default:
			cout << "Enter a valid choice." << endl;//简单的输入判断
		}
	}
}

程序非常简单,大佬勿喷
旨在提供思路

posted @ 2026-05-31 11:21  好想成为人类啊  阅读(12)  评论(0)    收藏  举报