用c++6.0从键盘上输入三个数,判断能否构成三角形,如果能则输出三角形面积,否则输出no
时间: 2024-05-03 13:23:15 浏览: 78
以下是用C++语言实现的代码:
```c++
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c;
printf("请输入三个数,用空格隔开:");
scanf("%lf %lf %lf", &a, &b, &c);
if (a + b > c && a + c > b && b + c > a) {
double p = (a + b + c) / 2;
double area = sqrt(p * (p - a) * (p - b) * (p - c));
printf("三角形面积为:%.2lf\n", area);
} else {
printf("no\n");
}
return 0;
}
```
程序首先使用`scanf`函数从键盘上输入三个数,并且使用`%lf`格式符读取`double`类型的数据。接着使用`if`语句判断这三个数能否构成三角形,如果能,则计算三角形的面积并输出;否则输出`no`。计算三角形面积使用海伦公式,即:
$$
S = \sqrt{p(p-a)(p-b)(p-c)}
$$
其中,$a$、$b$、$c$ 分别为三角形的三条边长,$p$ 为半周长,即:
$$
p = \frac{a+b+c}{2}
$$
最后,使用`printf`函数输出结果。注意,使用`%.2lf`格式符可以将输出结果限制为两位小数。
相关问题
visual c++ 6.0使用方法
Visual C++ 6.0是一款由微软公司开发的集成开发环境(IDE),主要用于Windows平台下的C++应用程序开发。以下是基本的使用步骤:
1. **安装**:首先下载并运行安装程序,按照向导完成安装,通常会包含Visual Studio IDE、编译器和其他必要的工具。
2. **启动**:打开Microsoft Visual C++ 6.0,它可能会显示一个欢迎界面,然后你可以看到主菜单栏,包括文件、编辑、查看、项目、工具等选项。
3. **创建新项目**:点击"文件" > "新建" > "工程",选择你需要的应用类型(如控制台应用、MFC应用等),填写项目名称和保存位置。
4. **编写代码**:在工作区中可以添加源代码文件 (.cpp) 和头文件 (.h),通过编辑窗口输入C++代码,并利用IDE的智能感知功能辅助编写。
5. **构建与调试**:在项目管理视图中设置好构建规则,点击"Build"或使用快捷键F7编译项目;如果需要调试,可以在"Debug"模式下设置断点,使用"Debug"菜单或F9运行程序。
6. **运行与测试**:程序编译成功后,可以点击绿色三角形图标直接运行,或者从"调试"菜单选择"开始调试"。
抽象基类Shape派生3个类 声明抽象基类Shape,由它派生出三个类,圆形Circle,矩形Rectangle,三角形Triangle,用一个函数输出三个面积。以上是一个c++题目请帮我写一份实验报告
实验报告:抽象基类Shape派生3个类
实验目的
本实验旨在通过设计一个抽象基类Shape及其派生类Circle、Rectangle、Triangle,掌握C++中的抽象类、纯虚函数、多态等概念,以及类的继承和多态性的实现方法。
实验原理
抽象类
在C++中,抽象类是不能被实例化的类。它们仅用于作为其他类的基类,以便其他类可以继承它们的成员函数。抽象类中有一个或多个纯虚函数,这些纯虚函数没有函数体,需要由其派生类实现。
纯虚函数
纯虚函数是抽象类中的一种特殊函数,它是没有函数体的虚函数。纯虚函数必须在派生类中被重新定义,以便实现多态性。
多态性
多态性是指同一个函数名称可以在不同的类中使用,并且有不同的实现方式。在C++中,多态性通过函数重载和函数重写来实现。
类的继承
类的继承是指一个新类可以从一个现有的类中派生,从而获得现有类的属性和方法。派生类可以访问基类的公有成员函数和数据成员,但不能访问基类的私有成员函数和数据成员。
实验步骤
1.设计抽象基类Shape
抽象基类Shape中声明一个纯虚函数getArea(),用于求面积,代码如下:
```c++
class Shape {
public:
virtual double getArea() = 0;
};
```
2.设计派生类Circle
派生类Circle从抽象基类Shape中继承getArea()函数,并实现计算圆形面积的方法,代码如下:
```c++
class Circle : public Shape {
public:
Circle(double r) : radius(r) {}
double getArea() override {
return 3.14 * radius * radius;
}
private:
double radius;
};
```
3.设计派生类Rectangle
派生类Rectangle从抽象基类Shape中继承getArea()函数,并实现计算矩形面积的方法,代码如下:
```c++
class Rectangle : public Shape {
public:
Rectangle(double w, double h) : width(w), height(h) {}
double getArea() override {
return width * height;
}
private:
double width, height;
};
```
4.设计派生类Triangle
派生类Triangle从抽象基类Shape中继承getArea()函数,并实现计算三角形面积的方法,代码如下:
```c++
class Triangle : public Shape {
public:
Triangle(double b, double h) : base(b), height(h) {}
double getArea() override {
return 0.5 * base * height;
}
private:
double base, height;
};
```
5.测试
在主函数中,定义三个对象c、r、t分别属于Circle、Rectangle、Triangle类,并用一个函数输出它们的面积,代码如下:
```c++
void printArea(Shape& s) {
cout << "The area is: " << s.getArea() << endl;
}
int main() {
Circle c(3.0);
Rectangle r(4.0, 5.0);
Triangle t(6.0, 7.0);
printArea(c);
printArea(r);
printArea(t);
return 0;
}
```
运行结果如下:
```
The area is: 28.26
The area is: 20
The area is: 21
```
实验结论
本实验通过设计一个抽象基类Shape及其派生类Circle、Rectangle、Triangle,掌握了C++中的抽象类、纯虚函数、多态等概念,以及类的继承和多态性的实现方法。在程序中,通过定义一个函数printArea(),实现了输出不同形状面积的功能。
阅读全文