main.cpp

来自「一个我的数据结构解题集合」· C++ 代码 · 共 76 行

CPP
76
字号
#include <iostream>
#include "Polynomial.h"
#include "IoUtils.h"

using namespace std;


/* 让用户输入一个一元多项式
 */
void inputPolynomial(Polynomial& poly) {
	while (true) {
		Term term;

		cout << "输入系数 (0: 多项式输入完毕): " << flush;
		term.coef = getDouble();
		if (term.coef == 0.0)
			break;

		cout << "输入指数: " << flush;
		term.expn = getInteger();
		cout << endl;
			
		poly.add(term);
	}
} // inputPolynomial(Polynomial&)


int main() {
	int noErrors = 0;

	cout << "输入多项式并求积:\n"
		 << "\t一次输入两个多项式, 程序算出它们的积并输出\n"
		 << "\t多项式输入时每次输入一个项, 顺序任意\n"
		 << "\t输出格式: 每个项按照 c * x^(e) 输出, 其中c是系数的绝对值, e是指数\n"
		 << "\t          如果指数e == 0, 只输出c; \n"
		 << "\t          多项式按照项降序输出, 中间以根据系数的符号以 + 或 - 连接\n"
		 << endl;

	try {

		Polynomial poly1, poly2;

		cout << "输入第一个多项式: " << endl;
		inputPolynomial(poly1);
		cout << endl;

		cout << "第一个多项式为: " << endl;
		poly1.print();
		cout << endl;

		cout << "输入第二个多项式: " << endl;
		inputPolynomial(poly2);
		cout << endl;

		cout << "第二个多项式为: " << endl;
		poly2.print();
		cout << endl;

		poly1.mul(poly2);

		cout << "两个多项式的积为: " << endl;
		poly1.print();
		cout << endl;

		pause();

	} catch (const std::exception& e) {
		cerr << "捕捉到异常!" << endl;
		cerr << e.what() << endl;
		++noErrors;
	}

	return noErrors;

} // main()

⌨️ 快捷键说明

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