栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

写一个程序,该程序首先提示用户选择几何图形,然后提示用户输入适当的图形参数,最后根据不同类型的图形分别输出其平面面积,C语言

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

写一个程序,该程序首先提示用户选择几何图形,然后提示用户输入适当的图形参数,最后根据不同类型的图形分别输出其平面面积,C语言

初学,C语言,望指正

主要为了记录一下自己的学习历程

#include
#define PI 3.1415926
enum shape{traingle,rectangle,circular
};
struct traingle
{
    double base;
    double height;
    double square1;
};
struct rectangle
{
    double length;
    double width;
    double square2;
};
struct circular
{
    double radius;
    double square3;
};
int main()
{
    int i=1,j=0,a=0,b=0,u=0;
    struct traingle t[100];
    struct rectangle r[100];
    struct circular c[100];
    double square,square1,square2,square3,aver;
    enum shape x;
    while(i!=0)
    {
        printf("请输入几何图形:1-三角形,2-长方形,3-圆形,0-选择结束:");
        scanf("%d",&i);
        if(i==0){
            break;
        }
        switch(i) 
        {
            case 1:x=traingle;
            break;
            case 2:x=rectangle;
            break;
            case 3:x=circular;
            break; 
        }
        switch(x)
        {
            case traingle:
            printf("请输入三角形的底和高(用空格隔开)n:");
            scanf("%lf %lf",&t[j].base,&t[j].height);
            t[j].square1=t[j].base*t[j].height/2;
            printf("三角形的面积为%lfn",t[j].square1);
            j++;
            break;
            case rectangle:
            printf("请输入长方形的长和宽(用空格隔开):");
            scanf("%lf %lf",&r[a].length,&r[a].width);
            r[a].square2=r[a].length*r[a].width;
            printf("长方形的面积为%lfn",r[a].square2);
            a++;
            break;
            case circular:
            printf("请输入圆形的半径:");
            scanf("%lf",&c[b].radius);
            c[b].square3=c[b].radius*c[b].radius*PI;
            printf("圆形的面积为%lfn",c[b].square3);
            b++;
            break;
        }
    
    }
    for(u=0;u     {
        square1+=t[u].square1;
    }
    printf("共有%d个三角形,总面积为%lfn",j,square1);
    for(u=0;u     {
        square2+=r[u].square2;
    }
    printf("共有%d个长方形,总面积为%lfn",a,square2);
    for(u=0;u     {
        square3+=c[u].square3;
    }
    printf("共有%d个圆形,总面积为%lfn",b,square3);
    square=square1+square2+square3;
    aver=(square1+square2+square3)/(j+a+b);
    printf("共有%d个图形,总面积为%lf,平均面积为%lf",j+a+b,square,aver);
    return 0;
}
主要运用到结构体和枚举,但枚举的体现不是很明显

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/702912.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号