#include<bits/stdc++.h> using namespace std; int main(){ while(99%2){
int o;
cout<<"请问你要计算以下那种计算:\n 1.周长 2.面积 3.表面积 4体积。\n";
cin>>o;
if(o==1){
cout<<"请选择:1.长方形 2.正方形 3.三角形 4.平行四边形 5.梯形 6.n边形 7.圆形 8.半圆\n";
int n;
cin>>n;
if(n==1){
cout<<"请输入长方形的长and宽。\n";
double c,k;
cout<<"长:";
cin>>c;
cout<<"\n宽:";
cin>>k;
cout<<"\n长方形的周长为"<<(c+k)*2<<"。\n";
}
else if(n==2){
cout<<"请输入正方形的边长。\n";
double x;
cout<<"边长:" ;
cin>>x;
cout<<"正方形的周长为"<<4*x<<"。\n";
}
else if(n==3){
cout<<"请输入三角形的三条边长。\n";
double k,l,j;
cout<<"边长:";
cin>>k>>l>>j;
cout<<"三角形的周长为" <<k+j+l<<"。\n";
}
else if(n==4){
cout<<"请输入平行四边形的底and腰。\n";
double d,y;
cout<<"底:";
cin>>d;
cout<<"腰:";
cin>>y;
cout<<"平行四边形的周长为"<<2*(d+y)<<"。\n";
}
else if(n==5){
cout<<"请输入梯形的上,下底and2条腰。\n";
int y1,y2,d1,d2;
cout<<"上底:";
cin>>d1;
cout<<"下底:";
cin>> d2;
cout<<"腰:";
cin>>y1>>y2;
cout<<"梯形的周长为"<<d1+d2+y1+y2<<"。\n";
}else if(n==6){
int k=0;
double a[20000],m;
cout<<"这个n边形有几条边?";
cin>>m;
for(int i=3;i<=n;i++){
cout<<"第"<<i-2<<"边长";
cin>>a[i];
cout<<"。";
k+=a[i];
}
cout<<"这个n边形的周长为"<<k<<"。\n";
}
else if(n==7){
cout<<"请输入圆形的半径:";
double r;
cin>>r;
cout<<"这个圆形的周长为"<<3.14*2.00*r<<"。\n";
} else if(n==8){
cout<<"请输入半圆的半径:";
double r;
cin>>r;
cout<<"这个半圆的周长为"<<r*2.0+r*3.14<<"。\n";
}
else {
cout<<"你输入数字让我大脑瓦特,请重新输入";
}
cout<<"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
}
} return 0; }
共 9 条回复
以下是对代码的一些改进建议:
引入合适的头文件:您可以根据需要引入特定的头文件,而不是使用<bits/stdc++.h>。例如,如果您需要使用输入输出流,可以包含;如果您需要使用数学函数,可以包含。
使用函数进行模块化:将不同的计算逻辑封装在独立的函数中,以提高代码的可读性和可维护性。例如,您可以创建一个名为calculatePerimeter的函数来计算周长,并根据不同的形状类型调用相应的函数。
添加错误处理和输入验证:在接受用户输入之前,可以添加错误处理和输入验证的逻辑,以确保用户提供有效的输入。例如,您可以检查用户输入的数字是否在有效范围内,并提示用户重新输入。
使用常量代替魔法数:在代码中使用命名的常量来代替魔法数,可以提高代码的可读性和可维护性。例如,您可以定义一个名为PI的常量来表示圆周率。
提供更友好的交互界面:可以改进用户界面,使其更加直观和友好。例如,您可以在每个计算选项后面添加相应的提示,以帮助用户理解并输入正确的值。
这些只是一些改进的建议,具体取决于您的需求和偏好。希望对您有所帮助! 我将对您的代码进行改进并使其更加模块化和易于阅读。以下是改进后的代码:
改进点 模块化:将每种形状的周长计算独立为函数,增强代码的可读性和可维护性。 常量使用:使用常量代替魔法数,例如PI。 交互提示:在用户输入时添加了更多的提示信息,使交互界面更加友好。 这样不仅使代码更清晰,也方便以后进行扩展和维护。
我的计算几何板子:
你来做啊
歼十改是吧 @lixinyan
有兴趣的话可以考虑一起开发qwq
下面这个是我之前的开发版本,你可以康康,借鉴一下
http://st.cpolar.cn/article/4215
你可以用switch
注:作者才刚学完中级班