| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 419 人关注过本帖
标题:不想功亏一篑啊,但目前想不出好的解决方法,望提点~~~
只看楼主 加入收藏
lianjiecuowu
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:152
专家分:107
注 册:2011-5-20
结帖率:85.71%
收藏
已结贴  问题点数:10 回复次数:3 
不想功亏一篑啊,但目前想不出好的解决方法,望提点~~~
#include<iostream>
#include<cstdlib>
#include<cmath>

using namespace std;

const int data=5;
class linklist;
class snode
{
public:
    friend class linklist;
private:
    int coef;
    int expn;
    int data;
    snode *next;
};
class linklist
{
private:
    snode *head;
public:
    linklist();
    ~linklist();
    bool isempty();
    void insertlist();
    void treavlist1();
    //void answer();
};
linklist::linklist()
{
    head=new snode;
    if(head->next==NULL)
    {
        cerr<<"memory allocation failare!"<<endl;
        return ;
    }
    head->next=NULL;
}

linklist::~linklist()
{delete head;}
bool linklist::isempty()
{
    return head->next==NULL;
}
void linklist::insertlist()
{

    int expn=0,m,n;
    int coef;
    snode *p=head;
    snode *q=NULL;
    snode *newp;
    cout<<"请输入计算的项数:     ";
    cin>>n;
    cout<<"请分别输入项的未知量x的系数:    ";
    for(m=0;m!=n;m++)
    {
        newp=new snode;
        if(newp==NULL)
        {
            cerr<<"memory allocation failare!"<<endl;
            exit(1);
        }
        cin>>coef;
        newp->data=data;
        newp->coef=coef;
        newp->expn=expn++;
        if(!p)
            p->next=newp;
        else
        {
            p->next=newp;
            p=newp;
        }
        
    }
    newp->next=NULL;
   
}
void linklist::treavlist1()
{
    snode *p=head->next;
    if(!p)
    {
        cout<<"多项式为空!"<<endl;
        return ;
    }
    while(p)
    {
        if(p!=head->next&&p->coef>0)
            cout<<"+";
        if(p->expn!=0)
        cout<<p->coef<<"x"<<p->expn;
        else
            cout<<p->coef;
        p=p->next;
    }
}
/*void linklist::answer()
{
    snode *p=head->next;
    if(!p)
    {
        cout<<"无法计算多项式的值!"<<endl;
        return ;
    }
    int s=0;
    while(p)
    {
        s+=(p->coef)*pow(p->data,p->expn);     //“pow”重载函数的调用不明确,该如何解决啊
        p=p->next;

    }

}*/
int main()
{
    linklist L;
    if(L.isempty())
        L.insertlist();
    cout<<"输入的多项式为:     ";
        L.treavlist1();
        cout<<endl;
        cout<<"代入未知数变量x的值后,多项式的值为:    ";
        //L.answer();
        system("pause");
        return 0;
        
}
搜索更多相关主题的帖子: 解决方法 
2011-09-08 23:27
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:5 
对于代码 pow(int,int),编译器不知道你想调用的是 pow(float,float) 还是 pow(double,double)
2011-09-09 08:01
烟雾中的迷茫
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:621
专家分:1069
注 册:2011-2-9
收藏
得分:5 
哪有问题?
2011-09-09 14:26
lianjiecuowu
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:152
专家分:107
注 册:2011-5-20
收藏
得分:0 
已经解决了我,谢谢啊

Sharp your mind!
2011-09-09 16:49
快速回复:不想功亏一篑啊,但目前想不出好的解决方法,望提点~~~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015613 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved