UML实验七.docx

上传人:b****8 文档编号:10446748 上传时间:2023-02-11 格式:DOCX 页数:11 大小:269.85KB
下载 相关 举报
UML实验七.docx_第1页
第1页 / 共11页
UML实验七.docx_第2页
第2页 / 共11页
UML实验七.docx_第3页
第3页 / 共11页
UML实验七.docx_第4页
第4页 / 共11页
UML实验七.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

UML实验七.docx

《UML实验七.docx》由会员分享,可在线阅读,更多相关《UML实验七.docx(11页珍藏版)》请在冰豆网上搜索。

UML实验七.docx

UML实验七

 

UML实验报告

(一元二次方程的动态演示软件开发)

 

1需求分析2

1.1实验设计性质和目的2

1.2设计背景2

1.3、程序的实现功能2

2概要设计2

2.1本系统使用到的库函数有:

2

2.2系统定义的函数有:

3

2.3流程图3

3.模型图4

3.1系统用例图4

3.2类图4

3.3时序图5

3.4状态图5

4程序运行结果6

5程序代码7

 

1需求分析

1.1实验设计性质和目的

学会用类的方法解决实际问题。

掌握一般类的定义、测试、封装、数据隐藏、继承及多态等概念,掌握面向对象程序设计的基本概念和基本方法,掌握C++语言的基本语法和基本内容,并能运用C++语言进行基本的面向对象程序设计,并且通过综合课程设计,提高学生的实践动手技能,培养学生独立分析分析问题和解决问题的能力。

1.2设计背景

现实学习生活中,常会遇到一些自变量较大数据繁杂的方程运算,徒手运算起来很困难,这时候我们就必须用到计算机,所以便着手开发了这个解一元二次方程程序,以便用于自己的学习工作。

现在已经有一些功能较为强大、涵盖面较广的计算软件,而且各种平台的小工具仍不断出现。

这些大大方便了我们的生活给我们更多的选择和实现方式。

这个程序可以直接输入一元二次方程自变量的系数,不需要任何转换,就可以直接输出方程的解并且操作简单、界面清晰、灵活、实用、方便,一元二次方程的设计使我们所学到的c++知识在现实中得到检验。

1.3、程序的实现功能

用户运行程序后进入系统界面,在主界面用户可以输入一元二次方程自变量的系数,直接输出方程的解。

本系统同时只能对一个方程进行求解操作,不能同时求解多个方程。

2概要设计

2.1本系统使用到的库函数有:

#include

#include

#include

2.2系统定义的函数有:

voidInput();

voidDisplay();

voidFind();

系统定义了类classFindRoot;

2.3流程图

系统设计流程图

3.模型图

3.1系统用例图

3.2类图

3.3时序图

3.4状态图

4程序运行结果

开始界面

系数的输入和根的求值

各种情况的根的求值

程序退出

5程序代码

#include//包含iostream的头文件

#include

#include//字符串处理函数

usingnamespacestd;

classFindRoot//定义类FindRoot

{

private:

floata,b,c;

doubler,q,x1,x2;//定义数据成员类型

intjud;

public:

voidInput();//输入函数

voidDisplay();//显示函数

voidFind();//求根函数

};

//以上是类的声明部分,以下是类的实现部分

voidFindRoot:

:

Input()

{

cout<<"这是一个求解ax2+bx+c=0的根的程序:

"<

for(;;)

{

cout<<"输入方程系数a:

";

cin>>a;

if(a==0)

cout<<"错误:

a不能为0!

!

!

:

"<

elsebreak;

}//输入a,并对a的可能情况进行判断

cout<<"输入方程系数b:

";

cin>>b;//输入b

cout<<"输入方程系数c:

";

cin>>c;//输入c

}

voidFindRoot:

:

Find()//定义求根的函数

{

floatdelta=b*b-4*a*c;//定义求根公式的数据类型

if(delta<0)

{jud=0;

r=-b/(2*a);

q=sqrt(-delta)/(2*a);//有两个共轭复数根的情况

}

elseif(delta==0)

{

x1=-b/(2*a);

jud=1;//有两个相同的根的情况

}

else

{

x1=(-b+sqrt

(delta))/(2*a);

x2=(-b-sqrt

(delta))/(2*a);

jud=2;//有两个不同的根的情况

}

}

voidFindRoot:

:

Display()//定义显示函数

{

switch(jud)

{

case0:

{cout<<"x1="<

cout<<"x2="<

case1:

cout<<"x1=x2="<

case2:

cout<<"x1="<

}

}

voidmain()//主函数

{

while

(1)

{

FindRootf;//定义类型

f.Input();

f.Find();

f.Display();//以上各函数按顺序执行

cout<<"是否退出?

(Y退出,其它任意键继续)"<

charm[2];charY[]="Y";chary[]="y";//定义字符串

cin>>m;

if(strcmp(m,Y)==0||strcmp(m,y)==0)

break;//如果退出则终止运行

else

cout<<"请继续……"<

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 管理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1