编写一个程序计算三角形、正方形和圆形三种图形的面积。

编写一个程序计算三角形、正方形和圆形三种图形的面积。,第1张

#include<iostream>

using namespace std

class base

{

public:

virtual void disp()

}

class triangle:public base

{

private:

double bottom

double height

public:

triangle(double b,double h)

{

bottom = b

height = h

}

void disp()

{

cout<<"三角形面积:"<<bottom * height / 2<<endl

}

}

class square:public base

{

private :

double a

public:

square(double a1)

{

a = a1

}

void disp()

{

cout<<"正方形面积:"<<a * a<<endl

}

}

#define  pi 3.1415

class circle:public base

{

private:

double r

public:

circle(double r1)

{

r = r1

}

void disp()

{

cout<<"圆形面积:"<<pi * r  * r<<endl

}

}

int main() {

base *p

triangle t(20, 20) //第一个参数为三角形底边,第二个参数为底边上的高

square s(20)

circle c(20)

p = &t

p->disp()

p = &s

p->disp()

p = &c

p->disp()

return 0

}

扩展资料:

编译方式下,首先通过一个对应于所用程序设计语言的编译程序对源程序进行处理,经过对源程序的词法分析、语法分析、语意分析、代码生成和代码优化等阶段将所处理的源程序转换为用二进制代码表示的目标程序。

然后通过连接程序处理将程序中所用的函数调用、系统功能调用等嵌入到目标程序中,构成一个可以连续执行的二进制执行文件。调用这个执行文件就可以实现程序员在对应源程序文件中所指定的相应功能。

参考资料来源:百度百科-编程

#include<stdio.h>

void menu()

{

printf(" |++++++++++++++ 1圆形面积 +++++++++++++|\n")

printf(" |++++++++++++++ 2长方形面积 +++++++++++++|\n")

printf(" |++++++++++++++ 3正方型面积 +++++++++++++|\n")

printf(" |++++++++++++++ 4结束 +++++++++++++|\n")

}

main()

{

double r,a,b,pai=3.14,mianji

int choice=0

while(1)

{

if(choice==4)

break

menu()

printf("请选择1,2,3,4:")

scanf("%d",&choice)

switch(choice)

{

case 1:

{

printf("请输入半径r:")

scanf("%lf",&r)

mianji=pai*r*r

printf("面积是%lf\n",mianji)

}break

case 2:

{

printf("请输入长a:")

scanf("%lf",&a)

printf("请输入宽b:")

scanf("%lf",&b)

mianji=a*b

printf("面积是%lf\n",mianji)

}break

case 3:

{

printf("请输入边长a:")

scanf("%lf",&a)

mianji=a*a

printf("面积是%lf\n",mianji)

}break

}

}

}

代码如下:

abstract class Shape {

public abstract double getArea()

public abstract double getPerimeter()

}

class Circle extends Shape {

private double radius

public Circle(double radius) {

this.radius = radius

}

@Override

public double getArea() {

return Math.PI * radius * radius

}

@Override

public double getPerimeter() {

return 2 * Math.PI * radius

}

}

class Rectangle extends Shape {

private double width

private double height

public Rectangle(double width, double height) {

this.width = width

this.height = height

}

@Override

public double getArea() {

return width * height

}

@Override

public double getPerimeter() {

return (width + height) * 2

}

}

public class ShapeTest {

public static void main(String[] args) {

Circle circle = new Circle(5)

System.out.println("圆面积:" + circle.getArea() + ",圆周长:" + circle.getPerimeter())

Rectangle rect = new Rectangle(6, 9)

System.out.println("矩形面积:" + rect.getArea() + ",矩形周长:" + rect.getPerimeter())

}

}

运行结果:


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8972213.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存