C++解一元二次方程。以字符串ax^2+bx+c=d(d>=0)的形式输入

本文介绍如何使用C++处理以字符串形式输入的一元二次方程,重点在于解析字符串并求解方程。通过识别'+','-','='来分隔字符串,提取每个部分的系数,最终计算解。
摘要由CSDN通过智能技术生成

显然在这个题目中,如何解析输入的字符创是主要问题,我的思路是用'+',‘-’,‘=’分段这个字符串,并将每段的开头用一个vector变量记录下来(第一段开始点为0,要手动加入),如分成ax^2    bx     c    d 这样几段

然后以每段的开始为起点,每段的结束为终点,历遍字符串的特定部分。用变量int fengjie 记录下每段的系数的结尾位置 ,若循环时该字符为数字,则fengjie ++,否则记录数字,并判断数字后的项是二次项还是一次项还是常数。然后将数字输入到对应变量。

运行结果图

第一次发文,代码中的不足之处,请各位牛人们不要吝惜您的板砖,感谢您指出我的不足


下面上代码

//fangcheng.h
#pragma once
#include <string>
class fangcheng
{
public:
	fangcheng(void);
	~fangcheng(void);
	// 执行解方程
	bool jie(void);
	// 打印解的结果
	void print(void);
	void input(void);
	// 解析字符串
	void jiexiStr(std::string);
private:
	double m_vA;// 一元二次方程的a
	double m_vB;// 一元二次方程的b
	double m_vC;// 一元二次方程的c
	double x1;
	double x2;
	bool isOK;
	std::string strFangch
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值