C ++,循环不知何故没有结束

时间:2017-05-08 00:55:54

标签: c++ loops

我正在制作关于多项式的小程序,并且遇到一个问题。当我输入字符串,从中获取系数和深度时,它只处理第一个单项式,然后循环无限处理其余的多项式。

例如我把字符串" 5x ^ 3 + 2x ^ 2 + x + 1" ,它处理5x ^ 3然后不可见地显示2x ^ 2 + x + 1。我知道循环存在一些问题。 我写的代码:

void Wielomian::analiza(Wielomian *w, char * napis) {
do
{
    AnalizaJ(w, napis);
}
while (*napis);
}

void Wielomian::AnalizaJ(Wielomian *w, char * napis) {
int pom1,potega;
    if(*napis=='x')
    {
        pom1=1;
    }
    else
    {
        pom1=strtol(napis,&napis,10);
        napis++;
    }
    if(*napis=='^')
    {
        napis++;
        potega=strtol(napis,&napis,10);
    }
    w->wsp[potega]=pom1;
    napis++;
    printf("%s",napis);
    return;
}

0 个答案:

没有答案