C++几何图形面积周长计算

C++几何图形面积周长计算
C++几何图形面积周长计算

福建工程学院计算机与信息科学系实验报告

H,L H,L H,L H,L H,L

PRINTTOFILE LOAD

SORT

OUTPUT

记录每次实验结果以及分析情况

开始界面:

矩形:

三角形:

圆:

扇形:

梯形:

文件输出:

总结以及心得体会

填写内容时,可把表格扩大。实验的源程序代码(要有注释)附在表后。eo");

float a,l;

(reinterpret_cast(&a),sizeof(a));

(reinterpret_cast(&l),sizeof(l));

();

cout<

}

void Rec::printtofile()

{

char s[20];

cout<

cin>>s;

ofstream file(s,ios_base::app|ios_base::binary);strcat(s,".geo");

float a,l;

a=Area();

l=Girth();

(reinterpret_cast(&a),sizeof(a));

(reinterpret_cast(&l),sizeof(l));

();

}

class Tri:public Base eo");

float a,l;

(reinterpret_cast(&a),sizeof(a));

(reinterpret_cast(&l),sizeof(l));

();

cout<

}

void Tri::printtofile()

{

char s[20];

cout<

cin>>s;

ofstream file(s,ios_base::app|ios_base::binary);strcat(s,".geo");

float a,l;

a=Area();

l=Girth();

(reinterpret_cast(&a),sizeof(a));

(reinterpret_cast(&l),sizeof(l));

();

}

class Cir:Base eo");

float a,l;

(reinterpret_cast(&a),sizeof(a));

(reinterpret_cast(&l),sizeof(l));

();

cout<

}

void Cir::printtofile()

{

char s[20];

cout<

cin>>s;

ofstream file(s,ios_base::app|ios_base::binary);strcat(s,".geo");

float a,l;

a=Area();

l=Girth();

(reinterpret_cast(&a),sizeof(a));

(reinterpret_cast(&l),sizeof(l));

();

}

class Sca:public Base eo");

float a,l;

(reinterpret_cast(&a),sizeof(a));

(reinterpret_cast(&l),sizeof(l));

();

cout<

}

void Sca::printtofile()

{

char s[20];

cout<

cin>>s;

ofstream file(s,ios_base::app|ios_base::binary);strcat(s,".geo");

float a,l;

a=Area();

l=Girth();

(reinterpret_cast(&a),sizeof(a));

(reinterpret_cast(&l),sizeof(l));

();

}

class Tra eo");

float a,l;

(reinterpret_cast(&a),sizeof(a));

(reinterpret_cast(&l),sizeof(l));

();

cout<

}

void Tra::printtofile()

{

char s[20];

cout<

cin>>s;

ofstream file(s,ios_base::app|ios_base::binary);strcat(s,".geo");

float a,l;

a=Area();

l=Girth();

(reinterpret_cast(&a),sizeof(a));

(reinterpret_cast(&l),sizeof(l));

();

}

int Positive(float h,float l)

{

if(h>0&&l>0) return 1;

else throw 0;

}

int Positive(float r)

{

if(r>0) return 1;

else throw 0;

}

void Rectangle()

{

cout<

float h,l,x,y;

cout<

cin>>x>>y;

cout<

cin>>h>>l;

try

{

Positive(h,l);

Point a(x,y);

Rec m(a,h,l);

cout<<"面积:"<<()<<"周长:"<<();

();

}catch(int)

{

cout<<"输入数据有误,请重输!"<

}

}

void Triangle()

{

int x1,y1,x2,y2,x3,y3;

cout<

cout<

cin>>x1>>y1;

cout<

cin>>x2>>y2;

cout<

cin>>x3>>y3;

Point a(x1,y1),b(x2,y2),c(x3,y3);

Tri t(a,b,c);

cout<<"面积:"<<()<<"周长:"<<()<

();

}

void Circle()

{

int x1,y1,r;

cout<

cout<

cin>>x1>>y1;

cout<

cin>>r;

Point a(x1,y1);

Cir c(a,r);

cout<<"面积:"<<()<<"周长:"<<()<

();

}

void Scall()

{

int x1,y1,r,b;

cout<

cout<

cin>>x1>>y1;

cout<

cin>>r;

cout<

cin>>b;

Point a(x1,y1);

Sca c(a,r,b);

cout<<"面积:"<<()<<"周长:"<<()<

();

}

void Trape()

{

int x1,y1,l,r,l1,l2,h;

cout<

cout<

cin>>x1>>y1;

cout<

cin>>l1;

cout<

cin>>l2;

cout<

cin>>l;

cout<

cin>>r;

cout<

cin>>h;

Point a(x1,y1);

Tra t(a,l,r,l1,l2,h);

cout<<"面积:"<<()<<"周长:"<<()<

();

}

void Sort(float a[],float z[],int count)

{

for(int i=0;i

for(int j=i;j

{

if(a[j]

{

float t=a[i];

a[i]=a[j];

a[j]=t;

float m=z[i];

z[i]=z[j];

z[j]=m;

}

}

}

void Output(const float a[],const float z[],const int count) {

cout<<"面积: "<<"周长: "<

for(int i=0;i

cout<

}

void Load()

{

cout<<"请输入要显示的文件名!"<

char s[20];

int i=0;

float a[100],z[100];

cin>>s;

ifstream file(s);

(0);

int count=0;

while(file)

{

count++;

(reinterpret_cast(&a[i]),sizeof(a[i]));

(reinterpret_cast(&z[i]),sizeof(z[i]));

i++;

}

Sort(a,z,count-1);

cout<<"输出结果按面积大小排序"<

Output(a,z,count-1);

}

void Menu()

{

while(1)

{

cout<>>>>>>>>>欢迎进入几何图形世界<<<<<<<<<<"<

cout<<" | A:矩形世界

|"<

cout<<" | B:三角型世界

|"<

cout<<" | C:圆形世界

|"<

cout<<" | D:扇型世界

|"<

cout<<" | E:梯形世界

|"<

cout<<" | F:从文件输出

|"<

cout<<" | G:退出

|"<

cout<>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<< <<<"<

cout<<"请选择你要操作的图形代号:"<

char num;

cin>>num;

switch(num)

{

case'a':

case'A':Rectangle();break;

case'b':

case'B':Triangle();break;

case'c':

case'C':Circle();break;

case'd':

case'D':Scall();break;

case'e':

case'E':Trape();break;

case'f':

case'F':Load();break;

case'g':

case'G':exit(0);

default:break;

}

}

}

int main(int argc, char* argv[]) {

Menu();

return 0;

}

相关主题
相关文档
最新文档