c++课程设计实验报告--求解方程

c++课程设计实验报告--求解方程

ID:12472991

大小:123.50 KB

页数:7页

时间:2018-07-17

c++课程设计实验报告--求解方程_第1页
c++课程设计实验报告--求解方程_第2页
c++课程设计实验报告--求解方程_第3页
c++课程设计实验报告--求解方程_第4页
c++课程设计实验报告--求解方程_第5页
资源描述:

《c++课程设计实验报告--求解方程》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、C++课程设计实验报告姓名李然学号0511590128班级05115901任课教师肖亮时间9.24教师指定题3-5求解方程评定难易级别A实验报告成绩.实验内容:1.1程序功能介绍用因式分解的方法求解方程ax^n+bx^(n-1)+……+cx+k的根。方法是根据方程的第一项与最后一项(常数项),求解方程的一个根。具体做法是:a是一个能整除第一项系数的整数,k是一个能整除常数项的数,将所有的(k/a)代入方程,检验是否为方程的根,如果是,则把方程除以(x-k/a)得到新方程,即降阶。对新方程重复以上步骤,直到首项为x^2,再利用二次方程的算法求解出方程的实根或虚根。1.2

2、程序设计要求(1)定义一个方程类,将与方程有关的数据和操作封装到类中,并改写主程序结构,使程序可以反复运行。(2)扩充其功能,使该程序能求解幂n=6或更高次幂,也可求解线性方程。(3)增加功能,使程序既可以从键盘中读入方程,也可以由文件中读入方程。2.源程序结构流程框图与说明(含新增子函数的结构框图)将ch与系统与定义的命令代码相比较退出从文件中读入方程从键盘上读入方程输入命令执行代码ch输入方程输入文件名打开文件是否成功从文件中读取方程系统对读入的方程式警醒处理,求出其所有根,并打印打印输入错误NYch=’3’ch是其他字符ch=’1’ch=’2’打印命令选择菜单开

3、始打印用户友好界面3.基本数据结构classEqu{//方程的类charterms[100][40];//每一项数的指针charequ[5000];//方程intn,numbers;//n为方程的阶数,numbers为方程的项数public:Equ(char*);//构造函数voidInputFromFile();//从文件输入方程voidgetfactorsof(int*factor_list,int&num,intval);//将val项的整数因子放入数组factor_list中voidgetterm(char*src,char*dest,int&loc);//从

4、字符串scr的第loc个字符起复制一个完整的项到字符串voidreduceequbyfactor(char*base,char*newequ,floatfactor);//降阶voidgettermforpower(char*equ,char*dest,intpower);//将阶数为power的项数复制到destintgetcoeff(char*term);//返回一项的系数floatgetcoeff_f(char*term);//取得一项的系数intgetdegreeofterm(char*term);//返回term这项的x的阶数intremaindertheo

5、rem(char*equ,floatroot);//判断root是否为方程的解,不是返回1intexp(int,int);//求解val的e次幂floatexp(floatval,inte);//求解val的e次幂floatforallfactors(int*a,int*k,intn_a,intn_k,char*equ);//验根floatcalcequval(char*,float);//得出val代入x后该项的数值voidqiujie();//主要操作过程voidquadraticequation(inta,intb,intc);//求解一元二次方程voidqiu

6、yicifangcheng(intb,intc);//求解线性方程voidqiulingcifangcheng(char*t)//求解0次方程{if(t[0]=='0'&&t[1]=='')//若方程为0=0,解为全体实数cout<<"全体实数!"<

7、项数的数组terms和方程解的固定数组roots该成动态数组,即根据输入方程项数的最高阶来决定具体的数组维数,需要在输入方程后进行判断。这一部分的代码如下:if(strchr(ex,'x')!=NULL){if(strchr(ex,'^')!=NULL){for(inti=0;ex[i]!='^';i++);//跳过第一项的系数、x和`^`,找到`^`后的字符,即为阶数最高项的阶数i++;n=(int(ex[i]-'0'))//将字符转化为数值,即最高阶项阶数,将值赋给n}elsen=1;//方程里没有字符`^`,方程为一次,即n=1}elsen=0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。