C++系列实验6Word文档格式.docx
- 文档编号:21081990
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:15
- 大小:17.14KB
C++系列实验6Word文档格式.docx
《C++系列实验6Word文档格式.docx》由会员分享,可在线阅读,更多相关《C++系列实验6Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
voidtest_eval(constpolynomial&
voidmain(){
polynomialp[3];
intcurrent_index=0;
charcommand;
do{
print_menu();
command=get_command();
switch(command){
case’s’:
current_index=set_current();
break;
case’l’:
test_assign(p[current_index]);
case’t’:
test_add(p[current_index]);
case’c’:
test_clear(p[current_index]);
case’v’:
cout<
<
char(current_index+’a’)<
"
:
;
view(p[current_index]);
case’a’:
view_all(p);
case’d’:
char(current_index+’a’)
.derivative:
"
view(p[current_index].derivative());
case’e’:
test_eval(p[current_index]);
case’+’:
view(p[0].add(p[1]));
case’-’:
view(p[0].sub(p[1]));
case’*’:
view(p[0].mul(p[1]));
case’q’:
default:
Invalidcommand."
endl;
}
}while(command!
=’q’);
voidprint_menu(){
---------------TheCommands---------------"
s-设置当前多项式"
l-调用assign_coef函数"
t-调用add_to_coef函数"
c-调用clear函数"
v-显示当前多项式"
a-显示所有多项式"
d-对当前多项式求导并显示"
e-计算当前多项式的值"
+-显示A+B的和"
//求p[0]和p[1]的和
--显示A-B的差"
//求p[0]和p[1]的差
*-显示A*B的积"
//求p[0]和p[1]的积
q-quit"
------------------------------------------"
多项式类定义如下:
classpolynomial
{
public:
polynomial();
voidassign_coef(doublecoefficient,unsignedint
exponent);
voidadd_to_coef(doubleamount,unsignedintexponent);
voidclear();
doublecoefficient(unsignedintexponent)const{returncoef
[exponent];
}
unsignedintdegree()const{returncurrent_degree;
polynomialderivative()const;
polynomialadd(constpolynomial&
p)const;
polynomialsub(constpolynomial&
polynomialmul(constpolynomial&
doubleeval(doublex)const;
voidview_coef()const;
private:
doublecoef[30];
unsignedintcurrent_degree;
};
参考程序运行结果:
test.exe
源程序
//头文件
#include<
iostream>
cmath>
usingnamespacestd;
//多项式类定义如下:
voidassign_coef(doublecoefficient,unsignedintexponent);
doublecoefficient(unsignedintexponent)const{returncoef[exponent];
polynomialderivative();
polynomialadd(polynomial&
p);
polynomialsub(polynomial&
polynomialmul(polynomial&
doubleeval(doublex);
//类中成员函数定义如下:
//1.构造函数========================================================================
polynomial:
polynomial()
{
inti;
for(i=0;
i<
30;
i++)
coef[i]=0;
current_degree=0;
//2.系数指数存储====================================================================
voidpolynomial:
assign_coef(doublecoefficient,unsignedintexponent)
coef[exponent]=coefficient;
//3.清空多项式系数=====================================================================
voidpolynomial:
clear()
coef[i]=0;
//4.求导==============================================================================
polynomialpolynomial:
derivative()
inti,j;
polynomialb;
for(i=0,j=1;
29;
i++,j++)
b.coef[i]=coef[j]*(j);
returnb;
//5.求和==============================================================================
add(polynomial&
p)
polynomialtext;
text.coef[i]=coef[i]+p.coef[i];
returntext;
//6.相减==============================================================================
sub(polynomial&
text.coef[i]=coef[i]-p.coef[i];
//7.相乘==============================================================================
mul(polynomial&
for(j=0;
j<
=i;
j++)
{
text.coef[i]=coef[j]*(p.coef[i-j])+text.coef[i];
}
//8.计算多项式的值====================================================================
doublepolynomial:
eval(doublex)
doublea=0;
a=a+coef[i]*pow(x,i);
returna;
//9.显示多项式========================================================================
view_coef()const
inti=0;
while(coef[i]==0&
&
i<
30)
i++;
if(i==30)cout<
elsecout<
coef[i]<
x^"
i;
i++;
for(;
if(coef[i]!
=0)
if(coef[i]<
0)cout<
elsecout<
+"
}
//各自定义函数的声明:
//输出菜单
//选择字符
//得到所选的值
//得到系数和指数并显示多项式
//将两个多项式相加
//清空一个多项式
//输出多项式
//输出多项式组
voidtest_eval(polynomial&
//给x赋值并计算出多项式的结果
//主函数如下:
voidmain()
switch(command)
case'
s'
l'
t'
c'
v'
char(current_index+'
a'
)<
d'
e'
+'
-'
*'
q'
='
);
//各自定义函数定义如下:
//1.函数功能:
输出菜单========================================================
//2.函数功能:
选择字符============================================================
charget_command()
>
cin>
command;
return(command);
//3.函数功能:
得到所选的值==========================================================
intset_current()
Enterthepolynomialyouwanttoworkon:
(a,b,c)"
}while((command<
'
)||(command>
=char('
+3)));
returncommand-'
//4.函数功能:
得到系数和指数并显示多项式=============================================
voidtest_assign(polynomial&
test)
doublecoefficient;
unsignedintexponent;
Enterexponent:
exponent;
Entercoefficient:
coefficient;
test.assign_coef(coefficient,exponent);
设置之后:
test.view_coef();
//5.函数功能:
增加某个项的系数==========================================================
polynomiala;
a.assign_coef(coefficient,exponent);
doubleb[30];
b[i]=test.coefficient(i)+a.coefficient(i);
test.assign_coef(b[i],i);
累加之后:
//6.函数功能:
清空一个多项式=============================================================
test)
test.clear();
清空之后:
//7.函数功能:
输出多项式=================================================================
voidview(constpolynomial&
//8.函数功能:
输出多项式组===============================================================
voidview_all(constpolynomialp[])
charm;
3;
m='
+i;
cout<
式子"
m<
为:
p[i].view_coef();
//9.函数功能:
给x赋值并计算出多项式的结果================================================
doublex;
doublea;
请输入x的值"
x;
a=test.eval(x);
计算出多项式的值为:
a<
注意:
由于exe文件没法上传,所以作者并没有上传这个exe文件。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 系列 实验