您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > C++课程设计……一元多项式简单的计算器
#includeiostream#includecstring#includestrstream#includestdio.husingnamespacestd;classxiang;ostream&operator(ostream&os,xiang&t);xiangoperator+(constxiang&a,constxiang&b);xiangoperator-(constxiang&n,constxiang&m);classxiang{public:floatcoef;//系数intexpn;//指数friendostream&operator(ostream&os,xiang&t);friendxiangoperator+(constxiang&a,constxiang&b);friendxiangoperator-(constxiang&n,constxiang&m);};ostream&operator(ostream&os,xiang&t)////重载输出{if(t.coef0)ost.coefa^t.expn;elseif(t.coef0)ost.coefa^t.expn;elseos'0';returnos;}xiangoperator+(constxiang&a,constxiang&b)//重载加法运算{xiangt;if(a.expn==b.expn){t.coef=a.coef+b.coef;t.expn=a.expn;}returnt;}xiangoperator-(constxiang&n,constxiang&m)//重载减法运算{xiangt;if(n.expn==m.expn){t.coef=n.coef-m.coef;t.expn=n.expn;}returnt;}voidf1(){cout========欢迎进行多项式运算==================endl;cout********************************************endl;cout想进行加法运算,请输入‘1’endl;cout想进行减法运算,请输入‘2’endl;cout想结束运算,请输入‘9’endl;cout如果想以上清除运算,请输入‘0’endl;cout********************************************endl;}voidf3(intn,xiang*A,intm,xiang*B)////////////////减法运算{intk;xiangC[10];for(k=1;k=n;k++){C[k]=A[k];}for(intj=1;j=m;j++){intg=0;for(inti=1;i=n;i++)if(A[i].expn==B[j].expn)C[i]=A[i]-B[j];elseg++;if(g==n){C[k].coef=-B[j].coef;C[k].expn=B[j].expn;k++;}}for(inti=1;ik-1;i++){coutC[i];if(C[i+1].coef0)cout+;}coutC[k-1];coutendl;}voidf2(intn,xiang*A,intm,xiang*B)//////////////加法运算{intk;xiangC[10];for(k=1;k=n;k++)C[k]=A[k];for(intj=1;j=m;j++){intg=0;for(inti=1;i=n;i++){if(A[i].expn==B[j].expn)C[i]=A[i]+B[j];elseg++;if(g==n)C[k++]=B[j];}}for(inti=1;ik-1;i++){coutC[i];if(C[i+1].coef0)cout+;}coutC[k-1];coutendl;}voidmain(){f1();K:intn,i,m,j;cout请写出你想输入的多项式的项数(不要超过十项)n=;cinn;xiangA[10],B[10],C[20];cout请依次输入各项的系数与指数,并回车endl;for(i=1;i=n;i++)///////输入一个多项式{floatc;cinc;intd;cind;C[k].coef=A[i].coef=c;C[k].expn=A[i].expn=d;k++;}cout请输入另一个多项式的项数m=endl;cinm;cout请依次输入各项的系数与指数,并回车endl;for(j=1;j=m;j++)/////输入另一个多项式{floatc;cinc;intd;cind;B[j].coef=c;B[j].expn=d;}intx;for(;;){cout输入你想进行运算的序号:;cinx;switch(x){case1:f2(n,A,m,B);break;/////////加法case2:f3(n,A,m,B);break;//////、减法case0:system(cls);f1();gotoK;break;//清除数据}if(x==9){cout=======================================endl;break;}}}
本文标题:C++课程设计……一元多项式简单的计算器
链接地址:https://www.777doc.com/doc-5424840 .html