跳过正文
Background Image
  1. Posts/

C-Language 计算图形的面积

·590 字·2 分钟· ·
沈显鹏
作者
沈显鹏
#include "stdafx.h"
#include <stdio.h>


/*
计算图形的面积:
1. 圆的面积 = π * radius * radius
2. 矩形面积 = weight * height
3. 三角形面积 = 1/2 * weight * height
@author Xianpeng Shen
*/

double calcCircle(double);
double calcSquare(double, double);
double calcTriangle(double, double);
int validate(double);

int main()
{
    int choice;                // 用户选择
    double area;               // 图形面积
    double radius;             // 圆半径
    double weight, height;     // 图形的宽和高
    printf("1. 圆\n2. 矩形\n3. 三角形\n");
    printf("本系统支持三种图形面积计算,请选择:");
    scanf_s("%d", &choice);
    while (choice > 3 || choice < 1) {
        printf("只能输入1~3整数,请重新输入:");
        scanf_s("%d", &choice);
    }

    switch (choice)
    {
    case 1:
        printf("请输入圆的半径:");
        do
        {
            scanf_s("%lf", &radius);
            if (!(validate(radius))) {
                printf("不能为负数,请重新输入一个整数:");
            }
        } while (!validate(radius));
        area = calcCircle(radius);
        break;
    case 2:
        printf("请输入矩形的长和宽:");
        do
        {
            scanf_s("%lf%lf", &weight, &height);
            if (!validate(weight) || !validate(height)) {
                printf("不能为负数,请重新输入两个正数:");
            }
        } while (!validate(weight) || !validate(height));
        area = calcSquare(weight, height);
        break;
    case 3:
        printf("请输入三角形的底和高:");
        do
        {
            scanf_s("%lf%lf", &weight, &height);
            if (!validate(weight) || !validate(height)) {
                printf("不能为负数,请重新输入两个正数:");
            }
        } while (!validate(weight) || !validate(height));
        area = calcTriangle(weight, height);
        break;
    default:
        printf("只能输入1~3整数,请重新输入:");
        break;
    }
    printf("图形面积为:%.2lf\n", area);
}

double calcCircle(double radius)
{
    return 3.14 * radius * radius;
}

double calcSquare(double weight, double height)
{
    return weight * height;
}

double calcTriangle(double weight, double height)
{
    return weight * height / 2;
}

int validate(double num)
{
    return num > 0;        // 如果 num>0, 返回一个非零值,表示真。
}

相关文章

C-Language 自定义函数
·110 字·1 分钟
介绍 C 语言中自定义函数的基本概念和使用方法,包括函数的声明、定义和调用。
Error: Permission denied (publickey)
·276 字·1 分钟
本文介绍了如何在配置多个 SSH Git Key 时解决 “Permission denied (publickey)” 错误,确保 GitHub 和 Bitbucket 的 SSH 连接正常工作。
我眼中的高级测试工程师
·863 字·2 分钟
本文介绍了高级测试工程师所需的技能和经验,包括测试理论、业务能力、工具使用、代码能力等方面,帮助读者了解如何成为一名优秀的高级测试工程师。
DevOps 实践
·242 字·1 分钟
本文介绍了 DevOps 实践的核心概念、目标和实施方法,强调了持续集成、持续交付和自动化的重要性。
Jenkinsfile 配置
·256 字·1 分钟
本文介绍了如何使用 Jenkinsfile 配置 Jenkins Pipeline,包括构建、测试和发布阶段的示例,以及如何处理邮件通知。
Git 命令备忘
·188 字·1 分钟
本文总结了 Git 的常用命令和技巧,帮助开发者快速查找和使用 Git 命令,提高工作效率。