
#include <iostream>
using namespace std;
#define PI 31415926
class Area
{
public:
virtual double biaoarea()=0;
virtual double volumn()=0;
};
class Ball:public Area
{
private:
double r;
public:
Ball():Area()
{
r=00;
}
virtual double biaoarea()
{
double k;
k=40PIrr;
return k;
}
virtual double volumn()
{
double k=40/30;
k=kPIrrr;
return k;
}
void set(double t)
{
r=t;
}
};
class Cube:public Area
{
private:
double length;
double width;
double high;
public:
Cube():Area()
{
length=00;
width=00;
high=00;
}
virtual double volumn()
{
double k;
k=lengthwidthhigh;
return k;
}
virtual double biaoarea()
{
double k;
k=20(lengthwidth+lengthhigh+widthhigh);
return k;
}
void set(double a,double b,double c)
{
length=a;
width=b;
high=c;
}
};
class Cylinder:public Area
{
private:
double r;
double high;
public:
Cylinder():Area()
{
r=00;
high=00;
}
virtual double biaoarea()
{
double k;
k=PIrr+20PIrhigh;
return k;
}
virtual double volumn()
{
double k;
k=PIrrhigh;
return k;
}
void set(double a,double b)
{
r=a;
high=b;
}
};
class Taper:public Area
{
private:
double r;
double l;
double hight;
public:
Taper():Area()
{
r=00;
l=00;
hight=00;
}
virtual double biaoarea()
{
double k;
k=PIrr+PIrl;
return k;
}
virtual double volumn()
{
double k;
k=(10/30)PIrrhight;
return k;
}
void set(double a,double b,double c)
{
r=a;
l=b;
hight=c;
}
};
int main()
{
double length,width,high,rr;
Ball mm;
Cube nn;
Taper kk;
Cylinder tt;
int chioce;
do
{
cout<<"请输入你需要计算的集合体:(1球 2立方体 3圆锥体 4圆柱体 5退出):"<<endl;
cin>>chioce;
switch(chioce)
{
case 1:
cout<<"请输入需要计算的球的半径r:";
cin>>rr;
mmset(rr);
cout<<"该球的表面积为:"<<mmbiaoarea()<<endl;
cout<<"该球的体积为: "<<mmvolumn()<<endl;
break;
case 2:
cout<<"请输入需要计算的立方体的长、宽、高:";
cin>>length>>width>>high;
nnset(length,width,high);
cout<<"该立方体的表面积为:"<<nnbiaoarea()<<endl;
cout<<"该立方体的体积为: "<<nnvolumn()<<endl;
break;
case 3:
cout<<"请输入需要计算的圆锥体的半径、母线长、高:";
cin>>rr>>length>>high;
kkset(rr,length,high);
cout<<"该圆锥的表面积为:"<<kkbiaoarea()<<endl;
cout<<"该圆锥体的体积为:"<<kkvolumn()<<endl;
break;
case 4:
cout<<"请输入需要计算的圆柱体的半径和高:";
cin>>rr>>high;
ttset(rr,high);
cout<<"该圆柱体的表面积为:"<<ttbiaoarea()<<endl;
cout<<"该圆柱体的体积为: "<<ttvolumn()<<endl;
break;
case 5:
cout<<"退出成功!"<<endl;
break;
default:
cout<<"输入错误,请重新输入!"<<endl;
break;
}
} while (chioce != 5);
return 0;
}
一、动态载荷的添加
通用程序控制中的外载荷为恒定载荷,对于材料在动态载荷作用下的破坏过程,所受的外载荷一般都是随着时间变化的载荷,例如三角波载荷等。通过对通用程序控制进行改进添加冲击三角波载荷,以适应对冲击问题的模拟。三角波载荷的示意图如图13-1所示。
图13-1 三角波载荷示意图
其中:Fmax为动态三角波冲击载荷的峰值;t1和t2分别为动态载荷的峰值时间和截止时间。
二、模型计算流程
岩石是一种典型的d脆性材料,在外力作用下,一般不会发生明显的塑性变形,因此可以不考虑材料的塑性变形。由于岩石的抗压强度远大于其抗拉强度,可以认为岩石在受压时,材料内部不会产生新的损伤,即不考虑体积压缩时的损伤累积。尽管在采用静态d性模型计算时,可以不考虑材料的损伤演化,但是由于在其他时步的计算过程中,产生的损伤是不会恢复的,所以在进行d性计算时,材料的d性模量将不同于最初的d性模量,变为损伤后的d性模量。根据以上的思路,可按照以下的计算流程来进行计算:
1总体计算流程(针对单个块体)
(1)若块体单元损伤变量D为1,则不再对该单元进行计算而直接进入下一个单元的计算,否则进入(2)。
(2)计算体积应变εv,如果εv<0即单元处于体积压缩状态,则进入(3),否则进入(4)。
(3)按照d性损伤模型,由应变计算应力,并且保持D值不变(不考虑体积压缩时的损伤积累),进入(5)。
(4)当岩石处于受拉状态时,材料的应力应变关系并不都是按照应力波衰减模型来计算的,而且还与应变变化率有一定的关系,仅当应变率大于10时,才能按照动态的应力波衰减模型,由应变计算应力值,进入(5);而当应变率小于10时,按照岩石受压状态下的d性损伤模型来计算(高尔新等,1999),然后进入(5)。
(5)如果D>1或D=1,则令D=1,并置当前所计算块体的压力和偏应力为零,进入下一步的计算。
在每一步的计算中需要对所有单元进行一一计算,并保存当前步的应力及应变计算结果以供下一步计算使用。
2具体的计算模型和公式
第一步计算:
(1)由于对D值的计算需要用到D的变化率,因此本步计算中保持D值不变。
(2)应变变化率
岩石断裂与损伤
(3)体积应变
岩石断裂与损伤
(4)动态应力波衰减模型
σij=3K(1-D)εδij+2G(1-D)eij
即
岩石断裂与损伤
(5)d性损伤模型
岩石断裂与损伤
在以上各式中:E、G、K、μ分别为材料的d性模量、剪切模量、体积模量和泊松比。
第二步及其以后的计算:
(1)D值的计算:
岩石断裂与损伤
(2)应变变化率的计算:
岩石断裂与损伤
(3)体积应变的计算:
岩石断裂与损伤
应力波衰减模型与d性损伤模型同第一步相同。
以上的讨论和建立的公式都是针对于平面应力问题而言的,如果要求解的问题属于平面应变问题,需要把以上方程式中的E换为,μ换为。
public class Jctest
{
public static void main(String[] args)
{
int sum = 0;
sum = JcFun(3)+JcFun(5)+JcFun(6);
Systemoutprintln("3! is : "+JcFun(3));
Systemoutprintln("5! is : "+JcFun(5));
Systemoutprintln("6! is : "+JcFun(6));
Systemoutprintln("3!+5!+6! is : "+sum);
}
public static int JcFun(int n)
{
if(n==0||n==1)
return 1;
else
return nJcFun(n-1);
}
}
真想不通,java本身就是纯面象对象的居然还会出现在题目中,以后别再说这样的话了。
以上就是关于C++程序设计表面积和体积的计算程序,简单些,与别人不一样就好全部的内容,包括:C++程序设计表面积和体积的计算程序,简单些,与别人不一样就好、程序计算流程、编写一个应用程序,计算3!、5!、6!,以及3!+5!+6!,用面向对象的编程方法实现。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)