C++编程。编写一个关于圆形、长方形和直角三角形程序。

编写一个关于圆形、长方形和直角三角形程序•功能要求:程序运行时,显示菜单选择,提示用户选择哪种几何图形或退出程序,然后再提示用户输入相关参数,例如半径、长宽、... 编写一个关于圆形、长方形和直角三角形程序
•功能要求:程序运行时,显示菜单选择,提示用户选择哪种几何图形或退出程序,然后再提示用户输入相关参数,例如半径、长宽、或底边和高,最后根据输入参数计算并显示几何图形的面积和周长。循环显示菜单选择,如果用户选择了退出程序,则程序结束
•技术要求
1.使用结构化程序设计方法设计并编写程序CTest1。使用函数实现计算面积和周长的功能
2.使用面向对象程序设计方法设计并编写程序CTest2。分别定义圆形类、长方形类和直角三角形类,类中应包含相应的数据成员和函数成员,并分别定义构造函数和拷贝构造函数
展开
 我来答
匿名用户
2015-01-07
展开全部

CTest1

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
while (true)
{
cout << "1.圆形" << endl;
cout << "2.长方形" << endl;
cout << "3.直角三角形" << endl;
cout << "4.退出" << endl;
int choice;
cin >> choice;
system("cls");
if (choice == 4)
break;
switch (choice)
{
case 1:{
double r = 0;
cout << "请输入圆形的半径:"; cin >> r;
cout << "圆形的面积:" << 3.14 * r * r << endl
<< "周长:" << 3.14 * 2 * r;
}break;
case 2:{
double l = 0.0, w = 0.0;
cout << "请输入长方形的长和宽"<<endl;
cout << "长:"; cin >> l;
cout << "宽:"; cin >> w;
cout << "长方形的面积:" << l * w << endl
<< "周长:" << 2 * (l + w);
}break;
case 3:{
double b = 0.0, h = 0.0;
cout << "请输入直角三角形的长和宽" << endl;
cout << "底:"; cin >> b;
cout << "高:"; cin >> h;
cout << "长方形的面积:" << 0.5 * b * h << endl
<< "周长:" << (b + h + sqrt(b*b + h*h));
}break;
default:break;
}
getchar(); getchar();
system("cls");
}

//getchar();getchar();
system("pause");
return 0;
}

 执行结果:


CTest2

#include <iostream>
#include <cmath>
using namespace std;

class Circle
{
public:
Circle(double r) : radius(r){}
double area(){ return 3.14*radius*radius; }
double girth(){ return 3.14 * 2 * radius; }
private:
double radius;
};

class Rect
{
public:
Rect(double l, double w) : length(l), width(w){}
double area(){ return length * width;}
double girth(){ return 2 * (length + width); }
private:
double length;
double width;
};

class Tri
{
public:
Tri(double b, double h) : bottom(b), height(h){}
double area(){ return 0.5*bottom*height; }
double girth(){ return (bottom + height + sqrt(bottom*bottom + height*height)); }
private:
double bottom;
double height;
};


int main()
{
while (true)
{
cout << "1.圆形" << endl;
cout << "2.长方形" << endl;
cout << "3.直角三角形" << endl;
cout << "4.退出" << endl;
int choice;
cin >> choice;
system("cls");
if (choice == 4)
break;
switch (choice)
{
case 1:{
double r = 0;
cout << "请输入圆形的半径:"; cin >> r;
Circle circle(r);
cout << "圆形的面积:" << circle.area() << endl
<< "周长:" << circle.girth();
}break;
case 2:{
double l = 0.0, w = 0.0;
cout << "请输入长方形的长和宽"<<endl;
cout << "长:"; cin >> l;
cout << "宽:"; cin >> w;
Rect rect(l, w);
cout << "长方形的面积:" << rect.area() << endl
<< "周长:" << rect.girth();
}break;
case 3:{
double b = 0.0, h = 0.0;
cout << "请输入直角三角形的长和宽" << endl;
cout << "底:"; cin >> b;
cout << "高:"; cin >> h;
Tri tri(b, h);
cout << "长方形的面积:" << tri.area() << endl
<< "周长:" << tri.girth();
}break;
default:break;
}
getchar(); getchar();
system("cls");
}

//getchar();getchar();
system("pause");
return 0;
}

 执行结果:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式