福建工程学院计算机与信息科学系实验报告H,L H,L H,L H,L H,LPRINTTOFILE LOADSORTOUTPUT记录每次实验结果以及分析情况开始界面:矩形:三角形:圆:扇形:梯形:文件输出:总结以及心得体会填写内容时,可把表格扩大。
实验的源程序代码(要有注释)附在表后。
eo");float a,l;(reinterpret_cast<char*>(&a),sizeof(a));(reinterpret_cast<char*>(&l),sizeof(l));();cout<<a<<l;}void Rec::printtofile(){char s[20];cout<<endl<<"请输入你要保存的文件名!"<<endl;cin>>s;ofstream file(s,ios_base::app|ios_base::binary);strcat(s,".geo");float a,l;a=Area();l=Girth();(reinterpret_cast<char*>(&a),sizeof(a));(reinterpret_cast<char*>(&l),sizeof(l));();}class Tri:public Base eo");float a,l;(reinterpret_cast<char*>(&a),sizeof(a));(reinterpret_cast<char*>(&l),sizeof(l));();cout<<a<<l;}void Tri::printtofile(){char s[20];cout<<endl<<"请输入你要保存的文件名!"<<endl;cin>>s;ofstream file(s,ios_base::app|ios_base::binary);strcat(s,".geo");float a,l;a=Area();l=Girth();(reinterpret_cast<char*>(&a),sizeof(a));(reinterpret_cast<char*>(&l),sizeof(l));();}class Cir:Base eo");float a,l;(reinterpret_cast<char*>(&a),sizeof(a));(reinterpret_cast<char*>(&l),sizeof(l));();cout<<a<<l;}void Cir::printtofile(){char s[20];cout<<endl<<"请输入你要保存的文件名!"<<endl;cin>>s;ofstream file(s,ios_base::app|ios_base::binary);strcat(s,".geo");float a,l;a=Area();l=Girth();(reinterpret_cast<char*>(&a),sizeof(a));(reinterpret_cast<char*>(&l),sizeof(l));();}class Sca:public Base eo");float a,l;(reinterpret_cast<char*>(&a),sizeof(a));(reinterpret_cast<char*>(&l),sizeof(l));();cout<<a<<l;}void Sca::printtofile(){char s[20];cout<<endl<<"请输入你要保存的文件名!"<<endl;cin>>s;ofstream file(s,ios_base::app|ios_base::binary);strcat(s,".geo");float a,l;a=Area();l=Girth();(reinterpret_cast<char*>(&a),sizeof(a));(reinterpret_cast<char*>(&l),sizeof(l));();}class Tra eo");float a,l;(reinterpret_cast<char*>(&a),sizeof(a));(reinterpret_cast<char*>(&l),sizeof(l));();cout<<a<<l;}void Tra::printtofile(){char s[20];cout<<endl<<"请输入你要保存的文件名!"<<endl;cin>>s;ofstream file(s,ios_base::app|ios_base::binary);strcat(s,".geo");float a,l;a=Area();l=Girth();(reinterpret_cast<char*>(&a),sizeof(a));(reinterpret_cast<char*>(&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<<endl<<"请输入矩形的描述数据:"<<endl<<endl;float h,l,x,y;cout<<endl<<"左上顶点坐标:格式(1 2)";cin>>x>>y;cout<<endl<<"长,宽:格式(2 3)";cin>>h>>l;try{Positive(h,l);Point a(x,y);Rec m(a,h,l);cout<<"面积:"<<()<<"周长:"<<();();}catch(int){cout<<"输入数据有误,请重输!"<<endl;}}void Triangle(){int x1,y1,x2,y2,x3,y3;cout<<endl<<"请输入三角形的描述数据:"<<endl;cout<<endl<<"第一个坐标::格式(1 2)";cin>>x1>>y1;cout<<endl<<"第二个坐标::格式(1 2)";cin>>x2>>y2;cout<<endl<<"第三个坐标::格式(1 2)";cin>>x3>>y3;Point a(x1,y1),b(x2,y2),c(x3,y3);Tri t(a,b,c);cout<<"面积:"<<()<<"周长:"<<()<<endl;();}void Circle(){int x1,y1,r;cout<<endl<<"请输入圆形的描述数据:"<<endl;cout<<endl<<"坐标::格式(1 2)";cin>>x1>>y1;cout<<endl<<"半径:";cin>>r;Point a(x1,y1);Cir c(a,r);cout<<"面积:"<<()<<"周长:"<<()<<endl;();}void Scall(){int x1,y1,r,b;cout<<endl<<"请输入扇形的描述数据:"<<endl;cout<<endl<<"坐标::格式(1 2)";cin>>x1>>y1;cout<<endl<<"半径: ";cin>>r;cout<<endl<<"弧度: ";cin>>b;Point a(x1,y1);Sca c(a,r,b);cout<<"面积:"<<()<<"周长:"<<()<<endl;();}void Trape(){int x1,y1,l,r,l1,l2,h;cout<<endl<<"请输入梯形的描述数据:"<<endl;cout<<endl<<"左上坐标::格式(1 2)";cin>>x1>>y1;cout<<endl<<"上边: ";cin>>l1;cout<<endl<<"下边: ";cin>>l2;cout<<endl<<"左边: ";cin>>l;cout<<endl<<"右边: ";cin>>r;cout<<endl<<"高: ";cin>>h;Point a(x1,y1);Tra t(a,l,r,l1,l2,h);cout<<"面积:"<<()<<"周长:"<<()<<endl;();}void Sort(float a[],float z[],int count){for(int i=0;i<count-1;i++)for(int j=i;j<count;j++){if(a[j]<a[i]){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<<"面积: "<<"周长: "<<endl;for(int i=0;i<count;i++)cout<<a[i]<<" "<<z[i]<<endl;}void Load(){cout<<"请输入要显示的文件名!"<<endl;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<char*>(&a[i]),sizeof(a[i]));(reinterpret_cast<char*>(&z[i]),sizeof(z[i]));i++;}Sort(a,z,count-1);cout<<"输出结果按面积大小排序"<<endl;Output(a,z,count-1);}void Menu(){while(1){cout<<endl<<" >>>>>>>>>>欢迎进入几何图形世界<<<<<<<<<<"<<endl<<endl;cout<<" | A:矩形世界|"<<endl;cout<<" | B:三角型世界|"<<endl;cout<<" | C:圆形世界|"<<endl;cout<<" | D:扇型世界|"<<endl;cout<<" | E:梯形世界|"<<endl;cout<<" | F:从文件输出|"<<endl;cout<<" | G:退出|"<<endl;cout<<endl<<" >>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<< <<<"<<endl;cout<<"请选择你要操作的图形代号:"<<endl;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;}。