gpt4 book ai didi

c++ - 我的 C++ 程序在我不告诉他的地方连接字符串

转载 作者:太空狗 更新时间:2023-10-29 21:00:55 24 4
gpt4 key购买 nike

您好,我正在为我的 C++ 家庭作业编写这个小程序。它是关于多项式的,它要求多项式的次数、指数、系数和与系数相乘的常数。现在我有了这段代码:

#include <iostream>
#include <iomanip>
#include <locale>
#include <sstream>
#include <string>
using namespace std;

int main ()
{
int deg=0, x=0, con, co;
string m, n, poli="";
ostringstream convert, convert1;

cout<<"Hi! this program will show the resulting polynomial of multiplying the \npolynomial times the constant.\n\n";
cout<<" ";
cout<<"\n\nBut first give me the degree of the polynomial (max 9): "; cin>>deg;
cout<<"\n\nNow the Multiplier constant: "; cin>>con;

cout<<"\n\nNow give me the coefficients of the polynomial.\n";

while(deg!=0){

int n1=0, n2=0, n3=0;
string m="", n="";
convert.clear();
convert1.clear();

cout<<"Exponent " << deg <<" coefficient: "; cin >>co; cout<<"\n\n";

if(co!=0){

n2=(co*con);
n3=(deg+0);

convert << n2;
convert1 << n3;
m = convert.str();
n = convert1.str();
poli+=m+"x^"+n+" ";
cout<<poli+"\n\n";
}

deg--;
}

}

但出于某种原因而不是输出让我们说 3x^4 2x^3 2x2



<p>... it out puts</p>

3x^4 32x^43 322x^432

如您所见,它出于某种原因连接在一起,我不知道为什么,你们能帮帮我吗?

最佳答案

你似乎误解了std::basic_ios::clear`是什么功能确实如此。它不会清除流缓冲区。这意味着每次你这样做

convert << n2;
convert1 << n3;

正在追加到流中。

要解决此问题,请将流变量 convertconvert1 设置为循环内的本地变量,就像 mn.

关于c++ - 我的 C++ 程序在我不告诉他的地方连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20346224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com